From 1429a952435e9fc8858650af3f39610afac32482 Mon Sep 17 00:00:00 2001 From: brausjonas <47791011+jonasbraus@users.noreply.github.com> Date: Thu, 12 May 2022 11:02:58 +0200 Subject: [PATCH] Init --- Minecraft Client/.gitignore | 63 + .../.idea.Minecraft Client/.idea/.gitignore | 13 + .../.idea/encodings.xml | 4 + .../.idea/indexLayout.xml | 8 + Minecraft Client/Assets/.gitignore | 63 + Minecraft Client/Assets/Content.meta | 8 + ...ecraft-curseforge-round-minecraft-icon.png | Bin 0 -> 79840 bytes ...t-curseforge-round-minecraft-icon.png.meta | 108 ++ .../Assets/Content/BlockAtlas.png | Bin 0 -> 26196 bytes .../Assets/Content/BlockAtlas.png.meta | 108 ++ Minecraft Client/Assets/Content/Blocks.mat | 78 + .../Assets/Content/Blocks.mat.meta | 8 + Minecraft Client/Assets/Content/Minecraft.ttf | Bin 0 -> 14488 bytes .../Assets/Content/Minecraft.ttf.meta | 21 + ...dirt-grass-minecraft-wallpaper-preview.jpg | Bin 0 -> 13382 bytes ...grass-minecraft-wallpaper-preview.jpg.meta | 108 ++ Minecraft Client/Assets/Scenes.meta | 8 + Minecraft Client/Assets/Scenes/Game.meta | 8 + Minecraft Client/Assets/Scenes/Game.unity | 721 +++++++ .../Assets/Scenes/Game.unity.meta | 7 + .../Assets/Scenes/Game/LightingData.asset | Bin 0 -> 18208 bytes .../Scenes/Game/LightingData.asset.meta | 8 + .../Assets/Scenes/Game/ReflectionProbe-0.exr | Bin 0 -> 133554 bytes .../Scenes/Game/ReflectionProbe-0.exr.meta | 96 + Minecraft Client/Assets/Scenes/Login.unity | 1688 +++++++++++++++++ .../Assets/Scenes/Login.unity.meta | 7 + Minecraft Client/Assets/Scripts.meta | 8 + Minecraft Client/Assets/Scripts/Game.meta | 8 + Minecraft Client/Assets/Scripts/Game/Chunk.cs | 137 ++ .../Assets/Scripts/Game/Chunk.cs.meta | 11 + .../Assets/Scripts/Game/ChunkCoord.cs | 17 + .../Assets/Scripts/Game/ChunkCoord.cs.meta | 11 + .../Assets/Scripts/Game/Client.cs | 159 ++ .../Assets/Scripts/Game/Client.cs.meta | 11 + Minecraft Client/Assets/Scripts/Game/Data.cs | 53 + .../Assets/Scripts/Game/Data.cs.meta | 11 + .../Assets/Scripts/Game/Player.cs | 63 + .../Assets/Scripts/Game/Player.cs.meta | 11 + Minecraft Client/Assets/Scripts/Game/World.cs | 209 ++ .../Assets/Scripts/Game/World.cs.meta | 11 + Minecraft Client/Assets/Scripts/Login.meta | 8 + .../Assets/Scripts/Login/Login.cs | 40 + .../Assets/Scripts/Login/Login.cs.meta | 11 + Minecraft Client/Packages/manifest.json | 43 + Minecraft Client/Packages/packages-lock.json | 349 ++++ .../ProjectSettings/AudioManager.asset | 19 + .../ProjectSettings/ClusterInputManager.asset | 6 + .../ProjectSettings/DynamicsManager.asset | 34 + .../ProjectSettings/EditorBuildSettings.asset | 14 + .../ProjectSettings/EditorSettings.asset | 30 + .../ProjectSettings/GraphicsSettings.asset | 63 + .../ProjectSettings/InputManager.asset | 295 +++ .../ProjectSettings/NavMeshAreas.asset | 91 + .../PackageManagerSettings.asset | 43 + .../ProjectSettings/Physics2DSettings.asset | 56 + .../ProjectSettings/PresetManager.asset | 7 + .../ProjectSettings/ProjectSettings.asset | 701 +++++++ .../ProjectSettings/ProjectVersion.txt | 2 + .../ProjectSettings/QualitySettings.asset | 238 +++ .../ProjectSettings/TagManager.asset | 43 + .../ProjectSettings/TimeManager.asset | 9 + .../UnityConnectSettings.asset | 35 + .../ProjectSettings/VFXManager.asset | 12 + .../VersionControlSettings.asset | 8 + .../ProjectSettings/XRSettings.asset | 10 + Minecraft Server/.gitignore | 63 + .../.idea.Minecraft Server/.idea/.gitignore | 13 + .../.idea/encodings.xml | 4 + .../.idea/indexLayout.xml | 8 + Minecraft Server/Assets/.gitignore | 63 + Minecraft Server/Assets/Content.meta | 8 + ...-linux-commandline-interface-linux-ssh.png | Bin 0 -> 9427 bytes ...x-commandline-interface-linux-ssh.png.meta | 108 ++ Minecraft Server/Assets/Game.meta | 8 + Minecraft Server/Assets/Game/Chunk.cs | 55 + Minecraft Server/Assets/Game/Chunk.cs.meta | 11 + Minecraft Server/Assets/Game/ChunkCoord.cs | 17 + .../Assets/Game/ChunkCoord.cs.meta | 11 + Minecraft Server/Assets/Game/Data.cs | 53 + Minecraft Server/Assets/Game/Data.cs.meta | 11 + Minecraft Server/Assets/Game/Server.cs | 213 +++ Minecraft Server/Assets/Game/Server.cs.meta | 11 + Minecraft Server/Assets/Game/World.cs | 151 ++ Minecraft Server/Assets/Game/World.cs.meta | 11 + Minecraft Server/Assets/Scenes.meta | 8 + Minecraft Server/Assets/Scenes/Server.unity | 170 ++ .../Assets/Scenes/Server.unity.meta | 7 + Minecraft Server/Packages/manifest.json | 43 + Minecraft Server/Packages/packages-lock.json | 349 ++++ .../ProjectSettings/AudioManager.asset | 19 + .../ProjectSettings/ClusterInputManager.asset | 6 + .../ProjectSettings/DynamicsManager.asset | 34 + .../ProjectSettings/EditorBuildSettings.asset | 11 + .../ProjectSettings/EditorSettings.asset | 30 + .../ProjectSettings/GraphicsSettings.asset | 63 + .../ProjectSettings/InputManager.asset | 295 +++ .../ProjectSettings/NavMeshAreas.asset | 91 + .../PackageManagerSettings.asset | 43 + .../ProjectSettings/Physics2DSettings.asset | 56 + .../ProjectSettings/PresetManager.asset | 7 + .../ProjectSettings/ProjectSettings.asset | 701 +++++++ .../ProjectSettings/ProjectVersion.txt | 2 + .../ProjectSettings/QualitySettings.asset | 232 +++ .../ProjectSettings/TagManager.asset | 43 + .../ProjectSettings/TimeManager.asset | 9 + .../UnityConnectSettings.asset | 35 + .../ProjectSettings/VFXManager.asset | 12 + .../VersionControlSettings.asset | 8 + .../ProjectSettings/XRSettings.asset | 10 + 109 files changed, 9123 insertions(+) create mode 100644 Minecraft Client/.gitignore create mode 100644 Minecraft Client/.idea/.idea.Minecraft Client/.idea/.gitignore create mode 100644 Minecraft Client/.idea/.idea.Minecraft Client/.idea/encodings.xml create mode 100644 Minecraft Client/.idea/.idea.Minecraft Client/.idea/indexLayout.xml create mode 100644 Minecraft Client/Assets/.gitignore create mode 100644 Minecraft Client/Assets/Content.meta create mode 100644 Minecraft Client/Assets/Content/28-282231_minecraft-curseforge-round-minecraft-icon.png create mode 100644 Minecraft Client/Assets/Content/28-282231_minecraft-curseforge-round-minecraft-icon.png.meta create mode 100644 Minecraft Client/Assets/Content/BlockAtlas.png create mode 100644 Minecraft Client/Assets/Content/BlockAtlas.png.meta create mode 100644 Minecraft Client/Assets/Content/Blocks.mat create mode 100644 Minecraft Client/Assets/Content/Blocks.mat.meta create mode 100644 Minecraft Client/Assets/Content/Minecraft.ttf create mode 100644 Minecraft Client/Assets/Content/Minecraft.ttf.meta create mode 100644 Minecraft Client/Assets/Content/diamonds-dirt-grass-minecraft-wallpaper-preview.jpg create mode 100644 Minecraft Client/Assets/Content/diamonds-dirt-grass-minecraft-wallpaper-preview.jpg.meta create mode 100644 Minecraft Client/Assets/Scenes.meta create mode 100644 Minecraft Client/Assets/Scenes/Game.meta create mode 100644 Minecraft Client/Assets/Scenes/Game.unity create mode 100644 Minecraft Client/Assets/Scenes/Game.unity.meta create mode 100644 Minecraft Client/Assets/Scenes/Game/LightingData.asset create mode 100644 Minecraft Client/Assets/Scenes/Game/LightingData.asset.meta create mode 100644 Minecraft Client/Assets/Scenes/Game/ReflectionProbe-0.exr create mode 100644 Minecraft Client/Assets/Scenes/Game/ReflectionProbe-0.exr.meta create mode 100644 Minecraft Client/Assets/Scenes/Login.unity create mode 100644 Minecraft Client/Assets/Scenes/Login.unity.meta create mode 100644 Minecraft Client/Assets/Scripts.meta create mode 100644 Minecraft Client/Assets/Scripts/Game.meta create mode 100644 Minecraft Client/Assets/Scripts/Game/Chunk.cs create mode 100644 Minecraft Client/Assets/Scripts/Game/Chunk.cs.meta create mode 100644 Minecraft Client/Assets/Scripts/Game/ChunkCoord.cs create mode 100644 Minecraft Client/Assets/Scripts/Game/ChunkCoord.cs.meta create mode 100644 Minecraft Client/Assets/Scripts/Game/Client.cs create mode 100644 Minecraft Client/Assets/Scripts/Game/Client.cs.meta create mode 100644 Minecraft Client/Assets/Scripts/Game/Data.cs create mode 100644 Minecraft Client/Assets/Scripts/Game/Data.cs.meta create mode 100644 Minecraft Client/Assets/Scripts/Game/Player.cs create mode 100644 Minecraft Client/Assets/Scripts/Game/Player.cs.meta create mode 100644 Minecraft Client/Assets/Scripts/Game/World.cs create mode 100644 Minecraft Client/Assets/Scripts/Game/World.cs.meta create mode 100644 Minecraft Client/Assets/Scripts/Login.meta create mode 100644 Minecraft Client/Assets/Scripts/Login/Login.cs create mode 100644 Minecraft Client/Assets/Scripts/Login/Login.cs.meta create mode 100644 Minecraft Client/Packages/manifest.json create mode 100644 Minecraft Client/Packages/packages-lock.json create mode 100644 Minecraft Client/ProjectSettings/AudioManager.asset create mode 100644 Minecraft Client/ProjectSettings/ClusterInputManager.asset create mode 100644 Minecraft Client/ProjectSettings/DynamicsManager.asset create mode 100644 Minecraft Client/ProjectSettings/EditorBuildSettings.asset create mode 100644 Minecraft Client/ProjectSettings/EditorSettings.asset create mode 100644 Minecraft Client/ProjectSettings/GraphicsSettings.asset create mode 100644 Minecraft Client/ProjectSettings/InputManager.asset create mode 100644 Minecraft Client/ProjectSettings/NavMeshAreas.asset create mode 100644 Minecraft Client/ProjectSettings/PackageManagerSettings.asset create mode 100644 Minecraft Client/ProjectSettings/Physics2DSettings.asset create mode 100644 Minecraft Client/ProjectSettings/PresetManager.asset create mode 100644 Minecraft Client/ProjectSettings/ProjectSettings.asset create mode 100644 Minecraft Client/ProjectSettings/ProjectVersion.txt create mode 100644 Minecraft Client/ProjectSettings/QualitySettings.asset create mode 100644 Minecraft Client/ProjectSettings/TagManager.asset create mode 100644 Minecraft Client/ProjectSettings/TimeManager.asset create mode 100644 Minecraft Client/ProjectSettings/UnityConnectSettings.asset create mode 100644 Minecraft Client/ProjectSettings/VFXManager.asset create mode 100644 Minecraft Client/ProjectSettings/VersionControlSettings.asset create mode 100644 Minecraft Client/ProjectSettings/XRSettings.asset create mode 100644 Minecraft Server/.gitignore create mode 100644 Minecraft Server/.idea/.idea.Minecraft Server/.idea/.gitignore create mode 100644 Minecraft Server/.idea/.idea.Minecraft Server/.idea/encodings.xml create mode 100644 Minecraft Server/.idea/.idea.Minecraft Server/.idea/indexLayout.xml create mode 100644 Minecraft Server/Assets/.gitignore create mode 100644 Minecraft Server/Assets/Content.meta create mode 100644 Minecraft Server/Assets/Content/png-transparent-computer-terminal-linux-console-computer-icons-command-line-interface-linux-commandline-interface-linux-ssh.png create mode 100644 Minecraft Server/Assets/Content/png-transparent-computer-terminal-linux-console-computer-icons-command-line-interface-linux-commandline-interface-linux-ssh.png.meta create mode 100644 Minecraft Server/Assets/Game.meta create mode 100644 Minecraft Server/Assets/Game/Chunk.cs create mode 100644 Minecraft Server/Assets/Game/Chunk.cs.meta create mode 100644 Minecraft Server/Assets/Game/ChunkCoord.cs create mode 100644 Minecraft Server/Assets/Game/ChunkCoord.cs.meta create mode 100644 Minecraft Server/Assets/Game/Data.cs create mode 100644 Minecraft Server/Assets/Game/Data.cs.meta create mode 100644 Minecraft Server/Assets/Game/Server.cs create mode 100644 Minecraft Server/Assets/Game/Server.cs.meta create mode 100644 Minecraft Server/Assets/Game/World.cs create mode 100644 Minecraft Server/Assets/Game/World.cs.meta create mode 100644 Minecraft Server/Assets/Scenes.meta create mode 100644 Minecraft Server/Assets/Scenes/Server.unity create mode 100644 Minecraft Server/Assets/Scenes/Server.unity.meta create mode 100644 Minecraft Server/Packages/manifest.json create mode 100644 Minecraft Server/Packages/packages-lock.json create mode 100644 Minecraft Server/ProjectSettings/AudioManager.asset create mode 100644 Minecraft Server/ProjectSettings/ClusterInputManager.asset create mode 100644 Minecraft Server/ProjectSettings/DynamicsManager.asset create mode 100644 Minecraft Server/ProjectSettings/EditorBuildSettings.asset create mode 100644 Minecraft Server/ProjectSettings/EditorSettings.asset create mode 100644 Minecraft Server/ProjectSettings/GraphicsSettings.asset create mode 100644 Minecraft Server/ProjectSettings/InputManager.asset create mode 100644 Minecraft Server/ProjectSettings/NavMeshAreas.asset create mode 100644 Minecraft Server/ProjectSettings/PackageManagerSettings.asset create mode 100644 Minecraft Server/ProjectSettings/Physics2DSettings.asset create mode 100644 Minecraft Server/ProjectSettings/PresetManager.asset create mode 100644 Minecraft Server/ProjectSettings/ProjectSettings.asset create mode 100644 Minecraft Server/ProjectSettings/ProjectVersion.txt create mode 100644 Minecraft Server/ProjectSettings/QualitySettings.asset create mode 100644 Minecraft Server/ProjectSettings/TagManager.asset create mode 100644 Minecraft Server/ProjectSettings/TimeManager.asset create mode 100644 Minecraft Server/ProjectSettings/UnityConnectSettings.asset create mode 100644 Minecraft Server/ProjectSettings/VFXManager.asset create mode 100644 Minecraft Server/ProjectSettings/VersionControlSettings.asset create mode 100644 Minecraft Server/ProjectSettings/XRSettings.asset diff --git a/Minecraft Client/.gitignore b/Minecraft Client/.gitignore new file mode 100644 index 0000000..90758be --- /dev/null +++ b/Minecraft Client/.gitignore @@ -0,0 +1,63 @@ +# Modified from: +# https://github.com/github/gitignore/blob/master/Unity.gitignore + +/[Ll]ibrary/ +/[Uu]serSettings/ +[Tt]emp/ +[Oo]bj/ +/[Bb]uild/ +/[Bb]uilds/ +/[Ll]ogs/ +/[Mm]emoryCaptures/ + +# Uncomment this line if you wish to ignore the asset store tools plugin +# [Aa]ssets/AssetStoreTools* + +# Visual Studio cache directory +.vs/ + +# Gradle cache directory +.gradle/ + +# Autogenerated VS/MD/Consulo solution and project files +ExportedObj/ +.consulo/ +*.csproj +*.unityproj +*.sln +*.suo +*.tmp +*.user +*.userprefs +*.pidb +*.booproj +*.svd +*.pdb +*.mdb +*.opendb +*.VC.db + +# Unity3D generated meta files +*.pidb.meta +*.pdb.meta +*.mdb.meta + +# Unity3D generated file on crash reports +sysinfo.txt + +# Builds +*.apk +*.unitypackage + +# Crashlytics generated file +crashlytics-build.properties + +# Windows +Thumbs.db +Thumbs.db.meta + +# MacOS +*.DS_Store + +# VS Code +*.vscode \ No newline at end of file diff --git a/Minecraft Client/.idea/.idea.Minecraft Client/.idea/.gitignore b/Minecraft Client/.idea/.idea.Minecraft Client/.idea/.gitignore new file mode 100644 index 0000000..ad5e490 --- /dev/null +++ b/Minecraft Client/.idea/.idea.Minecraft Client/.idea/.gitignore @@ -0,0 +1,13 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Rider ignored files +/contentModel.xml +/projectSettingsUpdater.xml +/.idea.Minecraft Client.iml +/modules.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/Minecraft Client/.idea/.idea.Minecraft Client/.idea/encodings.xml b/Minecraft Client/.idea/.idea.Minecraft Client/.idea/encodings.xml new file mode 100644 index 0000000..df87cf9 --- /dev/null +++ b/Minecraft Client/.idea/.idea.Minecraft Client/.idea/encodings.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/Minecraft Client/.idea/.idea.Minecraft Client/.idea/indexLayout.xml b/Minecraft Client/.idea/.idea.Minecraft Client/.idea/indexLayout.xml new file mode 100644 index 0000000..7b08163 --- /dev/null +++ b/Minecraft Client/.idea/.idea.Minecraft Client/.idea/indexLayout.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/Minecraft Client/Assets/.gitignore b/Minecraft Client/Assets/.gitignore new file mode 100644 index 0000000..90758be --- /dev/null +++ b/Minecraft Client/Assets/.gitignore @@ -0,0 +1,63 @@ +# Modified from: +# https://github.com/github/gitignore/blob/master/Unity.gitignore + +/[Ll]ibrary/ +/[Uu]serSettings/ +[Tt]emp/ +[Oo]bj/ +/[Bb]uild/ +/[Bb]uilds/ +/[Ll]ogs/ +/[Mm]emoryCaptures/ + +# Uncomment this line if you wish to ignore the asset store tools plugin +# [Aa]ssets/AssetStoreTools* + +# Visual Studio cache directory +.vs/ + +# Gradle cache directory +.gradle/ + +# Autogenerated VS/MD/Consulo solution and project files +ExportedObj/ +.consulo/ +*.csproj +*.unityproj +*.sln +*.suo +*.tmp +*.user +*.userprefs +*.pidb +*.booproj +*.svd +*.pdb +*.mdb +*.opendb +*.VC.db + +# Unity3D generated meta files +*.pidb.meta +*.pdb.meta +*.mdb.meta + +# Unity3D generated file on crash reports +sysinfo.txt + +# Builds +*.apk +*.unitypackage + +# Crashlytics generated file +crashlytics-build.properties + +# Windows +Thumbs.db +Thumbs.db.meta + +# MacOS +*.DS_Store + +# VS Code +*.vscode \ No newline at end of file diff --git a/Minecraft Client/Assets/Content.meta b/Minecraft Client/Assets/Content.meta new file mode 100644 index 0000000..71d53a2 --- /dev/null +++ b/Minecraft Client/Assets/Content.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b11057991bd8e484abc38756aa98f7be +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Minecraft Client/Assets/Content/28-282231_minecraft-curseforge-round-minecraft-icon.png b/Minecraft Client/Assets/Content/28-282231_minecraft-curseforge-round-minecraft-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..63a14a2dbd9511e28201c60bbd21fcb82a5c9fe2 GIT binary patch literal 79840 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 RRHB-?0_YSSJJsK&{|#@JoO1vG literal 0 HcmV?d00001 diff --git a/Minecraft Client/Assets/Content/28-282231_minecraft-curseforge-round-minecraft-icon.png.meta b/Minecraft Client/Assets/Content/28-282231_minecraft-curseforge-round-minecraft-icon.png.meta new file mode 100644 index 0000000..f68b4bf --- /dev/null +++ b/Minecraft Client/Assets/Content/28-282231_minecraft-curseforge-round-minecraft-icon.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: 2700f8acb15b7d341942174f9c67b2ed +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Minecraft Client/Assets/Content/BlockAtlas.png b/Minecraft Client/Assets/Content/BlockAtlas.png new file mode 100644 index 0000000000000000000000000000000000000000..82c1b883c22d7e80a108fc2d97ebd48c397de591 GIT binary patch literal 26196 zcmeHw2UL?;w|20AB7!m?s5G%7kPv!TKtZJm3?My(0HGw9gkB<|AT~r)IuQ{VhAz^j zC{mQF484og5Q<0%^*>m~%#8Cf_y6ww?z(HiQaPM=pZ%Wm>~fyHSt|x=YpU*K+{Xxk zKz5#0Q_+Dy=)jN;vW*^mGr|304Zdx6QoD$UKz97J_LmM45yc6Coa#mE84?UN)Mb!Z zM`45&))FP`=I8{ZArLu5Hzx$r9!21@MA@J*^86EpCH#D7D|vncaSfP;lQPN{t>%G4 z>3V4DAwBGo(pLP63XF1YGC+YNih$sAb9BJqW!&WXKkJnNleQQ zBN)lytgK~pRL*>T9r#I}-oo1v@{e3hr;1PKtc%bjv*l2 zgfRGnUzB{)qk_UCacCz38jImu(~GdgIuqpi`PW|b``6cVIXeCRA`Jd3b^t}F8^Q@H zA`FB6Xpt52_ccz=IET+$vqC~q4k$+yhJXj_M1HsqK&qkf`_do2&e8FQEAfQWF5m=T z5&7Xtyq>!g3aW#`W1VqG)M*#6lY>9nJf5I~`VQ_tPzA()sL06{OTgl7v3~>L?~nf$ zMgrRUZ#J^_c)R>N3hW6oP=o>0z-B3SZn+``hmMl$F=q zQJRC-&%m%~t=<2TmhX}@I;@Z~)>xb)f}ntQMA)F9P8b_G z==Vt)$_$yiB=NlRFZND5htArM01Qesv@2$U6E2yTUh ziHgEeQYdTGXE-!8XqW#*wF(yLycR$}^_N^@g+&7OzdMqQ2m*zaK%yjtB&+p;Nox*l!T;^C_)@2 zWCa(42}!|45JGS<#hexf&v^@W}p#D9}{hq|u)_l$lG6>{ax>G=|IXcQp4*G}L@7wx)<=18Cznb%( zLGVRC&GNs0hpR0L^REKsi>l93f3F0OwI;YCaHvx@z(f8?41dx3$7O$3F9%(_9vsmB z1BSpOT>d>XSW1gnNsCxp3Bkl9U_vlaF>xU&7*bluN&*hELP|-9iXz0mnfd?Q3~(7S z(QldNf6olxy%=eWz}TRy6rkTu_HE+-lI5huEhQxp){;VSaWN?&l*pRpP{48`VpgI^ zDM@Q_lqK@p`Th;deZM0%EcZ3}VKFW!+w8fqq!!(;7+6CKj@`aC>;8~l3{3eiTnl=-~X{Q|JynBpD~p$X5EO) zFI?fv9r;JL@{IxgmEElIV?gs%zIf-EwU}DFV%H}#fRBJeLxu+RZ}jq?rqe$y|3fT( z)eZ>dH-`CNBYa;rN3;A#+OhvGt^D$qAE^2Mwr|MO08B$(dWjO-zW$DXZxi&mNM1>i_^ebp%g@ESAU)(EFLQsEH(Vpz z4$hy+v?Lq`lZHV>VBqWPQrgFVUV8CgFQt9_=cV6Q{)|Br6hIa8d82=trdhRC>dJgR zwJvDypcEv;#n%dxKTrR8g*Ms^3>iKW}_xq9ln-$Zl+jt2r8taZX;93_VT7eC?Xwg`A zyaCs`5YY;3z(tG3y5kMF)`f^xU;{2%G}aw&z_l(!v;rG&(W0^Lcmu9=A)*!7fQuH5 zb;lcUtqT#Yzy@5jXskQlfNNcdXazRlqD5of@djM$LPRUD0T(SA>y9_zS{EW(fepB5 z(O7r90oS?^(F$z9MT^F|;|;jhg@{&Q11?%L)*WxawJt=o0vmAAqOtCH1Fm%;q7~SH zix!P_#~X013lXir23)jgtUKO-Yh8$F1vcQKMPuFZ23+exL@TfX7cCm=jyK?17b04L z4Y+90Sa-Yu*SZkV3T(hdi^jU+4Y<~Yh*n?&E?P9!9sf(X7{7mP0}2B^tHBj~C_@I* z_-pWi4tz*89SsP?<1hqr*$)Dtu7d9)5QsAj0vWY{KxD!o5Dx4;^YSwg$ieZmDyQ_^ z+Q&MHP91aJJySy*CEGV`QM8Gkr-!REP1`W<^EB)ZyFhb4;KnJ>3cJK} zj~h=EpwJO6ly{Dl(dD}s#k5o7I*Gc$RO+qX;}P=kXtfjF3T8U%nl96UNrn4t@W)+EEZyfn>()y z-uM#Pt7UzqVj4y-Pc_5cm3*Mpubr7GqrF{y?&^&nKHA>$UcLYkc)(~-iCtD-T!`cJ ze-R(Nb-b(bbf)2}5rQQr{R}UbdM&1;w22{%L`u|2nzS#Owf`{fPS3z_(b%|u_-!2c zp`xN9EHV;_LTx40s~%$Q1GDqXKE<=y=^_#mIeqRUWO6@%8xkewes3to^G=pcefN}4 zkmA_jR3&k5V~Rxt`;Bsb;m}AE;eg8i7Zd4;hJrdZ97);^xNousRk{rSlqg%YmwwVQk)kUpm{ zC#jmrN!VN4ncD@$#dU2j$OP50=Mpf4>*N%b-E4mtK+5o$oeabMC&jQj6E=%=K0rD6mdw6w%k$|0O-WvVW?z-LQ1jZbK`0gLU377@BJ84TR+({h(cxXspe-(h%MVXB6bIE0ZRR7@>k2gWO}Wii z>rV8}c;qMM29{9!#1{&cx!Rjvn6FY$<89qaTE=&=B{`)pRwNRT$7eCM$cQ5)3k{kI zgl8;?jcCO|Ri3t;Cu6lsM+ol;GSmli6QvXvBq#kfC12filLHo`Z07lYM1OEG#{lW!N0oiEg`LUfGIFWTlk*$3vAtybKl&4!58_edZUA z4NggyxyhTQX)x_ZC$FfND+QBx^p6d9RpxAF*vsp24VQGQqrYMV$BJRXAH3ily>yM$ z)YqevP7$kBsW!-Hax=Ao^_Mtp&0U{7C?xcu;&W|cmms~pRlx^SQc?g^;gOLCxtJT< z+AbDNRBaOy5|WD6d@}$KSNDJLfPLTo{gji1ksXB)%giwO0svBB<7R@33tU$AJcx71 zTig4<7e+_zoavqLViS(`R=5K%uwKJ=mz^oL*l-gyhdlGF+(6frVQ%J?T>0nHOTw7k z{SZ=pWjm>SWQme0_#i}u>(m0jeAFT|#7ZGJHZASWhgHKXiP)kx^+vH&$b6xUVrhWu z++HZDY|9ukcDaXjTf1Vw;n36`L*`rX-q8gGGACay-&-K*5d&de%)Qo=GbITyjBvV$tH1MaRZY$Iw5b&FO z=coF)WL<87V1L)r5>TCTkP8#5u*+hpf{$W)TMtGd#V04e)M>#9UYn- zet2+j5F{6d{{DVox2M=1g++H;EY=2%4pa_cz96_KJSyr#L#(n%q08-a@h{uk+fBQ= zx3=nf*-PxYS&ktOXEzebIB)MF`3Pg~_JsnM4-YoaX$nG;;f<@d1 zy7T192!gf6E5{z3+Zt42DFBjymO=fZM}Fm_v8!v}ap}OTOAMwwDx_p8{2m zu`vQ;T3cKH3eBiK%^zGkG1ou0I7Rgmla%ZSVLlZ^y!Aq%E?TzoZJcU&L(%*L#(knNxe=|^HZ`mBc30T zVeBDJ@deK>bh$>xtK*|W$llyE-WngYhpEy+wEjw`N{d`L~8%^ z2`<^Z+tAfsITqg5Hw1?VSsaqWEGet0hn29#ao#=SwqX>Ch8Hymo6Qimr1Q9)n-rPF zJJ+|_m~yxxT4vQc5}Rwy(6e=V#9U!A#uL(b{!&4tu|y}PmMJB?RMNayB}uP9dZ9z> z=%VX0;Ea2p2bcCw0eAozm^Dh(KGxZJ@GK(Y$TcN8*SvyR=fWzX`Ur=X4d5;m zmS?6bo}25A?##R7N9o8Fm6EC&?<%|`#dU~vJ2;H3t!;07sM%u^;l{UbFGM?=6yNHZ zILgJGMXuWYvJciXUm+?4mnB2+0mus-JYT92rKHdRs5KbxL=aH6Km1m5mx zSh6HGGc)7Rk+U&D|5R+fejsd%Tj^ zK9t8KYsil61#t*)Lyui>#~rxTF-R&(xRcs0dNqq9ef785W(6gRb2ddXeUaE)hZUkL zUaHN@&&M0Ez|uJ4G$=9?rK3R*@SA(P2~Ed8d$ z7+QVWOT63;j)bxc;se=1eEK6Cwq1F6a#tA)gz&6$o5RD05BGHYEIQ6k^wc*c8=%qX z1Ds6v)DCfSbI0fAhUy8Fx3+Qug;&cEz}I<#0-Brk>qv@P1_m4~@}G8%5F!>9Jc{Rv zCPc)ClH`I~@@qLFw%_?i$t0L_`IZhlbepdCWW|t4~vi31OQxEo!VpQ)= zwI{>d8N!S-vhKZp`(f^aCJIdtFK3lxJub`EjB{5i9`!ky+;LXmfu)a6%*u*SMP=pQ zefvD>FZLT_i^>xfm(ga#WoKct=Z0OXzoI9m+zidkD*Bv&y#VPNYtK$D_!LH}B+tB` zriMjC6d)Igw<=vP9$Xw99rc&Aq|7uY^bCfV0`|pQBt6p_{!^;@oD$`di&T zpYB=SrQ^}7nv0NZbE2zlO-ff^I%VEaMl zJi@mHC&@t+3k$axHD!6l{2UbpQmzeMcf{@E;KtW-Jn?|>t^Y26MC$>|S|#<*6Z&2dk^Afq(Ad;J8%SbtvR4FsPP9B+A9*A+VUffx+tm z+;jI84G?*{y1IaTz$7JAg+t@OH5VSf7m!W!+H+MZqm93dY+gs}(oAS^oi zFdJj0Gg<%0(W7V#<_K$GMnS=i7V>fuWi^(!2X%X_`4>#)!_ASB^!6>QO%`g{;gsx3 zqP|VEiCSxmaqh)Mx=7i@p4=kwm)P+!#p)w`r9H(WgpPfynx31&)qP1Y*A7R`#1If+ zL&ECq(RhN#ZLQ@uKK|H4lT@!+^l1Uz-qN~R*>M)gRiy*(r}BzSss?bN=y+}h1zFxp zq2$0L9;v*YS($g-u5C+6_O4F^0tJUI96ML0MxfqVBD+xv>!`$1B>^5T*F)6KKLY-+9c zt=;dJON%*Xji zTkvU&Mq_6~;B>L7`*87Szu0Dfbijy?sWSxFUzija*)w(-quv_DBfG zC>a?UClyFX!`0V#u4Sg7IK)nJHKn?_`0@;2tZZ`i<_yUNJ6Rh_dr?k5Cg#ob zYV5KWc}&sK&uN@c2=gV zCH4Om;=c;DXV#m{1wN8iBvZ1*Ribp-bS{^8OJIGpE03vPC!MF@zcn)>?2rl#^w zpTrW-?bmokMMYorU-B%2f@)jf!7zmquO|?!e&qOOKR-XfRY9L)=gyr^bdH;OO`QfM zcd*(kp8SKs+j^*VuC^FVj&grw&(ffOts?npHq>eKx1qvV7z@_BRQy z9o{$F54sjQ$uQ|>ZG9Ck{j7azl6_0R za40!v7UDTOM$K=Rl$7jP&WMeD!R(pXcorW1p^P^z#sVbeHcIM6Q!I8Z9|0N$!f?%d z0Y&{ZGjl=U!M1BkpeO_BibY|bFHwtR4Pp~{;BFH&b$5vb6EGPi{3S?8+2;f1jIxXi zmrJH%m1k#~^}6?UrD`rs=d3O|K)OdflC!WpeUh$A?K_poIJsy`ha+d7#I9Js(A<1Y z=|xO22jkW=3Hl>F?{4%=fIbZ<5xoT(c&0ML)Y{7x$}Qi!nIy|pXp z_3N{s78-jWZQqi%J5Z%H7t6c0xz&|rK*@G(+mZ)p^n-KP{Qc>V=o`EqnjY&ZDcM(? zUUUZBTcEsjkf_cro)KDDTntp+hh^V<@!CoKq1-b|?J%iJ@2|@10;8oA z5r#)b5a&I4(@T~aS-5>}B~dT9I8ZDvIY-FYgf%DVI}I4tTU`tzl?}Lr96w@fXJ_T? z_~22ChJg8@Ugrx#>1E_!>zF}*hY;XbbEGAZo(yalb!XIZ#0#w~ZXw5$YtIW2Hpwfs zPcO1=anI|*@c7Ily61}LGM_(J2W9+}TNEfHHu;u1QY6_T<8`+9FH^g1L5MLH&ys+YHQp4)cJ!SB_#z` zheCT~=%3y3w5wmVx8GzZx!FF5$v%kA{=|~qO=3!&X`v6%(c($~i$nH~fE4sW7laS>*FBO{5M=f}X%`$8BwhOsaust?_C205056a4jS5<>5K9Yg@y+cP|Sk ziq9)6Zw9$0HugY!M@Klg#Y3yxL>b8UUk>0v7fA}F7U9sF2?zlH9pxNdW;o9(TjZjn7H|7V<=eAm;w$?zZ8qyKdQKFD0=f)tD=o!kG2o~M=EP{a zUI+~0HL6S6)O*65$_VI2k>?z4;S(BMWF0w?dd!& z*lo{ZF-;{>)E~`G(_zh`9w!Q^fu5U~Mxh@HzE}88#iU1(TUTqYfdG3qPgJJsoV_Gn zwB}Kt5|UEvR12t8r?p(YP6gxl48DTg`;`NCF{WZ`c1mH)5?RDPeVb$5Hl5ppu4$9yQ2Hq!WX_&Izsr5ryb51FmW}coD z!P152XMn|nRe54lQ+Jm1)F&#;9FNK3Sv^sj)wIeYchh?rbeiTDT1x5~8nkDQiIHqT zF+!zMclPucd4THhZuNj$uP*~&iXc7jW)6_X530{_X5@6{W@Sz17!mFFT6inl;~NZov zAa~@l)3M(??Kx4pFS84i%gqBKx1!?Akt0Vy{sEWaqMwqM0`(B+swS3{kdl&)12g#} zVDj>{zMB~)-Q=!vv-IKe4U6*Gz?D){Q{zPah%z!ZreqPx^5A2hPJ)OB#U^NHBRF01 zCjda0QZEI^@pIbAGNmdS@&t+2=)%W3b2q=*{F}Ypc0=>URUorO0EH1{B1f+DN z%<8Xt&bHaO4`jFe%DtMf8A5vQPHh`qg~mvijn;a{w?CzV%;W()K{pO0FaVG(8r|0y zz-tYfdRB0B{Wh10Zc};sX9=L_ovEp-YybIj_O+9d{Zf*HjO&kcTT!r zuHApRL~T)Z)F(%4r7LNgA=e@C!*ttz&q&u*`^K)($w=~+k5oC(0FU$RphohV^~X?h z+s&R!REh@8in_&By;wPBP_gIuo|}RxA3%%FevBLh-=D6~60H$z99L8lqn=>I_aQ&O z=WeZa(sb7n$`n(`>IAlVE?(&n>w$1}-25a0(49=fTQ@nNtU;BO{w^!{>m0`pa3q9> zM+E2%q%94rj9E+`nCZf|W>6Wf;^sv4<g@hMbJ9uEpV^NifwXu`vT5WDJ(h zi)Tad>XkYKRlixDljd4GK-lcB*G|%_8k!a~5FljJ=RG_Q6U(;a-2rGis3gGe!CYn} z-m<3gbQFCG*Xkq&Vzmj zNUwkn_6>xZS5RC;Wn}EqdqDf3sHo^UbuiMQr?@Mo32<8w4^<3`^QQ_$S(um_y1VOw z52}I?j#BWBNJ|qgUZ!BN^VBqx{FnH8dDkyEq*|yA>2LGjuNKc2u6}89QshVgG-KDz z%s5wGS(mX#NwK$^o5kP6!;{G(FH_gHfuGtQH7Eaufq5@m_33swo?rAz`!1i`T88db zSd!`xc+jE1VZpxXFz_0e-5B zxFiLBF93>xk5n&bsuTWxZo-P!yNI}!EoE8SHy(gKPR{1>)ZFg&jQVF88Ku3wkK~;W zu?BW1Fh9@HmzNibc}{3pS}ER9Av&^H1Dw1nlu_LW^X^WKr@5VE&vNOK|Jy9`4%5LJ z4(nS%hbP2K+9uO{uXjG+YCguxcy;p7l{M+%d9MKZF~Q>TC)6JCNC@eeoUPB(d7s9J z=I7MP9Ukv=?Omh(r@UGFRxg^*u@g-n-&6}d&guRcen9(#LTh;V*dP;f3@=Rjm_ zJ2~S0E#>-0Ri-stCu6UfCZHptFuW2Flj<44;=5NEVquPVH50EBMKBO9{FoTsy*PJS zCY2AuF?8T+z8BZTf8!ys$5L2OP}?qvC+XG-s$JM}c%=w4Jr;~Wl6f)W=3YH0zyc1h$G2fbWXAB<%nPCt>*fi2*CZ4>b3T2Rk%cg(hn3fy^9vXV^6znoGTe+RL3bVSW|*=63$96soC_^kKS?(QvHs=8qLmwbGwtA?oz z^OL+|191mg!m^1cRaC}bLh`0UwhDX48EulCe92GsiiuU^frGZcq8y=VctI)DeWCYo znZWHaFbr2a4DPcUFT|NfVsK%Y{j9^acts<43R?c;1a>y!f$dfWmbqw$LF8-CT3#+r z*dwEtVWcae<3*3_pt#(62=kJ)^YW_tg2Hr2`CKFSy;IS6sfr=*~b!!XEcWd9`}?`5Cq;QHCg zqKC;w^w&FU>0onq&U+N8`Dc-z7STD&iH?IGEh6x$s+2nJKo#3%hh#J-{S>rfCuj%T zrJSsvn6ur^hm&MDS$`Dc?eG2(A5t+>Zzh>iqS?M8OBt-ZHy7c#ih=}``DX9tEPVDR zdm?436q`M=mo5M1-pJM7tJjx)il7@lzUuk0HBuZ@ql|7(_*dj*p)a zvipDb(f_RWbx!iXa^kOh`p-lC9gP35jlaKm&7b~*&h?jf0k8f*db}zLndad>wIVRx SviASJoIS0nlBQ&F<^KVGJB|PV literal 0 HcmV?d00001 diff --git a/Minecraft Client/Assets/Content/BlockAtlas.png.meta b/Minecraft Client/Assets/Content/BlockAtlas.png.meta new file mode 100644 index 0000000..fd6dde6 --- /dev/null +++ b/Minecraft Client/Assets/Content/BlockAtlas.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: e342340ba7242ec44a2515fca551bba4 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Minecraft Client/Assets/Content/Blocks.mat b/Minecraft Client/Assets/Content/Blocks.mat new file mode 100644 index 0000000..d33af43 --- /dev/null +++ b/Minecraft Client/Assets/Content/Blocks.mat @@ -0,0 +1,78 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Blocks + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: e342340ba7242ec44a2515fca551bba4, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + m_BuildTextureStacks: [] diff --git a/Minecraft Client/Assets/Content/Blocks.mat.meta b/Minecraft Client/Assets/Content/Blocks.mat.meta new file mode 100644 index 0000000..562d7c4 --- /dev/null +++ b/Minecraft Client/Assets/Content/Blocks.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f4343d4c3fcbdb94b9db1c71ca64ba0a +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Minecraft Client/Assets/Content/Minecraft.ttf b/Minecraft Client/Assets/Content/Minecraft.ttf new file mode 100644 index 0000000000000000000000000000000000000000..85c14725a3bf6d67aaf0f03292f9b763c1654f07 GIT binary patch literal 14488 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 Z*c*kN@$GAW{e3oGeYSI$CI24pe*xM150(G` literal 0 HcmV?d00001 diff --git a/Minecraft Client/Assets/Content/Minecraft.ttf.meta b/Minecraft Client/Assets/Content/Minecraft.ttf.meta new file mode 100644 index 0000000..94320b8 --- /dev/null +++ b/Minecraft Client/Assets/Content/Minecraft.ttf.meta @@ -0,0 +1,21 @@ +fileFormatVersion: 2 +guid: c5d381fc55e1650408676b69d87c7d55 +TrueTypeFontImporter: + externalObjects: {} + serializedVersion: 4 + fontSize: 16 + forceTextureCase: -2 + characterSpacing: 0 + characterPadding: 1 + includeFontData: 1 + fontNames: + - Minecraft + fallbackFontReferences: [] + customCharacters: + fontRenderingMode: 0 + ascentCalculationMode: 1 + useLegacyBoundsCalculation: 0 + shouldRoundAdvanceValue: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Minecraft Client/Assets/Content/diamonds-dirt-grass-minecraft-wallpaper-preview.jpg b/Minecraft Client/Assets/Content/diamonds-dirt-grass-minecraft-wallpaper-preview.jpg new file mode 100644 index 0000000000000000000000000000000000000000..49917388eb6721e8168720db83b0a1845a248a60 GIT binary patch literal 13382 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
p0eV0!1P}hqWDU#JZE|SchG&Q{gB12i%I))=1 zm#ck09l+Ll25bNVK71g+-cJ2}{(!^5rl4dKQMUJwJ76_9to)wcA^hu~=MN$502B)U zXFpT1MG&xAK7a+-j(7*WcldP*JC~iT=mn41??5?hhkSQZ&xf5p(3&IykHq%^^bj%1 zcU@JWg7E)BN`}?edrKR$6QPH|&hOhnaQ}3LLh%wU2kZb30!qaw!$D*W0}%5*0}Eh} z;^5&yHtftDMg_L(UmAmzXrbeOiUBB{uv$@=I&6Pn;3N*JzX1!vasTxAhbbtAXu_1` znIV_|hI56pyL$Jhx$q=u`+p*-2mBj{H0z!`f)2u;vFc!P9r}?URe_|?6-(PeSpO2C zTMBI8N$__VkKlG`u+9>5WCYd~)#9@N-vrHbv zMaKa3t56T@fRUlR*TI2}2o0TEN@T=|6bXr^9(9EF-tzMZDA*Lja=(dIQ~qx84C_x{ zJ%5h#YcUoJ!Oe}jvm;0Az#9vB<@u_38i&6x!(+Vcvvp}0gJ_g zI1$(4et}&Za1W%bY44b_Ba>PNXnp0)pzx1$uVFTEFEI0PIfsWVK71I^M`nFfj|iFv z2@@*TC$yTqLf-MFl@*?L@y&KU7TuvA5n1YYshsiwp)~)sx$Ir-pXg+Da5~5dzCNtj ztj=0wGIszI7R5ufWq{pN2c6UvZsnF0jUZpX5V|0DY;DH|$5bN-*gU2gvSNAuL<-Was z^Tu%N^YesTEi&O}1nt*>M_9c=6xRXn!6;e0X6iS`!(KBkX7P^R!Rs${6R8*JM%6;b{YYYeE+>P zYD@|QxW|dK#uHH>jDrEda8_)q6V9-H2)(%pJVQ>{He)AMq*7O@Hw$<`Q?;NWQQx0X z=!}^?{^%9$N~ZEX4Ij4(8rnq8F+4(#W2e%~{Z`j>6bAFnym@lu+FxEUOKn+mVt3m- zw4tD7Zw(b0Wh0nH4!;95;2(MV9k~R}&ntb}+{`EHz^ci}UTMo~f5HOw*J$xYMP=En zdbQuNd7)1TRNP)o^W)kaJSmiOyI@{CWZ7CY+_&Qr5Suwy)fm~#;rQV?L#BA8gQWMZ zqO$ztnw6q3%fAGToze?*C$h-kLq9aE?V{Q+qFk!MBSf_kQ4)1>Sa5J#m}vhxzi8nS zTC*4YZR?4cD7^>S*T#_}p%HLe3e%js;8Nlg23XoXM6XhBn7I(ya0A)AyG>2-Hxu5} zY!!C3{n|x_aifE-0k^V?5UbCaBqcgrnv}ifo0pX}?OC5a7{n~C^R9u?L3Ax6yEoX> zhEMYECR%RO8w86C8sIEE%~zIEAAzZ@1oxrESqVvpEP@R5A7A|m3z04D!OvjYL1(V2 zz3rRde%!YW)@r%~#7J`Qw;W);z+VG3Mc1>&BB1Q#U8-Yw{VL;TuAEKjM-#5rJZb+^Z=FP>!Ys`oK1zv zYniArD|P->m0{ow2YK`@7WggzdD%Dcu&v`_VbK8>g9mr7wEN?87i70XOexIlH!=5U zH7z4!53OciYU|znhR>)ePT+1=R$iQLOrUKOCjuA~Dy z`G_lHQp|@O!7vJG$s}kz*t{kCT*YxI7UIsdRbuS+nN7-%AO58hU$-B8e(T zCex>e1Tl(!EKQs%Aj%NJCnv6EDO#DzBZx*@(1v6*PxtCDVmGFt(pD>&rk4RzP7>XV9g(h4K2pe)>cb|)cy){DdVWOdoY}=4 zezum)(-zNbqKcR%&7wi4$eQ`7LX+o85#L1Ns3T4ny!~QQ!-&8T>ls|FxLT5+|Cr)lUt($HOzQ}LbBG* zic_=$L2J8)+? z$CZh#9{=yt)J^i6%o9g0WfK}!bUM&GAaP%Zc$8%+D(xfznR9W+628{?!X>w<#;rx! ztT0QpJzQrxlHh90<0h4~WF_95bI)%0AT!XuGNt^L&yG`E%o>Mf!*EANxhPk$EA&kA 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 J;I!RM|3CA4ZyW#s literal 0 HcmV?d00001 diff --git a/Minecraft Client/Assets/Content/diamonds-dirt-grass-minecraft-wallpaper-preview.jpg.meta b/Minecraft Client/Assets/Content/diamonds-dirt-grass-minecraft-wallpaper-preview.jpg.meta new file mode 100644 index 0000000..60e6c6b --- /dev/null +++ b/Minecraft Client/Assets/Content/diamonds-dirt-grass-minecraft-wallpaper-preview.jpg.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: b9659c3db2ca9c0469b9d747f546103a +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Minecraft Client/Assets/Scenes.meta b/Minecraft Client/Assets/Scenes.meta new file mode 100644 index 0000000..fc8e1a4 --- /dev/null +++ b/Minecraft Client/Assets/Scenes.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6de0599258862ea43aa4ca5ce892fc95 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Minecraft Client/Assets/Scenes/Game.meta b/Minecraft Client/Assets/Scenes/Game.meta new file mode 100644 index 0000000..cf995b0 --- /dev/null +++ b/Minecraft Client/Assets/Scenes/Game.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6be6be8f13ab5cc44aa93688f22a554a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Minecraft Client/Assets/Scenes/Game.unity b/Minecraft Client/Assets/Scenes/Game.unity new file mode 100644 index 0000000..5ff222a --- /dev/null +++ b/Minecraft Client/Assets/Scenes/Game.unity @@ -0,0 +1,721 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 112000000, guid: 873876ef39729644caaf42ea894a136a, type: 2} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &318734086 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 318734089} + - component: {fileID: 318734088} + - component: {fileID: 318734087} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &318734087 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 318734086} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &318734088 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 318734086} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 10 +--- !u!4 &318734089 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 318734086} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &485550886 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 485550887} + - component: {fileID: 485550889} + - component: {fileID: 485550888} + m_Layer: 5 + m_Name: Image (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &485550887 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 485550886} + m_LocalRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1569967606} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 1.2599, y: 15.0384} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &485550888 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 485550886} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &485550889 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 485550886} + m_CullTransparentMesh: 1 +--- !u!1 &948138832 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 948138833} + - component: {fileID: 948138834} + m_Layer: 0 + m_Name: World + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &948138833 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 948138832} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &948138834 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 948138832} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5457f26f725053d46bffb9885acfd7d8, type: 3} + m_Name: + m_EditorClassIdentifier: + material: {fileID: 2100000, guid: f4343d4c3fcbdb94b9db1c71ca64ba0a, type: 2} + worldSize: 0 + blockData: + - name: Air + textures: + - name: Bedrock + textures: 090909090909 + - name: Dirt + textures: 010101010101 + - name: Grass + textures: 020207010202 + - name: Stone + textures: 000000000000 +--- !u!1 &1356629356 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1356629359} + - component: {fileID: 1356629358} + - component: {fileID: 1356629357} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &1356629357 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1356629356} + m_Enabled: 1 +--- !u!20 &1356629358 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1356629356} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1356629359 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1356629356} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1789911867} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1414729002 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1414729004} + - component: {fileID: 1414729003} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &1414729003 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1414729002} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 0.9339623, g: 0.5683072, b: 0.5683072, a: 1} + m_Intensity: 0.8 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 1 + m_Shadows: + m_Type: 1 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 0 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &1414729004 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1414729002} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 489.6121, y: 259.51678, z: -61.30426} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &1453720494 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1453720495} + - component: {fileID: 1453720497} + - component: {fileID: 1453720496} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1453720495 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1453720494} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1569967606} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0.0000015497, y: -0.0000066757} + m_SizeDelta: {x: 1.2599, y: 15.0384} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1453720496 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1453720494} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1453720497 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1453720494} + m_CullTransparentMesh: 1 +--- !u!1 &1569967602 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1569967606} + - component: {fileID: 1569967605} + - component: {fileID: 1569967604} + - component: {fileID: 1569967603} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1569967603 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1569967602} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &1569967604 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1569967602} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 1 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &1569967605 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1569967602} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &1569967606 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1569967602} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1453720495} + - {fileID: 485550887} + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1 &1789911866 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1789911867} + - component: {fileID: 1789911868} + m_Layer: 0 + m_Name: Player + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1789911867 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1789911866} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 150, y: 50, z: 150} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1356629359} + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1789911868 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1789911866} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 68efa1f8faa15f54b905841d23d36864, type: 3} + m_Name: + m_EditorClassIdentifier: + mouseSpeed: 3 + moveSpeed: 10 + world: {fileID: 948138834} diff --git a/Minecraft Client/Assets/Scenes/Game.unity.meta b/Minecraft Client/Assets/Scenes/Game.unity.meta new file mode 100644 index 0000000..fc6cf8a --- /dev/null +++ b/Minecraft Client/Assets/Scenes/Game.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 425ab817a41fc60409fc2d58b02e0a48 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Minecraft Client/Assets/Scenes/Game/LightingData.asset b/Minecraft Client/Assets/Scenes/Game/LightingData.asset new file mode 100644 index 0000000000000000000000000000000000000000..c16325de86f9f7944b3b8934fb69ba70877f4037 GIT binary patch literal 18208 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 literal 0 HcmV?d00001 diff --git a/Minecraft Client/Assets/Scenes/Game/LightingData.asset.meta b/Minecraft Client/Assets/Scenes/Game/LightingData.asset.meta new file mode 100644 index 0000000..0504c6d --- /dev/null +++ b/Minecraft Client/Assets/Scenes/Game/LightingData.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 873876ef39729644caaf42ea894a136a +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 112000000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Minecraft Client/Assets/Scenes/Game/ReflectionProbe-0.exr b/Minecraft Client/Assets/Scenes/Game/ReflectionProbe-0.exr new file mode 100644 index 0000000000000000000000000000000000000000..73bac30ef33673ab9a32e0391853b5056010c298 GIT binary patch literal 133554 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 V`XzT(ui%x_E(>r!1PO^IrSKR* zNFhN3%n6T&-N5I|kM(bbuWZ)z&BCU4j5PkLEXoM%;PBbS+Qp0nmTR*zQZMtEd(=TJ~-~OM!)LNgtljsP^9OC7ae&Q*>!+F0@fN7XB zTiGr9bg7!Htp?~v9lMIF{`=6 z(u%cRgWjICSmlB1F@13c}6se{}pC>1W*sX*eEol1+v|v!}XiHuzA*-KNoLxSIk#X z#nkM9sPWI#yNx?@5G&orU09Qys-W65R?Jswb5WdX{Hs~2F=?JToaLFi0rXFIT65&z zbX4xi4lC$3U$Y@`6&s@teh6$Y{&l~}@ z4RXbB>^RmM(~h-|XgdEkELIH2oBP|?*;p4LP4DIks)~Pgo_(;_IJS0x({aT-<^FPt zmtW51KmT3-ezT}lgw4n|Tvtqh1UWnYm{g=HL5BzM82Pn(uw?AYU7IyMpRnomO<30J z8-cWxOk8>O{>x8x1E@j=43K!9RxC7-S7arJeZEGfjLhgGYTgI2L#1|cMzHjA{J!z( zea=O_{F2-!|M(A%WbN-?UVplu^ux^|bL84HIO8MFshO&8d#ahDbn-NbgWg{*_W{zv z{gZ6m=3D(*@w1OFJRE)e3F#GY?9PHt@*G;nmN(CD>`nk>i+Fzh#0^B<{Hr*E=J4!ewh<^ICe)`h1W(LmQA#*v>Av-sz+uyY8p9?yu#)}}Z_^jN5Wn(p5 zSH!?<{r8PwXGJJv;RIN`bUAh<;5dyTO{&fM=0!cIhtMx0NS0fPe1#m+ZR9|1Lvszs zp9?vL_Gt)utz@Ceual)Mqj{%hWz*E_+_tRij@KPuG11NCXigm>8!09*RWJ@O=(9&{ z{e0KwSbEvI>F0K7v~}s7>!AW4LS;5WHUHyz6fAQ`#hfi#`qDjvu zym;a8^(VOlA*k}w>N(T35WebCj(|N*HTWd=r`d*Uc!EmRng0r}y{Ic^^$g{+h%eNn z*U(OQ7s7A4ARk9>=R@xm#LyHhV0d5l&PfX{2FDQl7H8VK(2h_`Em#hobzjIC`;jz6 zMjiJ=A8F z3%=gaFBp0smJyV^^2N>vWwP}n5o*V^r`i20O0DcGa$wWQ85l_#@HWIg{3ff7=;oT+ey{SE+&+}%Ms$Kyo+u83C9BR>N2K&uRb zr)CW}8ln;Z2F7-{0y>O8z|ejIb=&%J?U7<%T|PNso!nRTG^a#3>6sg09qwC&ctt2t zo!!19VGf(-Hn9iOn~S^dJHk-noeblf~a+m7fxNSUw# zHLw4^1=j`z8ht4*q56(0f$w+$LbEetHM~%}+K14J}}(G_G5YP&|b4 zLMuQYo#Ngv+LmzFz0;*zjk@_5UeveqJFBUm4C~?Xhtsyq zWVji7WE1{-m>|mc;w!rY-B`2#d-!YqwPNfiM~{!T{o-pI;A`hVzo28wwI-h(SI@J2 zjhWlLc%Y!~y*u4^ok!Y(qVF_ON$<6Lj};%F60Shvj+Fbmrtb9m=jaXhw;5rsX^~lsbM(o%ucK{R(7I}J4^akGd5O? z@L}8;nKer+!{|2dK4|nDw_B@Vz8?6jP28J4h+`+SZ`otIFF4;vzS|!-WUnO|EuYbc zSBtu8^{}?eDaC&vjP5)P+a{?%)wqF>!E_QY1V{LMTWu#7-Pe&ghDnYmtQUlW6+;J= zLx=X}*PlG=KggrDL7z-}uHCz9{qYCM=!)8+iX8)=4=l(@H9fa1T0aq*VgqGn=zaaf zO<-@#5+y%=?TVKm0)l?QUmc+c&ZzC1$2+$pVpr!y>$Af20C9mJH6W0^`~Iu07=Rmo z=asu~=B?=!l;jRYJ5)6D!FG8dUvzg33XWL(D?_Zv87LVS-|xqm?n$!g%`l z8K^G&I4w-36MVR4_iZB`;s#RkTFV>P@GW^49)Cj09fHpPU12}CB3}c41KtL+0|0Z& z8|yc~?53ETmd`k&ESoE8hlH=Fc`FSfh0Ce+XdWD_A3FwSRli|A zS28`f89Fr5q66i+Leq488TwE-c5oD^G(ggD8Ae;fe7*|*+Pz;gy@TjA_0zwg?)j|T z1bx&V7PjJU^d79G7_KHF(tgC4lR+5Tm5|C_T3XIgq(i-jARr#vuf38A1P17Z6EVwdsrKR@BCoj>b3 zL2b)(ucMi?y&iKBIOm3VxKI^-q#f>`8 z9B$-bj9Joj+PAX0azWFyJ~C)<`pI$ul&fV}kmddf9fC7r0Cb2vIQyIX_41M1{lHc1 z{1NgG`b2$rm>#U${d#6$S&=Cq9>U^{KnUrQkeb#AfGS%FJDOLb5r85hO%p-!yqg15 zHk7a{|FRAcBd@Vj9hPamzS***Kw|HDVV_cwT#f_p{{BoXmA9MCLnAg;AnnHMrexn`m!h-rRMeBLVz4p!S}wfW)-%76rc6X;i;{{ zYesD(Q*sT&FgI_twzg*8n(lBZmbfgVwpd6n%GVj=%h>Sx5hXJ?5(aI}9;uO~wb#Qd zZ#{VZC?Jc%LvenxK&1N-KAdlNQkIZosQ5xT>5#DLdCq=Kic>o(D{QVl#owQ;)>1^9;%w=Ed%qQXOgw!Z>)Q|;Zfz4|oPZh+TH!;66d4m?r~u)q~+ zAuvFrP1|BV7-D3W*h`-@|8LrMvd*G!nKfn_?p|R(%({ipHAUcWUQa44UO{W}9O+Ab z{{9J?^6}@-*FGV0ZOTu;8O*eIKJENz=gPD8bYyANNruZv{VGo)i|o@XkPBI!LJebK zshIVzW-zGKnyEb50plux?|;)GsEPXdA#QI?-MaM=O~eE*XL9s zx!%k7h31@_cym8)Vy0rRMqhwXTXK}(LfhLEPsi-4KY&@}TfbHirdUzDw|0FmN0>^Ufr%D8qYju8gEm$3d4nrudvNuZg z68g5!^S|FGyo5RLdFgN&cnPx@qxq?_~w$;T9Yz0f^-qlA(E8SX?5oavYF z0Oa5LC%;#MB?%ThXjY-))K7G>6s((4#+|LJxD&XF`6^#oY&~Feop2ddTUoP32Z93TO+0!=%8G075og1`C=ls3gB|6+e`gACJ??a0wh7 z^5P`lZ6s<>Q1Mm1&8>HmJx#1;4toko<5W-gb-ua3UCFgsrPETgxWoCtmJ|0v&`>;ph55!+M5FaA0FnN01mO6+eJ1_jL zVzuBEIg-=$MYx~`L`PhYHzF;HWcGMt5OopP zRrm8&@bdgMCR9G!{L@LS;QWxpDW4%+SElMIr;Jlo@D$>2NMaMV+-pU?JxIPSySdkT zhOcpkANk1Vf9z{FAMNQqT$|DMw1D|rjk;HvMx}cQy7SrU@lU+-ivg|t^HY>fkN#H8 zA1QTzG6Q?Jy)ya^eiS7SHzyUNh1&Jezy=TFH7qweE@E$Q&K-_?tM`~q>?qqoYyQ^Y z2eWsq8wrT^Ii&*PCf0O1Tzl}=K#TZhyu#|B@W6B)iddor5U7VK6FlcA4Pa1pKa#qH zNG*z_AFi3x*B*f)NJ(4Tzfp0rPw}6JLAkapF-kgD!aPtkYHF(zr^A&9n z_ko5tsCfm*7!FjA2xtoJ>4W6Y!7yeq8z?q_?1xO64g7W+u{1CE4{Zc^yflp9Z_zi} z)=zoYw83@upQFi(JNu{pIZ}H)`Q4@Y6weGjwe=e>x7a1?MDHHzRd<2cEKtvrhn3>d zksQ*GD@SM@;|JP-0ME?pks!nd;8K^UK~0YL{lZx@xE~oB^lc#*bx$aL>y*ANIK9-yxKt9VAJ`;h_efArojdMQ2Uy?@6 zFVkhF<&Y3T@Z?v%lMKC~ z*xPa1Q<#2Ny~whB{o(q3*-^(?=ybp#$rp5ywL7qB(0Ex@)*5w2W?9G3`~hneo%v-D zCGE1)oQ_Dy_VHSPiQ|ZL-R&rq-pjHXGJU+tXpiEbtdx$1q_qmN>fGp7Kd}hDNRYml_NPDFIU}d!4tH z#$6a0F)$qqAl3tcyU&y2M3Su<=K>?6!Z0@nCPr32K4*KcJe4s*E4Dm$H>28~-ZP@L z>d#e`b>Z)CuDp4(5d8CJcgu8L)bnwzTmu31BCGpywN*j^#6tmd5}}Xi)j!9@7pg9U z+ccr`2pttF9yV6&D2KLGaOcVE{uCZHdpXZ3jhAQn%f}kD($Sh%096{^i6e<9Q@JkC z47Yw?_xSHWgY z2Z8A^z^bsMc}BYv*a`qPu-h$h#8qI#9-WB;`eUMHV~n(Q6IN+U8D{sE>`dU(=$?%L z_cWK05mcMI!<%}ZQ@`~+C!oq`77hE8tc3MKoUk<-=j4VkPeJcdKLnI8!B&=ey`14>0w3TDNb}Rkaxz!%GcO%^ z%_4d}RseL+%;l{oUD^H1tKA+0|0|EMzR_wYwEG~?fZ_tPz6nL#a7B4cY`7e*=8R>r zzP-#x-ra-?wbE-I=5^HeDjCdc6m{=@Bej!GoQnek=Ik|h}wPb&3Vj&WWuy1e{F`Wr`!qh*{hbFg*ERg zIfJTDji*$zRa=x&u?q1RE(0!(C>wEl-Cqosf>|ex@UUM;XO&R~$2(`pn^@ z6FZvGS#IrtEvV{$;71$}*R*eElx-K=mU{MLzrALJC(5ha=kM%I2$`>SKR^RVgQ5q; z?*UQ~A0V6!u4T}|`83l>GshX?Xfua(s8HtV)<1|}QWq#(oAL`7z3u#UP5yx^-9LYR zovG)&aWEndt2*l~wBE6iA%K>XM9WFkRl*Ooe?v7Ts3QI1uz+x%vcEycu$h9hJvyu1)r{zP0u44Xw-r zjqKAkK`o+Qt5+yVxOJ$4-q8Q3(N=L2z!}uMr%APJhx8*70k9gB$ttBE!JHL8hz%e{Xz~Kqj4yL? zFKO>`pZ$HpXlna}(S&}=)TW-%)b74_06V0ygC@_!E7C$eHz&8bkjj6{07_uv#`cbb zg98?eb?#OpV6pZEEkzd|&%#g+8427#Fo&3uK_dZO6Xx6CwFIgMg%b8ZYmGprZ+@^! zLKR$D4Toum#IP*~=!!n|)SzTuI{K3QVXBL68A;WEy-K18^ASa(|VLxk`)R^4dfIbrOk^>6Iywe z?lNd6y9ox2R_=d?zE55{v^x}l7zdfCA#-g zG{vG9s-s1|H*r}NA41F>>cD39y;mi`D~Q}bZ(Xi7z&N3EuX*a={JhKhzRin6JS^(B z^Rz7mhxnQe-CGc+3G-{W|2KyVMa2XV3qN(TFh?=v`|E=Ra@SKW%Pa`H}i5r0QXz}t|NSUPR(;pEpygj6GM=byrnB#vFp+! zLB|%OFNf|K4_MOdBtC(gS6(^I0aGk${Pb{k!})q;Wo30hfG2;WT9WOAT9T)hS^ydl z840KZb@Cz2%{>1c8qqUIONtB-BAyk1iBm;5eg+aPtC zGj&?fEHQecD-=^P{6*%vzJ}>WDZBT?onFRS?j#n zd9_OGmsXL)#I;VRP)=M3XYpCi^TC|O!JKa?q8%ao-U+jl$;P%x3Cm&NJ;_CEg3Vu! z9LK#M==y@XHZVV3xo+QmmRxar-0tA0&_VSavGMaS9sM42Jm=7IbkeevFOn#{*1>`0 zzR6-Nedpvs!|XkYV+`6ul1dNg$Y)c19_wqvR$L70ly!J;L zT~9_8ld()3Q!7{B+Nqf>BnpzUa)CzM_7(*mF#s_W4C?Cx{8f^VB*nXON1XrVm zuR(cD9Z(PC%GKRhVdwvAayoClYujT-@wwtBgZojD2nK7sugm6AM2YM-;tBP?4oOz396f0};|TBaV9I)Vka73Mx! z&MUe6Wc)zAQza_59>#^He~A_-9C;uX@%wslfe{s17C>L&J5+ZpU8WA` zUGI9)VSohUD$a6-<`DrEsSiAp;pt}P%3@Nb&WhlM1S^~r0w@u15I8HE6qiN>0W+tF!B*VkzQ79)>D9wF_@ADZt#wOXA zy|U5#d|ga-#+roq;{e)EoQ^McJJu2^yqvM~S`5qbj=}c%&7(WQQBT_NG zBGDeHjQl<5Z0kEGXKwp*mMfhVEVnHE%11Ha|Ev#LI9{?Xb%y)mn@f||b{aM}k1Epf zrF~J(kdCx~Oj&B9f(OhEF#ANMQW-(6Ea8})iKv}1oxOq- zfprl$xe@qmNF=#MvhioM^gXo1epU8h*t4oL%B4;DWt7VwXgU!&^B40gu*?32EpGq( zq8sVg5P(RUd_|K$)A_UPYe^OC_S{NL4Yw^AmTz0o?XQpwRt_F*JL}tT5Mb&|AAQ$7 zCa3M3RdEHLP5|wf6d>ANo4d2@0KH_HRk#%KQuFQ5-f1ho|pe-BypKP@5 za$=#YLMr2m&Mmt&060s|3cWIn-dx(;Xfs0kdN(BK)_&K0RJ=_fXPXn+fJXgWmRIRG zX10^n>|?f{#<1u_DX3LplHF7CEYQAmoz>&mik98^u-!AqkLsO})`(5D6@xg9uOH04 z&Av>pf8?_1H_!-!l$-jXisK8Su9XZwDZ{qFM81LlA=)2=5$lKOGSUn zyd3Lj*Fl8RAdd{uaa&(KynW}+_8>?&HHo;rT>rjd?Z+F+?G-C413ZPg)vA-6#~K@y zlL9;i8yl;YD=h*7oM&dJjSYWGXh1-K|LX|~<)?!^h&EB!9Lyww-w3d%EM@=svz%^` zW$RLJI$C`M1SdC4#xg&wR4P_D+oLFWrJhx}-`C?-k#Sl*j3hzGedQ~KV9r@-hf|f3 zIGq5dwNRg`U6_f3tr9Wg95}u-YW1*`)|lc2p*hV;dkuXl5(2{OBY{G}5*vvBm7IY* z+&7UckQ{W*vnd~2!&{TmN8lecLPT%_?4#!2AbCg{UDM<*h*_C^dG2VMZn(KC&!n+k zp9Ce&Z))ksUF#JS?H*F-Jv;fZU^lsUA!g!o@47@UmE7gGS&ZR`o>FIdXQL?+UFO2s zu@EF`ZI&<{q9@L>*dx$hqyFRAm+!?8g>!tpA$(bcT1(fhs;jyjJ3cOI@1LqDW1dNP z!0BoJk>p=-n3C}P@Uz}eb>?-4YOdTnz3FnQRYF|;f#hOB*}e?tXsJ9~IXCWuX}JQY z&&u6$kaVp~8Xq1Emwd$i-9vHR>mE3GT~Z(ZiRGmKGaFS#ws{bLx%0D=aKK+i7A5v4l^Ymqm-4AORg5HCwqqbY7EOH)Hw&Y)xP!?3X2)f8!^m zf5^G>aP{{M7&g!vy(i-$C7|xD(AuzYXRv%CP1)sc=d&GG<@!QFPz0&8&l{6D?RHL0 zng_^Ji&mlEljVGf7+iR`w)W9>j6$id^q*;Iq%;8BD*e|!2Ao9@=P5Gt_idsPd81S- z!?&ygu=W!Zo7Fj z(0{{7&jrf*Y8nou$@f2){l%L`C$GYJdkikp0Y~F~1B2e{&@jV%uAqJ*q$@}+p$Sq1 z2aHOHPFc$k)_CxGndnjvXzPb057Ja9QCk9RAesv}D@A6K5KB~T?5E|NsLeEZ5|KP> zx*v7BaP;*RB@f8p)-+c%Y+N;*sOZrg;BcJT9(KY!`^5HMzB@E0K;D`!sf!maUFT+O z>xNFt>QycgsYkf|rsTTqwVY<^Px6gUA(w>4@lefImQ) zJZa_5>z7Yi-**FE!F%hymP-|@`fZ9u&%Ot&!1Yd~<;>X`v)Z7=PfP9jY$FnLDf+9O z=^{zuI>^)f#``=-Kxy}Rk!=a_^k4b9?%8llcNt>^cvyIBLL!8_)m^V~Y0O5|XZdj5l6OM~MUeW;{ps$G{Qx=q~RSP<*vp2~-AlV|8E6r>6j zq(mDw8lM(_aa(P$XA{}R9yH9-$#_{~Jz4KLB^NM_ziNWNim#yJE9xw-?h#tiNpY`D z@$Pa~_N)N8#&M=mH%`9ccoX zR!p^b(tvEs2XMX!I=gBWj@bn8zP6wRz#vWM3?~9w_)mXmYb+0qf@);1it@24l@}k%5tE5|I{- zpxR$2J6m_SWJ}jsrXM0H#m0w%eqkf0vZ?C7Hp4L?)2edaMO zmC7LT7?O}XF2%d|#2>QZHcO!oQUsLUf!S>a1{p)Z7YTQ@h({vdhLv|rVqYHIpLQI7 z7}Dbnw>bislQG5b+!n@%d|lRj9oK>#H`;HJ7hbn=1XZa$=gfUO$r?A(%qk`J zF|`66RiV3h$y(~aZfTn&^9P}aGkXd$I_v{MDot)RpOwvQ#H-Jqj}25Ayfa->oz>Ae z%9dC2p!GCXD^qL6mDWrva4v(xnTGvc|PL}&S6HG z6Z8S9vzQ}HjRsVj)@>}cLVO_vZNhAv;W$E4Q~0bnJF zH?nsN6o}AD`SbeO_f`=LzNPl46HNROcmk8FZ~O^z%Cn-%>eDl0jg7Rjhro?Odk2tN zIJZz~MGr0-K%$|wmk9VYtMSO2tLxY5XGQQd6@d04?+E@{7z9SZ?OezQpu$53k!d9= zcc_;c;lG^VT@BY+5k7BZE@Wm5V?h{IdI@tRs9UB>_j)51X=7v}Q!jiC8HM)OlpNt3 zHMma&8~F^xZ;=oJa6vdAVA{MgJSg3-(dblKN((_LQHd6i%($X2P%`ow$Rpx=worO) zds>OM$%8V~OLzkO4)FNmVYPBrFhPDIMTzm7?7vy!kVSKfqcV&nh z_Vievc-<Bs%#~$7)T2JTP8&#XoulE$_AG$P8WGurUf0K#0{ba%6OgA_0lgv|PFd z0Ui^k&t(q@LS^ynYBu~KNHr`b#7ET&sF?|)HuV@ak`HI9cVh&{@SB#K# z@&tTG-P$ZXb5y(QEb+%HnI6rKpZT=eF1xvWF(RyKent=Ij6JPIr0R+>azj(PD^LPx z>xYdPpt9jrvJ#a5lNzvx18i4Niln3gj#R1>WX7O}UH>Lt@|XKSBFN-awZI`NQP=!$ zR=pG=pno&ksWbYAxHXnV{D^9xIx0~JTVQ%w1iZWn>;fGNs<`6H;Tbu}*hc37373TgtaY}<9$=PwmnfQJX zM?kp>W>-je{05g@*x1Dr8oIO;s|EnlPnnjH0znxG5j*`&=R?<;k&n3|8v=Uo?^rvEvlVnl%S-Y-o0oeE@M4sw{{uo-iZ*S@+FFA ze1Vl@Vhq=xlb1=*3N^j<}h@W$!_Y$VJyTn%9 zhT&r9v1V8eIgs2Id6Z{$NLsBaslJ$u;Y7LLNq=!OzB--zjfec$3x@$S#Z&@DlE1=G zCxquTNh;acOvO-c%s6D>&|P|j^o1ZrFYbRu?{ukD5){4rhwhv-IuI3m%$VmLxTXJ0 zUiw?}a*&!Q>2MD4_WR^u$)M*Rtkr(K;D%WfD>C7LHE&D4O!%B!&|6RMx9`nMmGkya zTS`?F|HN@&&ThEg!@!Hl?4OlYZgyXfxlC9R?oN65^mD!W#0(o+x3qhub+#*+T zUK!0QY$X-cA&A~H)eUpfWAi10k9oB4vVk+U)70vWj@Z%D2dKrZr*nY_X4d7L?Y2== zzTIGFhDrTx=8$f;bz_~hBmbP; z^QHyfpWkSJ#u3^{q(uZJrMfb}pT_Pc)M(Xhs!KV^7Vem+Rz~Wb|Jv)8mX=YN3uZlt z0HC>oi4(EB$Uv=w^y;Dmuz|u7Boa4-*eZ{jmJN9f;I@!368ND_bWAZQls-TUY|e-z zizIqX?)!D`KabgeFP8|y?d4V-aBld1LjVXV1EkP{Obq*0zL zz#~Z>snjW?YNgzJ{WnwRy8+=vTZNOI)X)@5h~>Ti^5Z82so)oBK;|4$RQlp6kSOnZ ztsHM=WX3vr_m}$3vJh0+^>n0^q&>H<-kwXP_`>pDb0$_c>aP6Jl=gx=( z2QKGNDh)ra)EshZ$7ThHtT3*D#fG>~WW_qC?ZQ9*)L`--hTV>)I%Jw#8c=BrtXzNx ztf8U?$5iAOc-oKo@PFP@W5q_ebUWCJ#o!oyn3#jLyP9XNmQK|5`NsF|SHp_JYECqt zUS_5Lnq4HbvS$k|k`^ERE2BRxm;RTX=@Loebj+oYGu+1s@t=1sZDZs-x zRh~ft%EvSejFH!a#7T&U2sv1ohzO^Pd-Lbdo8LUm_OtfB`W{uD7+)R#sxXYNyqf*f z3M$`Bz2hWRSkr#gZNbLB`WD7lp<%sICu%Ww{^*|lk=1?f6Bk21?#aHW(`~>K3KO3@ zuvv=sDK#Vlc#Bm&)BMt%^)T6&HL9NFNfFG|SA|~I$b05Y=tra6`T}OSMYcCE#d`Kg zY`nV)ETZhr+p_}hjxW(UGi-hX>Edk-DL$B3Jq5cy$oH{TX*YwPb>@9USniCT&sQzN z@M~nND@gP}LKAQTuec3cgiO!S%+Jj&Fe148WF9VBj+&uzXLY~;MHBZ*rXeI$za5(j z1wdKg{`r}sruEai5E8$lk3^tzAZ>>zq(!CtH}%YvHj!YEQ>A9k`D>KK0SaOD83q>) z9%`8AgZz#X&L0G~TYx6w)rJI()7&OL*0=lt3dz&mfEKa38kpKg=b4!nz}EkDl>c|F zW&z)zL5>DJDs-C8EfervkYmHKDz{Y>h$j=^UD#(e2Cy;Rl?l zUAZOv9*N7Vk6+cz~v5wD^KfE09!psF6dk zI}+;0E+og1Hhp-Nd>1O3c*+Rmes8>lZ9eeS%M-8nn3o1tNLP~1kdD`>RK*77GJ&31 z75O8juT<<+0?}ob30F&T1FH z#8cKyuDx)WO8K#OxyMW)C&lGF6gwQ3wFcW@(+!w;#O_Br( z=R+^5y|?%*j}cV0n}`{S0ONG+O6W%XKmF3jYa9<6QN(vV#G2q66AuImJobH%XT0Ib zG)RtH_cU68+})@Vd7aBiD^6)jba#(s9^=n~grIes(5`cdmmTM~#Gk#~T)(mA`K6iL zJWVY5R49h0*X2&tluA&0H+Ii-poDjaAY8O>qalMBK^a91w#jk6qj5t(i>Tn; z?ujRD2kx(14M}(Z63MLBnfv^q~EEuyP9(%}IuOoa41%+%H5>(J+!5LAAq{dF6zD6diLWObyaKI3H z8rjaEc}B-{eFLJ`aJC@ZYu!Xvc(I|8?gN8h{S>O#@H_&;v~w`mx{5T9D1L94Yial= z+f+ey$vuBX{=Alz*Y=qVoQ_o{jO~yCIaDa1ZZvjA!x2)#U_PJ*BLb*zNzOBH2b3~o zQUIW8P)3Rx$RkJ@^q(1{JVLUpDNxfwp!Jw{_+bwskrltqamxY(YLkH&-7=PS?E2Q9ol`@Bo6Eau4)K;CDZ}@2Ajcw1bMU>=a>3wq z1xy5W2x{Ia`_NZTv|h2Eilj3@488!1hCKqT3IAkRV7#m55pfvsiMXL5yr>a_gwLVy z&w*}CO9fqN6LGF&f_*%?Dr!znHU=V_9x|)lC7)%)U%aSOo=<+Vta(&8tIP5ov;WfBGw@yJ1>##_$z(8eQi^st>(G9<+uLaT*6b5OAB;}}Ed0oVBltxeyfM&OuhV0+8M1mA-MUpf!k&W}=_GxZ`J zeU-4yWovdMomdz#p~Dx)Dw`oqw&;?!Gk#)cA`OGeHI+FU$>TW)?fJu{?)OrFM3nxADzXGI2WHhb+1AxbvQ5 zrw-Uv(rr0kDs+g>%6|Yhm%JsY02@wvR9{6lwcL2*8%=R%xTBV+HUKYO6Y<|}#5toA z7sG0poBINWZ1W)?c)P3q_Lw#A8JQ*6-jZ(MrRw<LC+k4#FHM~6(I$vTOvf5Lr_gNTE?-5V zbRb%w(aDeb8^qHB~6LS86jv)E03b6kv_0$?Lra}mZlP60*Y7<(kHmn`@n55{Zr4-3~M~tND$K^ z$<48e<qe?QLxqn(h)Qf21k=Iwa1uj7A2F74MgH&kJ3tAn+caTb2GEM;QNcP zg#HI66qUdkp%y#`)`}w!a&{U=f`)6Wg6-#v1MtPSyobl@f`ey$LkFY#wf5i}_cVly zqwa4u?ip7)J{@;8_@7_eo1Lu%aidW6R%8lJnJeaGVI+RL-1=d63$l4DSf;8**c#>Z zAjwoM`ioXv6*(?x1}vWk8-w^-f*|%#J~4v6$Tk}UFJn+m9l`pMCI(3pXl4#irhzG0 zA45U`Tg9q_L!xf2>$c(!|GXpd8W@#|4wC}2`qV3rK&Y$=YL>V9SK7(rMkoVAN)-iS z;9VjRZRuo(9t+afR}R-*0qGth;PCA-uu-o=h5_u)#$PRrvn- zK4F#>IOM5jvh@`SiNcu+sXODbGhipiWG=6QU+o&Pw=65Z?3P52Z=7V^0jZvzOmzApE*80J^^hbf~zbryTJ8dfB~)| zBL4p{15u?-d124$l{nwf*w5g9UXSfr&z2?~OOzss#>TD3#MQ2e7te^kl+{PvqD~NG zn1J9Nq$V;y+jUigl+vGs%0bJB>-c9Lkfl#T72P|hd0Dy)jRneOze;< z3;1@FYVaPcpz=6Y`aN=&s$Fl?j0z)9THZJPShSEH23AL=gl-3!B~~@GpouZPIBRiR zBVA~8pir~_LLyV;7%ye7Mb;yW2T_s~=cjEA!G^Bt-tOYMhAFbT_e8;6Y* zW!(q9Le&M+;Lh@X4K5X@v1Q^O2(5YM>|xPr!P7skE|`*V*?24*O|+prZI>^|nf`u409oy$v9Kn}a(8eS_Jul4E4 z{`vX2fAv~hGh~@^4Pi)kJYOaR4ZJPa#qPzvMba^t%Pk_?oFSKdFK9D5<9+u@0{ovD zdw_Y8BrXf^WWY{i?yxsY=UV08RGwiCdl=|look;S{Q<{ms{l@IgP{@=AX0y_Y}~oK zVpzV}0c-CI;w9{V$!uCRpQyoBjj8vjV$ei5^2x@Rb>S=Yp#`>{zI%UGJa6mzbJ5+q zHUGU%H2J+=e(7FR(z09+_cE(>aH?c&m8aOrKxFe2dS;6E%NlN>ZP*P=LeqW&b3bO> z3GZ}2(4PVuM;rMMHYRECh}QeTGf3MgY>(j6#>umyAF3+w^h0@X91pGkX+OBL*{<+D ztl7yFPyu%4uiygCpvBaT!%d9s%)GL!GAzk`zHlz(llnrz->C$cg*h6WR|R(jZE(US z;Dc7?84=)Kg4oYJCqc-rfq}7E#lma)IPCp{;Rkq{=$P=0X!3bA%kbKWn;?NV6R$=j zf{KK>d6(da;eShA(t>Z<8Kv5=7#OG@JI%j~sywlasrK&;2d{f^HMbblU*j0?Q- zvg($^V+4ta8xuBl*nuxEH2Ar0!z^79naG_+rgM$7Ssij=0c|L7Iv6%IRx84{5$y$9 zQb*?2>&UJuso>K-yRB!GGt2y6%bhW$t_+1PZSw7H`C3e((mBs8{gmNNofOZk|Mv-Z zsr@`y`wP|$^#hVUA=_NT{~YzqS>EUP8;stZ_m;xVAyeV?6{7JFN?(G5Y6B^$%MkD5 zKVkIW?mo{STqf$4S-oX>NX}Qf&RK>89~MyEkyv68@`(&8o$9!#adDi6kAn}gH>$kQ)-`dFsS6`+GLbA>oMLefScdQlp&Y-7ZBc3hSj(_~Dk&nT?e=955F4Taz^RitGzrTT!D|ebE zU2^0}F~j>@4hvl8EpFww&@UaPyUreUB58rQGs=Q3%7TmTw*WmE%aT`vODZO;;?j#B zA$2fP;@Jzn=Dmjpj8qKe?QTP%144()@65QQwC#*-fbO-ymoT(5izggo3NDK;w&8vm z9|PuO0_}{{Q&zID60RC}d|x$eCsD73$8)I1&+Q;Ow0w zqxz!k(U}RAd4zOjB+^%u7QU6zw|x8l{;&7-ef%H)|1G!N-DkW$ulMWqehw(qcL5^) zZ|mnBa)Iiy;o7nh{pYCalC3#R?mCIjn}QX)7P!3an1nZ&4%qeAeGJwkz2No^X9-{6 ze%>KD*Pna2A`dvn?mPw+m#(H^gL-QLa z_&rJ@i}ZKqR5Ta$SLXyfE>#+YB(ZhSD%*oy7lU1&cdJA!cP^UFO(#>QP1oSg28S4x z$+nBBxrZZkeplORky(mPJ?+#>i3<{Eh>w=i54a$(rGNLYODF?$0Fmdeyp=f|a{}Bg z3Iar#cvd?M@_=`*Yt(h=?BXN<^i3adx!zpNrCCr1U*)Dp_M+V0LTl3q6I= zmN;53z&`w|z)R?om+Zr)8xNb%jtA@<7~Soz{25fAXLF^W-dIoHx@$@=u^J zd;@$6AXGv<+>1LQ6NZHQz$C%%fheR#lpbN&c@*W(**_a0Ha~hmhqD>lE&3N^EB?nn ze`7?XQP>tjZ+~SB90E8LJhI-oWu3CzH#}dQQgShU{=CUImhOb~l7#f`1mZ@fg7I*% zT&u49@V4SeT)XhfKPM$dPpw}F5QZZO9K*~9euACvf<$GHc>ZUU8+7m-%uQIw8OYhn7^2KZQvrr zr&?H&7#}*td-ntggrumtRY>}@r-4ujw_Bsm1~$IMzoE{;wtjY5!l3hjVsdZF(}(ex zh^&%|!nh2-8!Rhj7|yVoq&EoL()dSG=rU(xaZ6Iv>`Y7PX`9+a#sJ{@2@I$J-A`!` zj%w7X(-bB)QnG-xE~9=Q1viAm<}*}~IAN>3CeJXu3VH!KD>W9Ej^R};5a2U{Z3Pwz zo2Iy&#kT6?fa7!E6U__-S8S@ZlW<=Re=dOP_{I;bF1J0 zdjj2tL8?&|do<=i>x_==teK-@_g#UCe3H_tzzPt8kdkFY5$O- zIgIhN=b8>#HQFs~0kb~Z8U$@)_nb}-@OFc#!*L zpvBU<;W%FG+WyM(XfF*0NdGbAN;~#or!0*_ z3au7dP2PSx60MW5{`0>8j=Tw>+YL94Kn*H7U>0{jwFAYF<5m6@l3nJyQ`RYar4e_P z%D`-ruiuV%YhUbGFj;EU(;#=X=z!_EcXqHxRx5<&A^G9?azR@+zX{kyeY4;BX4m-) zKy(%~FqF+r(jRK%{&(*Hjm%6IN}2jM%IaAV^eG>CR1USuWvbZtopbYR^2pYRP%C)= zN4VH@g^1LzY9k#gmB*AS?G=V+kL0NAz|ilh7unnj=HWa)rJ1n#qe3ya}Sipb;&bFJ0ZSe7z~yG)5aBAG>vOS#15W zLq7eXR7VAkBDPsBx0wQ^~F>nheuD=e&Sm~{3GagSx@`H#u$+uhHbeu}iRH|pC7O@O$Nf0gO}3>s zhqcyZ{?Opu^izz2ESl%WCvlhcHy{SEF;H(h@mWHeH9yRr0keWm-B5^{!CfIfTwI2~ zUPk2*Xk-CFa48x7Yz|y;V~BCV>f}^d)i_GjPckM*^y_NmFuI8JYqgazySw1WmMZ)s zXaXBAm~|KNWA8gSH@cGcY$OJg%9v|hOqkjU;$9?1vRaZ*Az`nkD_hJ#W;Ycp66Oq+cD zSN`#Z7=|MR+I1^+*n+Ln=OKf|_J8D7&>JG@R?H1qqfpgljyqv;L-f@R zF(O==)8=JW4k>)Bw*-yEj{DGrRh0@NUpis6Y_ zt76et&1vv2Gw?a;J3OD|<%a*R8PRJQiEA5~?-}{3RtZO_xJIFs#a({?9M6WsrA8q8 zJ2%rZLBDejnWt1U)qf>zN_i%jykUtuV=|lW8I!In=@>(tlO)cj$Hk`?OVJXD-_rkv zgVqhdYc5$$UU2yHdw~v=qYBZIqpj;_B&hF>)V9f+S*X>K>Qn&8)u)&CVsHQx#?Pg7tYkYY6W8%wd%}>dx z{ff&~?1UPO9+l5QC(*4fE?A~hny`43EA*Q_@O^3R-~m;4^xZOgMy z^u?;W(X~J*Ujb?Qhj%Dto~6|9NP`Uj+5f|ACPF|Nb}6+VDQKiMi}sC`GiP{%9b^&ds?g5Ocx* z=-Ss?%V`iflt_vks+ujsT8?;!yH)HJY24*M&tO^ZQbXew zT*#YbQSH+uQpG7c6?0@mtsy1O$U&5SdO6f@vr`(9%h-bzDsHl?-(-)hWhcqZdk}q7 z<2+JN3(-7MZP|kr2PISWoJ{Oez6yBS5t);@QdIU0<|qv2C{h~PKXnmv$RX*`{F5#k zq;y&1fXn+RU&vi7t`e`P;=~qF+KDt=B0hhh;uN8gT+R~9H-D(a zitz6sGcQTTR%YH;ojMdk*XNzvnEM&~@%)4H58SW(8HzGBz{L@8;J?$HhRuJ#0#x9l zQWr8cI(4=D^7h8uAppLAROP^sJ2Qzhc>mxyJEbZ)7AM9g#uF?_)2j$izRr-#kjAAT z@aY8EP|Q=C;xu46U_H>n6&aR%Yv4Y6iP8~?Nr~k~LSu3><2fOc$i2qd`tzz< z#bdL=CVA!WB~c?wB*PP!+j9mUQ3p20sUbz`kH|WsUP0I)RXwwp+du@j$>wl;huh?dFv#DXfA=* zHVktyVtKc31om@B|GxG}fu#uSw=a>rs+Tcoq-#uvEh;=nB}{AfiGvR*oK0QWs$2aB zG__efCGnJPS_jER*n@a?zaq>hj9dt z`d>Wio8$)W$W^XS&$!g5Ip;-*#UeC+lMB0uvBD7So*pJ{xPz>5&iz%%=k^U|u`9?p zI-vc^0{2zOc7Mi6>21?Y4%q{HK#PJzFQh>p##;_*=6&NplhVw&$**oa^noXGi~G|@ z?#P#9NZn7#aJU)bpmZgVv%iy}Ihe2~qv$tbWDAy}9VRcZbnwv(2nGXdeDjC#n@Mwg zW75M)1^&`=Lz(IA0!O@L`XZpdj7mTCQEK$_KOlY~k-cZ^&U8H}DK4E{y8maR1Jud) zXa8@=BOccObAkz1dYj7`of5M2NT+zi)KQcz6v@zrh!U3`Q#qU73d>b@MiMnD=)xax z6FV{~dY&uO?CEWIV);c?<@ffP?cIa#SMsd=Fb65- zb^Noe#n|u_Cj2iah6=28hC3r-9JWz%35FtkO&FEWwaIUD_1N-6Bh?}&5`VP#b&T`Q zy1XyK>_0R3m(iKfc+W67elt0K$*hd)nW4)#C1*u-_@ZA?BjeAkyN}!reFMGm3q3jy zubNk2#7Z4N5%qs(a(%y_8QnZTj|rfg4%%xv=-Cz`w&kU}pq+CJ&%l37uJD+pY+vDs zt%WB2en4L#l=`eAam5z4wpO+_vVAFFP#Dmc{V-nGDn2pj!vnfHBR6IO*$xImpBiwP z+?Yq-zyArss35MB$k(tZa<`u8vXGDFvSHjrzjxep{{|QCfqsFZ2=EnEZUd}=qCc%2wOJMobO z&DULqBbX>UxW>d?8Z%n<6-P(418+yNtGNxbsL%+n(phh4E;F3r>;@H`#LqXmn8HPZ z**8UkRYD(OO@QpG6O_nr7}(#us>b*o-UQFOHFShL4ps{*(H>RDB$qyDUOMwkt^0ei zPqVRTWucK&wiTEL%YwCuB#?PeA7tKrOE+&qRkth~NL|IPYQ+-@|9O2CheVCjJ^Aj2 z%iiKNx=#EpSN!&?7~&cRH>(td%okcA?~7aDy+;R@B4KQii^f%@fyjFAdBl}ez|n(p z0YFcSoq`G{6c9NI5WG*cKXM@)##*~Ova>+o0y>ajwLD_67fD?G?prt7FFm->^4|$c zY7Y;1jozc~eUJLu_pd;+%p1vpAXQ_K{=nRkggT7>6UV9c0y^z~$_Zigo&!`U>g#bO zP^Hq*+B&R_1Qn1Ug%WZdy2BWtsWFD)`|@(ZcJ{2qwNF zJL_dX)r|RJW;V+Jbytm(%IB3Ff4W{j>RRgSr&ChTap%&5c!Sqp{wkm7Dmnh{p6{;P z`_BaaJLwy!Matasj(dP2JWwFmGBRQvex%jDyVDLKp!5I)#at^`=cXQ68t~D>#=}g< zK=dy-_fl_DZ@1QOiT$C0`;l>C40_a}QM}f-q_4{0?y|~_nMj$k`K0izz~g!(v}2+O zPwjQO%XPS5=I(DpC;qpI-r3Ip^mlU>@U_Yp#GAVNZxLfGXYX+J+)#~{P)d+cIB#gZ zZD@SH&weMe^-JW=%8I2Ocz@`)33!;#KG8Yt;9>sjxyquMin$Ia)K|@V7BDLyeWdqxt%@_M)`c7@X`u=G6_T?<^ zzWQG4^6vV@EZ>t#u`73`vz88kqMfXNa8l7Avo~w$LD{$Fvu`Bc)%LYC1Y9Piz5e@Z z)mJymfHXEmurYaxIF6vQ57M_CVxXU|0`Ssz8xT^O<8*T&L~-=C9OeX!8~~F5Z1c7W zusMgfzJh@M2Itd9S{x#PyxtN#mc6!?rl^Q^(hXq%6G}4jyi-A%yzS2yjkLuSZ{0#+ zHK8i^Ur?DH79*ws;%}t1T@b_#NdRv0>I2Z9)1pCHywc4d%w~6DmlkVKoO}!U+41Y> z@9+Yts^8Tx{T8G=?#}|n3(etvgeVJL1i|p%(@1}TEX2$GV|C=+Rltj%d>MuWDYG;{ zJ}MqywSh=~*xqHYd+d?ZK#Iw>sC?oKQ2Y+v^Xal7Y3=&gz(DFb0P`N7Xxaw!F%9A^ zSRybLG^?JxtCti88{YTLy5%ajR6q$1fFe-{>VP1G&lkK{UuH+Y4_PWh*Ss_uH~L9$Zw@xhPRp&lGO zb^TF1GoKyXh@n{q=-QNF2a7_FRf`pLTI;Af=i(hJ`O_3ED`XTcE3^3O*k<;+$SDe@ zez0-9jr*8>$$@pm5Le(JrL>2e8S6Qmh9!*IYH~1hSenX_<&xzHb-9iYiR`!IQXM;2 z)m~~Ycdk0jibT3n+ZMLdND0zZ8c}cI8CyzQN}6m9W{s`V(E$@KNDF<_NKSovTj*&E zd-g5zGxG|*85!HX_Hi9-f@1>u2L)FS2A&>gDw;Z;{O`Y;0~cc_t|#y0{Gbx%RE?(guYkGaec02;Mr7CHCe~p-gj^p;{h)HP0=_>AI*(bHD-J8 zT~uEVojqFFs3)x-q~O=Y_Q2yhx%_&25Z{zD_#!4KSV!k1hwPWrbm9dv=)2;6Nf=sO zQ4|D*XjY7(2fxM!co7;LTMV0*^RJ&-VfnVaL2fyd) z+oW9+(IeiDYGwyd!XY)dRm>xp`9Ie+s*KUko>ow6DW4i-8u!;sNgA${x8?^GQ^aL# zYSa?sLu9?vf*11NX#wc^kH=5``6h)x+R;YZ0*8a=lhVOs3@|lM`T!*QoGv*Sj6j3! zbIF0lmonZ%058BXT*HzCQcZ}8QI!Tc0(lk*BGCL>!=fBq8}#B@Y7Ke|NZesNlp1= z?O!m6Jy{)2&uV|%KUsZd`n@+q>7Bp+grp_{_@k$YEg7W(6DnjWn3k&2+m%$NfrRs_ zdiGxd?UOgIZs2Vp_(mA%+&L6YPUcVUaCJ1NA~4eA{bQD-Ilu|6FG<{tjW*B%;N$Ko zO0N}AUl8!2?JjbaiOmNpPO-Q4La1FahyO0YqCJ}%x@&deVPLP(Sfwq?U(ASVO zV8+ZmdMi)YHGxk8{NOLTO$ZP-J+6Z92jH8AZ{Nv0Hk$spHhr@^RgIh>$y}(_wtwt) zsnC|pb=zdSjP;OHW3HB~rzBI=^lFMYW}aS(%68uGQYQf!P4MWY5wWCMxCq}mZ`X39 zkKn}3#9LQny5b_98Sj(ID5$>Ai_AbQ6XnnG>~A8TD#Vtm9O?QZcc$RMDUR<2#&N61 zo+NmgQe7;<=hedfN@s?*>e;Ht?36RAcJbNjWf8{MJvv9i7FNbW&9j7TMdjV}T>r2a zs_l3c6<^EgYG*ooTEoLkh!XahX-?;*4ym;Xt8$dZgEMKPNv*;CbKc5~LmV8)OPY~h|_8YLC^i((+#x%rk z$@nC7R^UNo>15=UndM)L7kx}`d=&XBzP~<)Xro(nfM^h2t$Nw+AW830+B{WA zqX}d#b?3A_=k#1R2Cx1lXzc3#qwnZORoApd_=4JnS9h##PR<{i2;m4xQJFWN7;SDB ze6+>yP*Uh2qx~aGE*dE^9z*)pu7gdritQT4+Te#)@%YIvaI^UF6C?xxMN2<$J2lOU z1H2TX44hc!2{^Q`$RV zyf%qIfK5}rsqvt-2E`ZMJ_eEw0vUoRa&F)Y%g<<1cSjm#9rv^;%RW5g0=kS{Fj2G6 z3;I;v|Hat15J-3^rcVB8y$DD^xEH$k?Fcb~z#XM2-7SD>i2DRPpqFc_c)nZrckKC%a*1?!4n%^2MQgTtSy!Iib0Z*;y z0*o!|o*N2&H>5#i4xp^ZlmZHEhH>5fxr9R^O#UMM%A#0vB&PEMZWuooWcU^HHL={p z^7gY`F;^n9WJmxs*K(wcvDY`}E0nJ%Vi}xIfpjUpEwWHlA%p9QgMgC_R)U{i;_=qg z>h{?usXq-+9CxX7WYkQt8lSGRzhbJxJafw#*Au90S3N(cJjd|I_m>mbCwj5YsMz~K z4SCC!bP$~6uU?gV?G0U__xtyZ)#qBp%NBlNIDNIy^R|>yfS1r~hFe!l1Fl}Hs*$_o z!YdDoJ4iM_!%FTA8eAe61YIs*o-^fFt)MaziTeOYBFVW(mUstw;W}jWvym19i zLd&J6m8*Ri8rTqsc?;;M1kmiW^P3El03>ccK|*Xhr*$I%6m#xX1Rya~is>jNB%dJU z3B1?sT%!{i*V+@4;wDn;P!+ebD@PBvcqI}vTgB#-sE*vT^YOe_FRVC|?YeO3Y`L?F z{mPgWF;EWRmdR2dAxm9D1%tGqi|g(_H1SyXVKAu=XUiXjete+>*8{4Wm(~F3f+Wq zkLks*z?w8vd=36Cum7v;oOx{u(%fWl@vM7MDrAEquu3`~QsjTBGA`G$N=qqYGQv#r z4M@Mc5rjX0`BV3mw5i%OhuYM~(Sy|?j+O2zyh5QB-`pFx=luFVhdZ8YZV*%!GGiiq zdh;bRma48FuB{hAdsR%^uJ&`cO8WPGy1+TI=+xl5HW^nhOgcxRui_D%B5BF}Vd;_2 zcs#mUK6L}|^4@9paiX1OmMEnZ6a_R=NdBy)wtE6QF0~U4I*`y6uyz3borBZ}8sR+{t*NPngr;D4Q^e)?=H7_p&TIKU&9C#v;&N;01eG7Lt=k$qwtZ4y@2yr{Q>wz zFL|rWN2(w|>7fT>iv;?@9}ZCz29_4E=FEb%z9z%y9R#qzo9>S?iMFTjqo8X<>-cC( zf!g+YAB3^_tDn0s2|iSzD`+AjH|S-;Q4j>9Awq#vmb{nx$AJtf)=l0+_F|E;8td-m z_{f@R#T=Z{?Yp+Ta%`?Q3E5z#R5ZqS)rKo-wtua9PjS8FHEyd*wS`e5(od{NzDWuR!+hEkpMFlO3tM2m@&1aZXf4})YiXwH2@f%F33dTb#ShMk z43buUrS(TDSgRFgEKGGUK8}}6ugGQLX%(%eF^UyzHZ_?fSNxtDn7t9!XacU|&}J{? zc=Y|Z1nL`uYeAeR*k)EihaW^#nKhBjDsUa|DrRVaCH&O_^(-h1lX6@~vq~8e`!Sx8 zZP2B#B>C?;z*tLnDfv4c^90QZ2+L#E2C@qoU|0EQL@QbCt=Cd2FprpC05XgPaA1a;P>PRGB5s-Kh%qI69ho@?RJ z3{+6o>DUk6hR2pW8(JSFV0XkuJhvIL#Z85Elf+7>og0joC4Jr5#DRs0TL|30%`R|d z>Mh}>-s5WlCg#FcnweMLfbY_q)2@TpYO;c>GC}09igY8>6L8~)&5=l|KDV)1_qTk| z!q4~bGKNV23x-d05+YE4#eh%`vFQ%V9^lv~m6iWwPGYPs?_pCzAj*tyPPub=Lyu0^En?w?M#wg!$BX4CJpc1OBfgA`haaxs*rGZI>?55-XvHBpcpSL<^OqV?d ze~Z||flfL>^TgDRE`&9@6EWL~#;nk!L7D;I04W&a3xnE@9e0RI2u;wB?2I{sk|R6~ z(R&VhHz=#l{KN1Pb3bSbIL9HyMU>oIB0DUtFQUa;dv;O0O&5h}t;u~Zrey*v=NwE! z`B!YMGBs2)MRu>)I%v2nBLw3y)q?+`vNp-wzaeDos_Gt^mNnwIG1I?s)nv(yMaNabjo92{QgoM@|McMd zFB}15Oza^?95@mkYaIpavR+kP(GWB-JiIExXO<}uA=|oQB_;c$`|@a#N~o-3087NG*+mPkvW;gzluDtW9TsTG`e+B;U|~x16EoZl%F?%A*Lr zMS1QAEK#r7TLVmH)UXn&k!SDKvk5M|Qrhmey;sj_9dt|4MNYzrTBGmx(}q0#CG7^Lv3j?IX5g&pRq5R*P$f&482N>;vGkc64zo1YI27Qk`2>t zI`dk?Q+&9Fy-u%n4w(->TRuw3so@97Rb76~64P-a zqhbo@{GoBe$Jo5C65XYnqwAqG3d{po?ZyR5MRK~L*o>QczDAE1WZUYKX6CF#}|H} zxd;ft3)qtwf5aT=YXtd7Wf*B{JqNkrOE)(Va;h~#Wu&BS#8zHc-kfu{NR5zxddXrOcia~IIr(N0Q7Bv3Fgg^nqO zN%vl|a1)I%TPAb%G2cD+9F0jnjYnQUEUeagt9V;soIfYenqM_Jb+V;~O}a*!gU>-w z!--$7E=!~~Q`TkpAD7`YwiVF4!FDNv^i7o&6Q7wN%|`GupoWxy@>rOWsB||7^w+d` z%G8%Lhm;b#>ZS*d-c-h}4B0TurYK|NRiq;`!A)?)Q*+i68~-@WpyQc7^)HN7S;nob zI6 zHPTp37ygHenek{6(KajNW>&@(K<(yOHR3qk z5<43ZkCI^m91{7T0+uW_z$gXEt5wYR65~dJ)JegDXi`#sF#pkQ&eo3YyV)8|Or*d=rFf3( zq>mo|TW{M0F3XF}U5d!AcF0=H{K*^_1rXc-#`7|r^vG86^>3FhRYBudxrf2|GDK#x zfF~Mz3yltgqaTtDK}nH|ONuzIIS6CV5+G4eA@(Oo8A!I5_84nzUo<-LZbNd?@XAmw z0L6t@7K9yJ{NCqz{xjBu+%A;hBM%P1GOT%8N)m^3aF7J^W^0J_v zzK&?;;2-th#7Gr%g*<}fBc|v*t+#a>QlKb8chB2AJN4uR@&(>tP6Ib`{Ll>8>D7Vz z6spd_F%MclU&T1Tv6Y7l9tbX->Hn5b2pV1GB?YV+w#&>q|(6!?(4f4w;v8*^9K#qcp_qXZd1+( z<0YsS?38YD_Y`Ks{?^`{D&DF-(|6<8rd^5A;u-N$GOzVm9P3z|0vLleu{q*Qr4(Y( zK(RNoQhn&Xh;_dmkq06>V%H}_AvLZ^Umr750&ZuD=4%9{fe^k>l3Ns=>7+PFV(uZK`gqPX-@qIK4#Ujzx;>xxdf zaGy|2-zrLJyUP~n%u@<3i{S!Ywt{W*N`Vwds=Dn`vL!sXAQ#@@_`Kujd+lS7lGnVM z7wyC&2Idx7L~X@`o=_KA6pK`AXblaiF{f4Dn*LRJG4B4(E^m$SZRPtTx(}})cK+oz z!fs%{0qQq>FTs7@SAYW4CK3oxWh=JTqfnZI24Xu&2Q+eEUX2KSe8e9H-O(-41dX6z zdba`OpPY0AoOCX~-gbg!EVTPAguqmEa&0YQD(Ky`wV3Iv=n+nVm9qkVBpZ`oEC9+q z@8>Pxd1J)$wgANjFu9KL0MeZ=_8a5HgXk#&OR z3IwAC#EyM_j(P%g43NRlS!BO~*ydnB1-?Pi`n`ZT@EQlZlG}<^i0IkY$1m0%o<-qS zal7r;jFU&WQdYqQu=Uf4dHm_X_fyx_SoEopMY3#9Q*O#>;@;JzS{UNr3w{m|!1Dvi zGC6QS^z_7x0G`_su`3x=1k6C6PQ_)g>V|Z-5MOs)hNO@B(hxV}&Eha1bL!s>y4TRn zMVC*j@b+J52K1OlN2g|D<=oUd`>r!DYH$*ja+=5R=5}#Z>pe^*bvb@jn0*yD_&_FA z21f(`Mj(wuI$_jJwDtBS?pmojfcwl^KifLVTCxzRnR0rfw@+y4&zBq#o6$uBr&kZ1 zD%pRnI_emn>Ud?GpRxP4Sk@P2jblDV!y*>8p)frNzKn9O;r9Pd62kMW_ON-TIiqr^epQY2Fiug~*+SENRlh^a;Atg4${1KE2*bkRP2Dk0OZp@zb>9u1m8 zC;iJ?Cvmz)y~k(=S~nK9lLi{v<{Lq?t_^UlIl$p`t0)AY#&uk=QSmcv{`oahID@Zl zLpi?m*}p9Iy}gu!zJHz}lt=a6eGbk~Fd^my!^79GyF39RB{F{MvI`V;)9iy(u-=f> z2K!A95Pgv&1Y8j*7}(P&8qUg9S?`5?bgWGoTt6>^Uk8{Yf`%i!=Lg!K5Jx!YrhMC3 z$d#9Ysto3cVIXSL2(M?sJ_xe}q2Lw(&%&Q5YuSfUKw?agt5VtxEz6M^wUI4gr}cuh zQ^M}i_2e;_*L$cs14Gd558$ZSwPe2tdG5SH%%MMfp|pc;sQ35jZ{aXm0m0@z+Znz? zpB()DdyeqC%biEQM`1(?Bx=@oc|g~e9-RkkH^kUl_x3|sc%)dZwO6W5^pcY>a7e*R zgNZjll-byvPD=%%*XwwBRHhX^k%YMq9xw+mDR>==2BV;C;#A}X?uvn~E=5iVtEy&I z7!WVS`vg8g&=^cPtTaP_S1lOu)#);_AOR&5bL6q`Mi=F9x)6fBoB3DkL2Ez?+QNGL z5~fgSLzx!tBTtwn+)w6pFnTDs#oWLnliK~k=QD#3eUiIp zl1sWw*bPlNMKOhjCSUb%1ArZ8RAZ{I@YN?B6H5Gk5>aA z{B!oV-qyTzzkhrQ)u96&5 zN!Cr{oEK>$aXh!>c?W<3Byq0Xx^%*v=s9@F^e0`L%G(@(vKNP9x30ZBVLpL8^^I8o-b+jkg#1 zYrp`sEK?yXL&V681Z2Zq{@ojS&zTVC^Yxa(I8dw~0w?&PCi+zJ?n)ppiX6y(cbsl- z;|e6Ntal!MeQu^r9)1l%E4{#iK=kPO2jZg|6B4b9Qmy|arw1P!2xouiWa`eQV1*oO zN|wNG5!nWRjQt5lHpUQkFpivqu!E#Fd*`p(572Z$I5UVo;Dphi-(0#M3h)?ciyi{R zU^qYRvVdpRh-cf#oW916WF_ELRZi|&c>yD9FH^)C1zsA^WmbHwOi}AaUanOqv(<1! zq-Mlj3FscDF6;+RW&$u&)5e-W$)u@VmMFwS+cq*Q+CQ?bS{akw6fxR#0iXo1b}psF zOId(eE7(bz{SEewYX@>^4|dUdM!>wv4;Um1!ia|oou-nFe9vu&Q6@gbI|u6%)RYC% z^%LNvbDMzSoe@D2ggn6;@L5M-elUx!KGX~eVxuk!*p-Hcw-ddo;{+a;+*$yY)Err< zk={RI$TMOnj-wglXxRAEG$3TI`)czHXfAV8Y>>ze z8-lk`9jGIud00*pYi%9iC8t^BIwI>b3Tpqbg=6WJ-wp_8MR@~4v|rc7b6Y=I7bx!~ zn4V`KM|TsJkjt%Kt#d=vzueBPin)Qd>u4h^cPq>oYOG_Pj&_(oa}Lr^W)H_`O>1N| zSan_5!JK>$zVt_L&)rGvm*_wA7uX;T1u^{6$*rN_kyRH)A2x=>K-#@V_=J^b9mM=V z9rs+2rq%0oXFb{&Fk7}a>JcUyzM(UyE^K~}Uo+qVR!3# zf+Sp}MnRNA16b6cG~i(B&a%$4Zrm!zc1kDnv!y~SFfxmkN4ijhMSOJqLV6uUbl-8{ zT$-YslL|5c^X0J11AWs&BRsn5yvTp;}q=oh`wyvAn51LG9#(32kaDE zosuw?oXPw3n zJE!{8P)NEKPtfl9!r`ucpfR*U#~mn+=+z2&-WCG(x9K$p(=;{_DaUByEQ_wBXMFlJ zqH?twWx>G)tmE$N@?6UE+&o|kWVRPx*$Qr^#q1=9%wV8%B22u3;n0gi!(9p`Er^@C z4xsjN7y|%JeN+Pm0;d)vM>TqOt!#6MC{_YlySrRqrCe|YXq)Ybw(0p&A3oZsfT$b` zR7_m1KlY}jmIP{k6o4UpJWfsqm$s{#QOzN;eWhCxzdrT$Uuo(3e^XF?OGcD3zJb3dAK`51Nu|qywTlx;9 z7j3D|Cd9*ZY9=VUh=9{C+hQL@{aL{o=8Dg3Xc^PxyYxf9x>FH-pH0X&-QW6oa>>2oqJXZ)6q z;;;!j)Q2)Kz5fQR0hXs4lCGR)n;FOTL}SHD@flP{@e(Qnqe#EDW(jj>4YsrwKe-qz z>fOQFJkK2as3JImrlVWJTw_%c)|^Npz2lk%{^fq$(Q>TRZQOlV&IWgO!#eS(fyuW- z$tCjQUGk5mlo*;}OVW~N(ui(SryE16X3}Mme!CiV{^z#1VvUM|@!-8(Wvm+uaA5;; zZ^d2{#SWSc=>=PEO)`8**+j7B3H*)u4l&JnuF!W9u62?#by73$c7IP zpONnSXqTY9gju#;VOm$}Y2`{FFzW$Nw=AVYcIYS1ryU;Bp^7aY^)KW}MDbBDqyWPM zs6O9$B7tTomw8H89um#E3$PcIM~YQjBUB;$D+7VjkonFFas?P2&Tk@a|NfB~)k;t; zIF0C?!+)11Tk`}PRnS=+!H9r4&W8`Hqk{Aj}nV)cpzy zQ-HtG(K*n#p~vg=_s!bBmKxh!wB|i)cy^fYw;o#6Uy`giuKnhjR zte}$FIqFmgU#JdFDp#~6-%XA4N-gmQ76vhuS%5Qge8_++a*>;4P!MmjxqHPM2;~lb z(A??s$Oa1P=>w)8(7{SYU>@Qe(zhDnjxen)^|TTachF(0v&mHdm;8?r;f%==3-B)W zP66Z8 z{$*>4FP~{NM`OZjoIA!bHyUc(99eCy=lIkxO1wE>&yTrWR(iQ9&-c z2YF5b?7r3u^&DHF8x-EY2-~$?1)qLWJ{KWIkwb>0b;(MqekL&ez$_qU{aII8BSyNc-S15qmUH%6uca9FO+%ZiTLs^SS0+@C z#-vpT0&aD;b?mZC&uTmNcA&yXOm)x9p9I~1e>Pxi8r^%aHyW@LM&ZNp@?!0P0m5+g5YOre#_9<1Qn^@pf*rt+=BCMRfTwbKJgp1y6-Z!6re96D5osLOv(q zsZRmsIZGG6rxoFUY>2%Tv1He^S?dDEQL*pQxEb767ylbA&sNg|8(OcmAHW0|2F<8V z1bGaj{SBf(fdYg2@hiW1N&+UQ4f7PX(G*g+qmX zg&mx2Dr^Td6W=F?C&zNuu>Gw~IYBmH5>396T+Hsm3{7mHW-|H+Qd~+7P+SMP*kjp? zfsDDlN!T9vmD0s4&l_3JE{~{@^1EK8rg;VuYeZ;7lLUr!)ryv6Da374g6*LoS8*xv zXYxVTcao0!1MW$W$k!y6KMcGfPwpKwVCmqAEF{XM(AR&rO-ctp;U}!u;N8prW0|M3 zQ3Y%j2CvDyau<3Po;nAlZ&A+>;HS@td!8hOFXEHj@WC~XqMqZ7LZ@*TUT~DFt9(oH zZes6MVa;qKIA6DAcX`batCGRnT9;(0!>cgl!)oz2mW3PRl-j~163LLGhA}gBV%VdV zC`8mt5*Hm~eK&eM4sC+nB?^L-eI7w zv-d_SZcqe@pC>Wu9%1=0oA^WCoTa2oTKGv_;?a=;>`N{m7SB&u4KW{2?)Hnzjts)?h(z;UuTF zV4>$q3~%fb34s*O7$ruVz4-9@<&ckzx|5vl6AZuF8D@JK?zrOIbQ5cBD`Y}Cm_SA4 zLQwy1FI(&ea60b0An>>Gz`s26JnM3lt7wn=chH+v#AGmxtxkI0w8R0ZzrZPuX8+VS zI058epb7q$@wg}p}!nkhZfnSVp zM6m3S#;*-baYwpUME0LbZs8^gd2+oIUw%12W$)sqL<9NSox4ejD8)m$NdC#Devzn} z!ok+Gk8+cpq%_#4Josp4X=VvfxZszLQaxN@4(1MEY+)`HQa$~!(220OV1(s>M(WM? zuiT*@6n5%&Hnul*?wo{awl5EM`c6n%2PeJ8}7V2AtLbdV(d zN{#2!#grl*N?x*|6k&_?Q$8G*E6xzU5GBczQjUkoAKBEevPHt?k)C%*)fIAd0|I@l zF!6kvuE_j}w98y19m>K`0(Y=JjL%4T3A*oPDkB-pRS+>N^rlS!P@N#T&o*gufRpgt=<}L8eHpL z>z(21s&vJ=+F229TewuMTO{(T=lIYM742tw*GyBdz+iFcY2p1 z&Ma=k!Zw8s3+HfDfx)FYd~vSJjwsHM$bey}NMpeC&n0>?;;|JNjAK~y?9s5!xzOgh z(9WZcvvAXSv>C3Qp=gQV=BV4=J$#uN=H`3$@bg{D$T(t-?xF|(--*6-uxM`e|KIXC zSED6_Gg`8G*F9+Q&_$^lEgUQq{l*#=36_YyJXZ7*o7E9(YiH9!Owlb_MJp>zVUeti zm1&`@oE3ketd%vttd%qT{eLd7n5}`z56kA}5Sw^zZsBNHSaatbTDGIGh|RM~uw3qq z^mB9QY{T!ZdhwWKUU)U?Z7j^VJ>^Jli7E^%3V0JxZq(8!GSO^l+B~Fb=CtJx@St+z3 zggTJ16~HE?JzsmsPHz<`R(5*RT!zz}DqnfrLn5zj7PmxV2aD`WSA5_8lV}H)hMuaEqq5HKjentB=DNGCnqFe{9Iu5AQMD zD!{Df!^MO#SMMvg_Oz|~w7uSHuJ&{uel<@IT^tQxbLuhX=}qUtkI{yg;M0D;2fYf< zz-_MHs=eWAp7wO2_SPfAX$L%GuJ&raA^dFgJ9FXJ>cBJ8j}4~_wBdizzdIT+PQmZj zVJtA=frpRb+YP@Oz=s&m@R)UQ!&extI_fR+7_R2)O*?2$=Nh!<8lrFM*Pfoz`^2OD zn#YKH3VtUn5&TsAYNFw4fe~W?{mvA8ul8yme7@mp?)9yI@MsnB8ZqYMmw62t|1n&3 zFv9Q}ZuJ{(!LsLJ;LVKiEjfDAcJR{g6>i9wZv^XVtKS6H@bqJ}9$+0#=j!2jj4-gG zV9{W~?X_{-dhiRk;CtackKjG{>0ZOtM1u|kJR@xb$AiW3Vz&DAF=)-h2b$oFVEvo$ z6qt4J8p77x>c?+QnGN$8G47as!tuhp>Hk2(!yQK0NcmVs8s;m;gb{u#4StFVhQ|bb z;$tJY!&rd%#B1DMVB7)s^9)y~3}5r&8K>~@epoyluUR_{Ha`}_W4JYipMece`;0Td z;|$C`k!hb^^TGo|oH2_DjvKzsg!?h(6OY*puL;f=1Me~6rkQmZ{2%t-JFKbf`xj0E z2@paLEh0kb2u^^Yh@g~!bOR(1A}URU*eHsMj)Y!Bqz^KJbRiT01q+VSRA3ZoK~xw4 zaZpq&BkDLx-gScWy}#dk@AH;F@AKSEJc-FJYp=ET+H3Fi+2>H7+Z)i}6Q5YhFwjzTTJ%iL98LLq@Y7c?Z3YKO-zam{b!AUJJ zMGl3PIvrT4*2DU9-QDKljF#wAv?zjKMsrq+nY6reuI`>ZTB3_YiAP(L#QWVvekm%n zZe4;Lu~1XRG@vWQO;TQyL0juia1^cT5`{m)(6?dH&Vhi0FcwL(NY!2T9{!mFE;+s; z(auw?$8lrIz2i#36MjJrw8*er>r*Y>Nr%(3)UrD z!;EV6XXjm|2NSa_JqTu1&pZy3YIwX_BNraKFd!kIKOq|DhVQ|-$x0H76{4MrHH!Vp z6m<#3nnk8z9&V}>drC;>_Is)nJ9xiHNlyR*&_-M^9FYGzo(lV~j+>UkytQR zz}TvvuYC6acR7fP? z(`PbFWS_}4X9Q+Z%KDOtaMMiGZ24Bag=c4Jyfx+|df29%E?vz%O2K=hivtuL;@LD3 znHye+A$H2)L>QgxBylbAPOJ@*BE;r{MYza74^vz*H^i-&0>q#k2dgU6$yFc$>1-M7$zuAwVnn1 zF6ItaQhD-Oiex^@bF*K^S*$@kN1PQpEqBWDmNz+@&ml zgj3}P7vlos-2yBm#WcAujHD7#kLX88V(79clGsM>N9r0;n|H+cKf}~B#CS>KLkjQE zqo}{BGKI1!vPae5S>G2o(a_5ktFU?Rw0Q`%-pQISW?-|ZFBQZc)h2wf8BoLx+h8hf z+O^7~5p}{wQ4be{s!({dMYx?ui^MjTEvbsV=#=QO{Z@9YcFULs9>X0< z)K`D4aZjT`BU2+otkn*~jVlwK(fG${^=?#wja9l>yv9Cx=^)!qx~hFwJ5{pP1}lLk z(ott^SXHQv8op)tarAqXdKT8Cv&sTx(1}(d>Y@IOkaoiB%63(V52c@$bxaBfOQ2$> zrw1%>D(}8goLstT%eCG`jZZdkNqN>m}4W`1OMjaoQ!Ch&En(R zu?0C6a`3oSjJrEs!XXDk_3vc66-heh*`$b$DVJx84FyXEegS7$izs@JzD^%Yv6mMQ z5Ko9yIj4<@540h?kN4!drHJEgDJmKUqWa~cVUn5^vO}3tvZ)vk3)3^`G^;HdB2EmG zjD#c$TXnq6yFNqwM5sa_MZ_XsSz{M>^SR3?8;uN<<`CN^UEUzTK{ZqS61i(Pm5)8g zr?aKJy7m|sN!sS2!%PEY%Zd};ZAQOagKh2;xnU=VN5v2%Gcf*|xS$A8O^Zwqxfz?Q zorD>i+D=`&Tuip>9jt?aGf@g0s0(Vx?vf+luo@Xmj$xaUxx1W7jd-TFsH2;*(epDV zMHY_|Gm9+x6Wv0yOaq?jO8@5~wLajPYNA__#cfJ>9_}n9ykSsq6?e@=AXpFx9xmS! zJp4LM!KK;T$iT(cTumbji;76F($VVCL=~Npxox|Hq;UqtQdh-ty+sw?o{RPCBYpggy{y; zG&`xO;#vtb3mbJ2?$Hnpd{J$P63RmjsA8+DilfX^0$Dn!boqo?0*aj#*qObWj&p{RDg^P{8W|b1pzIXn600N=nY~F$*lP3=mW4GYGNuR7JUxMH-sD?ZuswxiX1# zS9_bSVxs+%HDbBc1Mr zm_yA9x8vW@uo3}rIcOJCaf?p;FgJ~mL=OQy)Uu0k#dP9WEYWN`tiFhot`nA(T~wtr zm(&m@^}fu!4>caBVZk_ut3YqmR>;*bm%{??K}a8dAGXn!-+cPCDy zZFUuV8AxZ@INA|tnp&E8RZ;N}Sx+0gI~X+@IatHk(T<`i8fIim#lOoDw_S(5A!e(= z(*Cz_P&YDoOuZ56SNrME|P26awF;!#;??biDe66JadNo4`V$n3&Ge7r2v z6&sS~+9U3CyLLctmwA6vf9bE8b_+6dlM(i zVzt$4xJ6`4NVAos$WSv8o21rEwAT<#$R_sMFbN4nia57V(j@y-j%Y-H{7?(JNO1;i zqzCq@Sdgu+wxYbPo4%N)t$~_I2-hh~gf)Z6L@QlntOBI!T*kd-ZX( zb5Jg1k=kZ&)CSQae_Q}ZA}maN`km5TfXU4o&_{JwYYcT7>7`!?aQ2%xUBY#3?>fI5&7X`^XaA;rL$FdYoT%ZP`Q`0jK`a})dLCN`A(+mcvw8#Bgj0*|7?El8b>j4yu| zEYrCzDZx{}b7rOp`=aO&vn1ikCMi9njT~rW1NM7o@}Tt<_e-wCxfL21nUnR&o(XxPDTK4s^aOkHv*0Ca zChCF@=@h7-ODNK&gxmpt)6D5tiWe)hD^E4aO@+$%kyDCxnpA!juefLT28{Nk&xGtB+fWH( zd?qTH>FL10XfoZsrLc8AqR=t?ZF8EUxlLYO#u@`2`eY4>Qo-#-N3BV}BQDmJxdr1R zY$G)#K((uE9I7ucYvz}VmY1aaO<*@|!hV=;H5=F;uh71>Gu6KdEyY~V6SZYJ;CYhr zJYI2_JgM^+gPM3C^}(lIq+QEBFJYD)4QWz87nz+-kFf2!S;{3RgylZs}7@)*VL zYx0*}fw9U(JLnyf4eRueM!ZSoD3!x&%rez&W2)@zs-B|Q0og3@W}nMvc?BQjDlfl)}4ACh0}qTeFm zl_vt|T?Eu`G3R%TchH;0uxj;f3_C|Y0+m1Ksx+NQwA$u%IM)%LZAdWs^Y zHE(Q4dAAGmf-qf=%jRM%lK>n-?n#jH!g)$H_Ge1(7ss z&4{M8;#zjiL$XHJ0r!H|E8I)ODfkdJ1X}SEi3<_I>$`uh$4fNmuL?|AshqX#-T4{Y zh@SN-KIO^o^fGe>rJjD?yqFNoA$W%-y>A!_B;ChJwBa->4&wqVB+7=VhWtF(@hyv- zS33-wOdIRf_}T0XzJq(Q5vQ1J;wGm`q4~F{a%ij!SGAC?J8u8ExUYN)Dx%&&{3_!j zDmYn1o|)Zlp^buD0$3_q-uik=uq;>-EZ^FNJ0-(1Q|Z8IX>=vb;}pD;{_;V$)#J?0 z0egCUh*Hhn4+vJ22Y7sUT#^7UnWEa<-9|9vB%^udN#o_48-{{c(Sv@a>YWZvBs?nX zS|7Fz_(L4fAYo8LzmhN#shO&oj$LWDS(M`Dzz&H&8&od%D7;~9yP>a3>1poik?fJ` zPE7jVeX_aCpTZY19xnP)R{DzW5`O`A{K~BwZBzCk43c=RP-`Yd;9*3E>gkVCc&qgH zOU?91jah*9)*hD5M>IE;v%2<(B>j0xgImP?bd{`iw`bpn{-k^g-eQa@;5bQzMUK6> z0*O=`5ynogMuwW3F{Mqqd~9Q2kF?5xo){SA`=#>D123D?AFpcuL(TrMG|__o9CQq^ z1(TcTZ|twKQ;p0mie}C^^+v`(h4i653B8=g_)Gs7D%08oSrb3tmyKR!aLg%U87wzS%B^+L}3g4RZ(3 zEMS@z?Q%{kGDWt7N}mdD{R89iD@?_=1WRneuBBbPi_D$)_`ySF-LE#;Z^GhZVkQpm zzk=G-(XPC>D6#8A%s2V-%wO2NPAPsUuXY`eQ_L$fXF^v9E}Wv8T9>gNH!2?!QbY2q zA>s3&3du{C&6-75Rm}W0_(b&nwI_kGPp;}*IdSBj%lD`yCJTL=!DqSW^UdAq**x$y zR00eFdoU^7>n2&udbO!^0ROqi!{f0-bzhFd-Wvkg~F}ygZPNkbhsv?)buD z5(GbBEG=LBDgZku_zG@0yaWrkzU-GOuUDYln|1t2F?iz3moJ~}>}<1xc!m`%@MQV0 z>(FE209qjshLry09q`>H#f(;XaHx~h)>73q4w|B!cyC;epsIz<1kM8OHMLtqb-msSk zHH_{kgeLRgq)Q=!51H44^#-tEd`jP&0L{|I6t~&;anY&M$28^oiR;5(x zo@~1Xu8F~pU5Ihp^>w-J?aXh@{HuPm`_p4|>J_Z0NB!D$>!mD;j~33dSIG3y@s)4V zEk@{zXl;`+S1_jW#$2wRW&R+OX&-ZR-@De=?)zN$=~u(|QDaDv=B)7EN!Omus_*sW zBOaujaJl+xN^yEYj{}EfO#9u_bj+nmmq~}(n2Zff*c`RA-n#WJl3MY0AYu6IIItUn zi{6HeefuEv=6GkIzySWws9v>Ntx8owLVQW%E}{jWHd}7o3Q7OPi>1|Tgj)LutEo|? zt@Z3#G;qArT5aG}>F1Td@6d@@WQb|asX!gi)$eX?86JM}{Zer; z6J`r{YQGobEKC;8;Pkny7bZ(f%Z<7HA(z1$WP>pTMF$m6cBugc&(P=Y&AJG)z2H@x zK)^$`{`MU@bSO3}cr1F&nl&1gbK1nDq~mK=uQDhgRXf(X)$-vs3BpeO&-4J<&+?D2 z28yTK+8vX#r4v!%$atNd1HJT z#Lh_$aCpV#$J(C+zKWhSej4$neR1`Xi20jpaZ-X5K~Kg4PYn$HYD3=mYCaRnH8L62 zOm9y4F?X0Y=FaHk+T`?Rs%n1Gk}%ei z(36w1kw{4IOP5qJ0fU_ltEfa>2`O?&OP(m$bJ&b`4Cv3p!Dg11-|xgiqkyXRfd2Eh zE(-p62)@;CORr$B>f$Q_^Pi<%^czoNddBCkZtu8yWd9Azx2e|eo_#q8T~+gC(x3bA znqM+~nirwNN_?N19zGK~{GpgvQ@eA2hp?MZCXKBpE$6RBPxYLcx%KYpF6p&=`vM3L z!|nh1tRrk*?RF;n*Z;wv%F4=Tm6b)~-iEF^&R!w?dAhD(4*iVkTwHY-XHCPwvCwrp z>lFgq7cRNgre_Ud8#$yuq;w8hYgpcvbc1 zfnS2ua2CdZOP)bKwBW7ls*?w;<#WK^W_b=zOb<={BW%}DTSNMx1IWnn%I(jGj=*@T zGYuKY({b4i4M46HcIo6+yLj?e%F}$6CN66B`Nys4i~Ov4*Z=Tc=IN_{Y&h+Ia24x$ z@#fe=^GvR3>vS|2uL^e@+4+$3f>-El4W`B_oGWrs8}PfV4va>)o7)j4hSJm0@Hv&b{=C&6zA&`l|~zQ>K< zytS(~V|LOv`x)H6JiFoNJ|D|xO_nWJR$%4O3BD&kd+cXM>YBTaPKI^ZTHe?WCe4LM z-hZn7_KxhibxD&=ggB4a0vNh}+=mR){E7KLX7FzjoB!*bw3s!jy-o8t)-qwYZVN=YaLgc}y?hgHO`(9JYPI_n7!+;$-LBR{(%01a=15=zqg!8gj* z&2S^WxADVIe}1oXOCWZUH{Qlf(P1y_-^*H4&tw+yYIwCihIMU)yqY?m*zfxmhohfJ z9yzk*g!IXO7H2obEsOb%^Hz#*8kqt5OH42wVD%cA?hV($n^UWbCkHvnqnmTF*j$GU ziEeyQ!)xFP_1PSva zV`yk_aOgsq_hnEtL;Z4Kzc(UByOjyC9F7>5&<8J+c+@fskx3IN1XCw0#>_5VHh4^Y zqcFS)q^(HwT$w^4)&}c2{qhn|d)h}co+_VcxU#?EAvoB0uGj2=)$6}5J+Lep%S)O}#$ zam$S+Fkkig*9=>I4cPfjE@K5zzCQ|(no?5IAI+BnKR+7Gg96bngfTpZH-P~E^Rfha z5*AX@`Gkd7)fan8kIk2WW)+k4kdI;BLl;WQJ%;T{$~~?BOCcyt`$!+G-Qztpc%dRz zb?mPPRtp)5lDC#G`Cl4*VD;C7eIH3bi~|@iFkQNC1)xA4pgSOZq5V8;4>j7Ad)igP z1OIk`O9v{X#S|>Da90;d|298t^#+e4`Ie1lJatcU3Azb`$8M{Riteb^Gp*;^A9j?I@IcEF#N{A2T{XV_ zz47zYHQ(Zzw(vvD7wqbpUif;ZC*P-j4U^Z$Y0LiY+1mq~>Z6oDtm%tebL6f7vNHXo zVza?&X*RVi)HlTPUTHEPI%7hz4V^K5+VUgTTH-ocd!oy;4qTB#Y^(lhSJQ9>(K|Ut z-M4kIx#TEAng*GP@XzBg~Vo`14l^Z4CACV&16y?B_tyyfPWFM?-Zd3}4wl6`np z=Hu4P!)KW6hGbtq$t!1mdv^Us^0(9v>hA^6hgWBogni&M5_k)h1x(&uUZam)eFMn! zuS+2R(&SAJuyRMP8TzG9I!d+yDr#z~?gh*sFdFOlQV1u#K?8uF!q=YiZJVqS3A{$+ zphz^-YhM)pwD@KlGW0p9Q>y`<&JX9Hcb=GAShmCa-dDWZDC-4A#Fc zxkH1sAVp9^upGzcD`H||(jQHeo)1iuo-H&>MVaqHsC{6KM|2j9Wl8xqpjJ`g$&qN} z`y(+I5Sxck`y#9~<*?O9v%w21w3fzz#={6v{D1DE0#9|`d+32BQmE9`r?jNz<=ltZ z?KLl7{7CbSk{1}fQKpW6LEQ#-Mgga^#Cx=V?>3LoLm!S=8;>6P2%g5XEnsu1 z8lBk}a@$;9&eb!%hKw3G?EDJ$CNZSjZDUg5J?9KRhu`(v{T$7d1dRt@#eI)^6(JP~+b|1) zSG$-O=CQ#$W6^}zZH!t&2>*>r>x z0|QJr&dN&}dm8O)bdB!f-a0z1JlWiJ5-+IGR7 z)IS2j|7bppVeshD;^8CFPmUZxN86@oPzTVZzmNj4s`I6)Q|(WW$aNh2`MvVzr%KDWZnu4Yl?EO|V~{zU z@5^M;@B8fMfD_cSsr|{~?1uesZ<3e)nSJ{3OZ!d!&om~l@i4oW)5ha7nGCarDJIjs z(aS2wbZfq|HeOzX!``axlJk-fragP_wae5K)i>_cO|VIqC|>NBqj`csE%BvB()BZQ$ET5dfNHgn=Qp_*Uh)D z;IVI4aaU(wF<*V>)IV(W9lr&x%nh@S{Wll2+Mm8nyLI!+m8E6li*36+6*=`gd|F72 zoHlUK2(Q++fyY8vd~&cOZR*O+FQ@)_dn#_%?BiD_uV%Ep;*D!Ha_Rv&w#N^^+`sz$ zFcL7*r{M7n4?t6_C&6?am@kc4obM=Ij9G*sxuP$xg*qb?U46%aH}K|;Xgk7LjDe3AgaU{Y)UO9q?6(Jz>NaEwvWNBB9Hpr zzA;U2b__l)J%&tu$P1Z-=8=YdqwB9hKOpN0q0qC%;~l=yQ^I*sn0NGYhwGt_JJddJ zI^=UQD+2~0B%YIqP0+ zg*+E_;K!D{$74sX#~ya!uZ56VpHMzU9~ZZL>mda9AHG`dxG4B~ z>-(-(-%s8w{Utm$Hs*Ng{Pne4tcTef7r}y@-o~~x-o~_i;cLxUD!tq!Gz~j8xn7>K zRt9R>Yk^|6B~ZTAVR(3`(X;NW;xH$cXQ>$el2^?sSm7O*fyKo)9qnL0CO=J0O+7AM zeB&`y4@|oP;++@D7E}UW$4hp=?^i7UYu3dW$XxfN?Fd*9L=u+-OP1r8*gRgtr3cpF z$d+saU)F1=uAKhBvbx$iAHox`lp9Gx`~c5Q!XghgZ9??G_v@`!;L8ejoP^6$K^#o1 zf)z#leB?;Xm8Klx^*!*}=J*gMsKWlo@Xaob11){k-9n$G(dY#%FL%B|gU~bKkR3Cy4CIY{~(b+CQghuDvT zZ6D*d!nMhrx$xiUsw}y3`uMf=-_Fl1y<9&3V)@L=rO{Wp^|5(7TbYMhkH>i%!ESiK zhyqrY_%AFzDcLdD^cJ@CmX07Y=L2(vdVq-h04T>{;QN8YM=U$QKt1ayfj{I0%m;|?Jw&$3xqAy? zvJl+jpIA7C$n^lo51J|20XvJ4Q-knVe+?nBqYV@bncR?HJK7O~{}8}Jdl94xnkvi# zS%yHuet&<;xXi3*`1a<((=9*JiEm5ZAJ>-ez|Z@?DxK$5@KWXv#6EZc*%}r1%wPLw z{zrOS5#sM8Vf97RN3rSmIfo-Z9+Vle6d?;ZN~=>l|U@hu`JB)wgETU=cJ z@j=MHj+HA|>|4M?Vfu>j6=C_(ks|`1w#L2ex<h&8o+mub{UfdTKIOc6MxGya|6Sxfl*~BQS9#N66_I} zxEsL{(+=AgNnt5ryQwx58`#p=49M-IuydU)RC-tt{KF>^Z)c^btrjC4Qj@q;^?dam z-Z)R}tzS(h$*&^Mm1-nqG`ukwkl2VffYn7QDd`(+F$!pIfPZ~7I!(kTtt{;Xt1L}H z{*HKRuY;(KY+r_W>g^0kd0u#XM3jDhw4{fsiPlw>2fTB+GyYVL6 zy=O2%^*e9zeSV8exO&&b3}EZlr%d67M|HP{$U$0Xf*KgpwQ6n=Q<}%fp?SIe!EmEf zOSbBKxQ)TW{vE~lJ@drx=(?VjIfbv#+(`f1mhEYo{!9+1Nz$af>sLviEegsA{ODEI zq!ulu@+`R!>L!>4T~M~T*6Wt2WKq{06lo?kqTH`QZS}}Iv(d?*y1JyKY=+{^<`>`3 zp6fZ%$w?ceSk$a>FeDttS?M$M1MTsOIGU<# zh+PJegT*9j59w#3UI&Qfc47!935sg3O|uFb$5IMKhq1(4JKK#UD^b6Zr7oemDTIVh zr(#@MpGCe}jYwIixtmxx_ds(DC8iknsBDocwIq@>v>`*xPvb=ZM@_B4V8ViBp+X`M zM&k=3Or>#aMZ~8kEtK!#eWaqf*#YAg^jeeYyNRpqQizlg1j21f)W463x6Li{R6$R4 z%IKoq0>mo1&e0^%HcGnaP?mT!%ApY3BD?N1O4(>tsL0V~li$(g0Fsu*Ok(!XAr)L5 z_YFm=O(Za}d1(D*cM=;lUM8NK=1`)VFIZRvOj~$suX-V35T6-gA}#eS zKB22UVqf##&Kvv2U@cdQEU;k{9#*%oi4B{byA8Z{J45^k!Y1nu*M8P-F__7J=s?fxUA<7sb5q&ejnOkI5k-5Frzj@A#e zmJ++#r%vWtjjdTgS(Kyc3V$Zac5V(h(Jd!36aTJTN?cPDZNrcki?aR5J)SG(f|}Kq zs<0h#^3Esrix7{R--(ZMGIz!dWrycV5xGA*Db`^crqzeA8#~d1C_;q(5LT`$H$rcS zxD~ev*HX5#m{@~88MYx)gg9h+PlVb@CE(#k7y+ajVAKYJSbSL|Nk+@&B}KhQ<47iY z4#8{R7e|+4;$O3D$28t0Hd{~F7TM-&BqfPXA1jmo82>o?c$IppNM`o>elbs*XW9no zA}ZYVE||G8PA<0G1|!PlYKy$o0QeWsHG;LYE#%6GVKS#Z)l`inK4Rs%lexsxvMEVU zVM$bM->_(ec4DIbw2FPtEXphmXF|`-k`+VEs;xPNxvY)v(ifp1*ywn%jSBISwtFz7 zgb`6%PNArKVP{6`gy^xFVoB4YvdczkM$hkIOhY;)6o{RgfX1CZff`Who;ZoB(iFdq zvb>GyK^w~^nhE zTD)~K&Kj}WS#?pjPkCcqg>eX@7O&^0z%|w~Vq~^re^=BZ+nh3r=g{J#2FUPydm+q- zdkdVy1&K&Il_9qb*%a;&NmE)vdix{$D2BLLcV}ak>{iT83)54m@A6nyzWC8l z$!rQLtAviWjHaVECwfV;-2>V>u#JPFCq@{Uh_PDHZU99OhZIR_h7^g?yWKD-1v)^r zFQ#^#FvV19q$F_jGbM1CDmy9BX;aaevUBoXHUQG@ir1);(~MWCl8uj-t&)EaP=2?R zv|yXC)3T|kagqi+H|pp~8(nRY_W{0J#qHyFsjoSOG8gY|a1o`sNTyLxXVgX$#-iz> z@x-K|JQh~6x!Bx7Udx%z&M!cn^>T_|WmM4>3UI_=N*-!82w~_Bs&x%^s1IM3q(eka z6LG<)^Wt`a7K9v&A`gkMG8YPpP0>~nFRF4hK(i=hV*CipIxTUo`DBsIY&VK!>niRn zyCuaIttv|NkZs|n5|Z4~$i09FP6{)^tXJ&PlC^aKM6k04FBczgYotw#EZ0|)k3yY4 zr*&8SW!I*FU&|Dt(VOU5#d6PVw@|fbx%qfIA5-}eO%ql0J(@1f)`g&{r7S+NPa?oi zyswu09M!6=`COC|q4BH>^B?rH0X`{ylKZo^=rxUxHdeojwaA_*lo{#zM$^D15t}#n zCFzF%s5}vmQKHDsWT$5)7}4Z%2wJv55@o(gX|@tajXN81Me?(Yxk_(qLXO}>U6t133w}640o9%_DECINxe>_FZ-mt7#saM+fwcl>~+!~!1e~frAFNf ze?&L)t6jXR4UkYfVrQ$s)FPoz;rmK_vwu&7)L~>Z^%=}N$CbqVxZlWPIkMKS;+g?J zD~Y}9(-6@}$UylJ64YsOWKAWqcwd49i^YX|XwYf0zhEXs%Cgn!uol@~UU%c> zD{V1+Uc%9CiwO5ziIzY$s={r2o}EpYGi`cq>W2TM;|D{AMDzDksfa2KJw z^w>B$*s$}(b8J%cWn0P;vP4nYThc{dXD4WDNQix~{mMmv=9MP_HFcT<%#SK;5~irZ9UCKbpw(eeuNcK&pi zJKR6iMEto<9&&#r#71}wN_5*=7%5z`vn*dj)z(cqN0*Oxa=EQ(OhypoPTZGdJUviC zNm~Qtszv^zBzCEC20}eAS)j0B6?DLvV(x&MxS8JNZ@U@9d41rgX%tRG1 zxg5h<;|!k47$4)kUU7hj&RMTY^a4D#*lc`4;`Em-*vn9NuohsJjcGkWYZD$tjL%Tp zb@p=|HsHii`>w}`d_HqjX7G!MM@5Ovsy10BL)@^zgI9K$*ICH7F;rxj81O_(d5Q}> z^r`h44w{)Fge^pZ_GXzLve!m(UVb07#3L`GL~q|~+SJj!F}{KUOxU5xd9LQ}7GnrPoos^^T-eCb8&uqMTG(df)FvrBzB4|Fm;y92(sL_LZbuRo20VwNZ{j4*XBP zP@n89XS+)9N$~J0?z%kexb0fzq0_VpJtjGoNnDlLpo+EJ?c1fUVwt`7o3+jX^jhND zc8u8VqawfPaW^bn=WblkW70KTE-5lFwmy={3`_yjo?Kk!Tu*Rm)=>yLT4jQH43KLv zv92#C(U}P3S}QdjWs0zfyM1!QRqT$Iwfis!rf>P9zdpB8QeWH2jXElFhTX~KI~tbR zDl%>}G3)BFT}&H;0){C7xwo@|m~?=zKYr!v6(O4sa$q)XP9In)mpNP zE5vC{WRTOww#xNJsyWNmhE}i&Xe~x=6=7i&Vc`n2p%J)`IF*`SUa3I4=hoY@mM~@( z1h7Fzt+ZK-bebn|hr<}u5_nYE#?Y=Au%qSxuC{3qQ#p#Q^~Z6qDr!#eBw!W*57rVx zPOC6Sn%OE(i?~nY>3ABsD(DyMrdNdO!k)FgQ&{h?X?jIi0qvfvd~btG&w8zNGE!ib zTnljr%~Js|Wiv;WDWS;$V(&#s@$1E86@CiUEP)UY{Q|@{gyFcAt#m_1A*0Y+M`$zL zz-kO2R->xU&|4SzAH?}w-6>K>QIXhY4z^QfcKW^y=AD8a0M}?0`W<==bf{13%m!xIn z=%$xfxl5@O>js7Dq_YZDTUN=N0A0XA2RWz$L7YKDn5wntGL3kSLO^74fZ0TBSDsu? zKTeIGx=s4i>bAiBGjrqW%$Qfp z_LVLyAGmrHV9Z`=c)}9?s@cpd9K%6ITP50OwbiDH7=H4V)I8R4*74>KGj9TsdU^)c zIqDIgW}XKwj9L52Fl)E7Q#oUse9A}0Hu{t=q;Uw<1RgdhnLX+}!j`alzS_h2(Ew+F zb2oA_YAk9j{*u!wYWyV!w<4op3genwkm>ErA|wB_Iwe*Myg0082nMLid6|*{MWLFR zP43IqB3q^RWoc<$go9-r7{NdBte$Z~ZI*hAkFdiFJ=dGt-!0Y4?3Ia8_qT4a5_Y%e zzWt#3q*a48JC!#xTLS$B5+9FQvQrIbX4A)14OIgk(Cg`Ykg77&ohW}cSWd9(CHHqf zfewzVzeBqFyyy4Sb5=9Y8CJa1_VOPcCN3zAmp^Wk9!EOtD?{`s8}LNimX`YT_TKju%E6qA)E) z$6hxF<+P$3JK z$ppYPkV4x>>jk(mAVXgZpCnvyZwJ6Kp`$Q#pc)tt6FD@ut;#_S0ButfV(tE|&Fgel za3z8s6;=mq0wz?fCkN>x_-#)Fd&v}?-*Z5@v4h)ne8R8&i)7qP^hsI4^|&P0FXcXM zTxCPPkD@D+$5rPueH33cGPDugLNcJ!SW=t*Zv_{>X+9nOCMV-huV>b374QQYZR{>H zK(*nQ{CGTh%Q{{&kLk^1Ftu`3tB#Q|c#E``76+1A{T?Z$xJF#N&-5npjoqorp@m^( z!+CCSC|ormxAPoX-^f(Sz}QX2$P{K2$q%=&sdEn4R(M0U8Ga?}kyT*tp_QD_^MM?h z-HA*cqAL16*4KFSUm=~9rNjZ<6B)>W^ZL0oh)s9KIw=*$M6AZo` ze3#C9RfJG&&JSd@u{#5yw<-wgSPvmscL4gFRQ%-VuJ%O{owq6DPetQyDqoq-_HGm98k01T4}i*QL>+fS9T3c@b}oP#?$$yLf{keqAPs{sCrs=Bs95n6>rAT+ zgbVQ%k+DBgb;H{c60NVx)A^BW9hZn3Jg1|UL?p)g!rFiCmef9ynIdwZgYMnta zUT|6R!}l5Xacq5TnNCrpY+sEwMfRz+r|x^k9KEPGw-JB$ie}#i%_y~G1lSh&EpE-- z_e-ANl7s5A$Kc|n7R!S&S9xR1NKU;2wSS|oMrB>Ub?)n5g8ed&sI{rJsq?C&ifrzL zi-h8fYVd{Cr<9FY{Xw_;koU}%phrQyAr4Nhul%N**#nQx99wjwHo!BbyzT^`r7aTG@br((!gTD$wy70l?$R;3_N*tA;W>AQLv8^x-HN;Mg+4A+m$~ ze%7d%2{=)}rI{FCx*~u0YR=mPH2%iErSyua{EC(C)8@H4wl@RN9c141 z+OrUipfz5abRM7GdQ)qe+%fz8{edr6-XENuI;_0Z>(bV+mCdJRK)^+tdA+s(hCF+# zZq8i3(+5Xc>g)yAeXp4%#Y4UOAO9*>2hd*mx)g&XH~At{P7$pWu(x9^&VhA_*t(zu z%@(^ALK~P8s5T88})GS$4pYrkSJBmqMGP&HWtvS%4gGim3#X_Ly0ZEArOw*PL)Ta$9i98pwNk`})F9uhI(kva)_-I01bX4%>O@2(nmV{Zwzs z0qwZ7w^vX7+xhz0DNeqL~^w|r+KOZZ#|79JMx7CY^>(R-xi!zwTnI?7 za{+gCH<%i4o!pUr1|Zuy&8Ou@A@uLO>U`_;a4c_#n6}$Qd$OQZqMRdaAPW z!Ue{mL!45NI>^cdXqhiSLknIH$? zs$1_W8%0LlJxjJ}Gh&=F0&mc33>-lr;A~%7U1Y9^o~pWOrB+|7R$5=D`9psZ|NSQp z3_N1y^*0p5?bP!wPnMQKm=?L5_U`AK=Uy}9xm+`xs|RS@^L6Ht9cy>{Y(pO0oHu%C zvKT_mhYpPwz=i4Ee|@h`6qE65UKF$6zdGs{(lsRfvZn+9Gml=B3z1ewqJ>fK4q;g4 ziSX?(a29|-V;{|i9@wvhV+S7~?6wnz;}#K|&|goGupJUbhlm*f4Iw}aQC5HeKs|!x zXz5{lOF$Xg156AF(!XFBD#B^8I>tzC*pDM*F#CXwsTu%~cM0GlN8Pu;`7s1!eI2Re z(F&1|0bhay?1Ye=#l`<+gFjFv09Uel4Nq732r3JB1YxJzg@OISsYxW92vD;Mi1gRJ z*aIb|m#$n}{6p=x&re0{1vklpW#ZSb3)fRN|8|lmQ!w7vcv#|Qy&u336373T?>Kts z^V1VjGRt313BFjgE%A>AFVyciOt*Z<9&a1d{n{8h&TGD}m8xOt9hFgC^Oj-*6aP;RdX7F)Oc2Z=Ab1d&6U}V_5 zcPE}qem*GO@%EZcV53JYsq`KP^R+>Lg(5x_I&{4er;boekFC=&!0O- z1#eU01l{MM-)XC3zcWNzU$MupC!ZAd8_^O(BNmTe<6nt>uzzylI7C&g{<;EEe{v1J zAA2+TIU2aSf~Ep_L2d-vv40XY!xCb`fG~RlAb{f?-VZj#TsQzfuEhS%3l_%jTSMV1 z`xa7!Lmkl#W9mq4H~_C#ymsL=1g0j$2|8a7$3=`pb{Gg2ZXyZ*FMwu16u)l1eG%fl zK+SPb!p|`m{tHz=7{nYA`jDpT0he<8+8DqRAdo**hrm>Tt}D?~NCre{FI>1#Sy^#u zYPDiz>AzsG7ccm$SL6Al5}#9yL+eUQ3r0sr!Cv?+0@&jLjIJMv6Dx#7@Wa}++P!@F za%XXP9!%%%xYbgAPr^8ZAAJDK$#J=_&!c{_YuE;9B0w*IgSP#k}6>0d5|U%$qF;N0|R^E3P{!wSszc$|G!RbU>H*Cy@4O*P@aFX&$ z`s-+PR(6Z+zLo^C9XZOBoInPDfDQ{DCz?I+4!8&^eJN%zn7;!a;&G?>J^n!fpq7~b zm7Kq=kD1>ry-|EIuMtS~Gv|jq94l>uj$8v`p-UHT0;)v#`_9&rt$TU>%q6{lAWYs4 zOq_ah#2Sz|PXW!1fN_okpa~=j@D*Wv{Rx6_LcmzZ54;5}15hU*{od?&a0D=X0N)UN zXSda5L1uu#0Ad}`!==e~)z#iV&I;g*k)226Xau;Ka0=Mo9RL`&grby2H@VFFLM4_^ zIe=}BfcX|o2|gd;AVZD=bUYEp@d2KJ(7=b`IrU)w6yPvmWD2okkOK+wA7Y+AUvhn| z!=7u484sfW8bA3X9gbdz9p;?&sJFYm?&odHEtW6pw`>6r7G#=IES;Zk`1T_$%#VFn zy1*;(Nj~JiUFQb~JC!yESMnxNb^ozUEUBkrMDFk7<=Ev~`w zzbsQ)q-wCMmzJy7U1c(i#aUB$My_^F4s00aR2qdu{7$wwrS)CVC=iSTfOVk_)ECg; z02lf827yaG07%$LfQCGnn%V=P5Z}!gUbI;=7A~)?nCG1b49WTPrSmTu6~WXreBNS> zWDzFF*QkUHWym-7^?V87l|WX&B|yy_|J3vY5b@^wjvuHc1Z5M0fUXdM`v3sz^P3$) z;X~Q8pT8YkTHbJR@87%F z<2N{sCwXn2k1u|0=sj(7S}QmIjMH_zT^UEziIjtygPE4u9`i`)2`?ohuu``uJf$$K zYLp=9kl`xpN-PWv$`b|jLvkxQO7p#(Z4_)sJkOMqhK=#$bU8xW2zc-;*a?>g97Kv{ zj`(gznn`vuSx;-ZSt{~5cW;3q2$}CIxb>`2@a3W4?_Ezn+!7Q#eE5Ux?@Z4BOg8iF z53+svz6jZkAQbRnI{x5K0UxKn*LR!*S;ClGg3*RB4id~`{69W5A-J2*i;DtZ1lSVu z9R}-TknX47*lqP}exsXEp!4PmgG03pI1C^>@netp-TxPR?;a2J_Wh5~Fvb`|L!*Xt z8lpx~sh8YetK zwd&Y`W(@@XBwp|Y4d92x3pB#^a&eUkG6Mjf5xBFwwg%L~H_Xldb0d461H9;CR7~gK z(>}mDN$X={0ykZKaN*fbzw+}RKsa}{0vJiwDT&(mrM7-}ST4=a_mk{A5pdx{h2P5d z*477Co|T+Fy5w{M03hs`X})GZCZCi3P+9A|a;9CDN(M_GL&`0G*fD06ZFj(OV;FB^ znE&gyi}f;%Y;L+4rXP0Y9kxtqgRlgM<4r&h1)>pvc%4`w26!V19Q*`=4^{W!Rzgc8 z4vQ-4KhCcWXkT-ovOGUO|HO9qhC&wADOtD$njZ_jXdkLQ_n|k+ckk7%Ga!QjK%}l0 zFi?0X#yA+Wuf%WHNbNs3q&m1L11jQ?sjaO661I2NU+9H>Q(L5poiI-2E32#l>ekn{ zeHqTPv>X&M1KT%+%a>A*vEfyRn)Jg0ST^~zojtuD1Wl}hb!Eb*3M7$(X6%F-YU_Ff zBx6$FtKyZ2^4e%sm9@2Xeb9iq@>oF|bY44(TJwLiky{M%bg2ODh~c z2>)zvU)H`Nw(RoGvNP=)C8z46;pfmb)T)q4)(D>{ug=+-Uv}=}`OuHPOTGk5^=_MI zUQj$)gSAe>G_KS~hkHkBWBs2W?<`+>Y-RDWm1pcKU2|=M@b(5l%W0;Ke@aS08bp%x zCU90|GQr86Xp@;q2@%}}cw*}919}WSyOe?uo{b6ZCeOw}HUbM`nDgIiKLzMr`7>p? z^2EpwJ+(cxe|~HoMUt2=J&I)?Px-AJDQj(Caj43t!uL$@9-t_%Zr=K%!$2s2fVV&rYT7%Xo@(`X%k_ROy0>}9CWEyhhFX-T3)3!sx7qdjSzS*n z*z#aE`Fm)G=radWR5ZJDD*3QDYfSVo4H~a*5oB*VVVdSUwFZF*fO`dvlt;8i+M{{# zT15#wTe1$F#ybI%d=zYjcCrr zZ;hCt5AV#^o%ll6eXF>s2k?K#@JtsPV%O|SGZn-JjVA#@m>Pf6gYLn|HMj|>JtkOK zs(V~=3ns=NZi*BXU%cbrC|IA(fzA|PoVK2pZ3qiZbslUfw+KGmbgt12vd6jwSt6wb zy)4GiKQ~C*`Vozq=fehlq!D*8<+%s%=A} zY;19~(sXuwxWibpB;ZA*Po;b2ahuIfoSE+9j&MaIDO;V=um3eKK8bPN{9oaN6m4p}82Y`B1;fH;(h`l) zNgftK{6cr~6Zjx_5#&zw|K5K#V`BPrc%3e&71YM}Y5zvPsa>VQ;g%yhJBZQbYm?}kOTF3OAJP6oeoS?t^1a#KrQS{1jEludmXoXi zSB+utXI0L%V{9<}9%AE9m5ILOG%UwpYacidt?YjFwZu7o%$IxMx21OWT76iDCrUPk z1c3hf8r!&PZ5oa&xL`ymw71EHB&=qHNPB`BF}-Q`%Vv8Ho%FnMH*S(0O@sVbL9h{d zUctI!1e?(1M&vlrYdhmIa#6ww$F_oxo^zf|P9wh;Y@@~9S3d^NnJU=MUBX_-+QFHZ zyTISr5?b^m?qbFcmhoA27sC2tT2{jDj1n`W7PUVz!t^x?UeebQ1$=|IaVz+?Zfcn< zuVU)d1ar|gdmCM1!^=sz*15}!nH$K&hU0>3f)O)kvng*=Th#w7q-1cH&~J*yAEYlP z@gha`8jVhdtXVgctv#7VjX#-EzGh4(HZ1uusB!VU@gg(h>!dn$%W1URGqy8l+&oq= z?@2qc?bpVYoX2V*L8nC@=XhvX&U6;t)(;|hutcr&#I=OH^h1WE>jHmIwSIx9Snn18 z6`$yT`&Gt-wNq0P7liD-Jvm9MMRVA6n+RIPrmH2IihKcCM&j;XXQcMBkd~pYSJ+=l z^NPHnN7~09ANi88JU8;Fai!?(ycDf%u0fpK#^oXYx@&zM{gyKflCsqcZg32;rinhx zS*o@BN8A=if@KQJmS@6hpl!`;X64eTX~b#F?<@$j89y6Re!KlBBaH@62>mPb&2-05 z_sdt>c5a-1xoX|E-@4|kuzP-L=`s7~rw%UH%;W6I(#*32{|IDcndLvw{qrorAfvJS zuJLNiJ=--Wa`tRfxk+wjpVr}Yt8!JI-wBEy<}1op=-w)QHhU^5wS~CLv!Gz&8=iGT z-Z=VVLMz+TbMb!7rUHAH_-j1%i+qE^hH>f-)UOYU{#r<=Fm2df*EVYGl)^uCEjb}lIx=o^WLCz5qUE(2oCu4PP;XFr{5g12d8LM5}X+QJUFGT;(gqdeF_Ef7k{;rl+!q)9x5`VQgd%Ud{#~?vJbVl-F z0lRS3WHNUtkMPow)ZnCTn!&$e`Z~kqCMj5C@J7v=PtD~2Ry^(zG$D@a!jF4lGsA{) z6Y>#nJ*K;z_{9GQcg;BZJZ;U~+Y9e%zM_{hDTYCsrtk@p=_e<99w2l1B+kUb4ECpx1S_m%HNRex^cX+I?~;T7w%nJzD(k+8X7@hjkhE1G8nh1 zYaJT|_V+cdMISknOA@X@>f~|O8PVC}E@hN55@{C`GS&N2Sn(8R9^qe_7ynQ5OuI>* zk-S_U)AC?BxlQV?6L_3V<4N15`kn(@f()1?Y%Q$0iWI+wt{8;7IJh4o*U)uW-1kPY} zNpIJ3;uBHfx<<`x7yzIJi^d{O#goC(!P zZ)zg<<^GG#{wAR$%LZp3lbea$hp9$-j-mtUi6JRdOX7L{W+m}H{${Vad+G5_O24c2hQLHaWiIFYwg;tbRFTXMyo;O~b|p(P?{i=EdKxY+OQMx;&n;*+6Ob zn{Lku?)Fzd@59Zc z6N4;M85C1WBH{LoS(dB3Gsq@8Zm-r52D^)TU;hv^^Hp?W^qKgbw<4F;zO?(=N>cdp zM#*ijlS*e)#c_N^1HSw3l&SY!99}`vSi!Q;BTx)O+_~|r6gNjV!+Dl_9_|daA1v-Y zabWHmt9D;rSXdckX?v`5Y-Q1MO73Yr&JscK6-dnEVQ2$8w!Ckc-(}>QTZXiN%YR*( zJDjw8j2ysA*jfsz{fis7leHb!YN*uO(ddt0?|O^TOGgctq`ONz34OCXR{cJ%%kU4) zd|Iz)T4ZBGoDp%!PT;cs2SG{d(eIWZtG4W-9^%iyI>(!z!uYVlBi1bWj(!rN=?JKlq&y0^7H9M9b zNzx5F$LJ&760v7oH!4;860CMk^J*E~i?#5sDK8Xgz-`lM%$}4)>7VYJ{Hg(a%in!V zx^(N(U%m$3v=uWA(rz4CH4|rD!->-_g+d}SoH)$MX_3<+$h`LR+Bc^ljn2FIlSnU_ z2_{Z#wIeg*P8&3|>4-{n;uCjUYm&!q{O6xvzf6JSyIVJWeEHTZ$ukWOu*(e&xBv+0 z@~W8zUh8KXWO%LAFbL5dOZ&wBmfp&>bj$dR=`JQt9NNVTYPV-9!1__eiN?~PK(w+9 z&=r+Z_ zm8(jn#eL+Gk!E4Na zJ9cUA_^oix*8dC6xsZ|UkEOojEnbK7?z~=|yvb`it-Um~=%`jZgY8x7=X7XN)2>BE zuGbG;&!K(IzBF6^kEQ;{Q-3?2y2bqU8hoDfs2acZ`=WJQt$f_CR~H_8;^wPw#k<2P z`~hyzBzDns40Y>q|0QSRuIzIc{4B!0FPj%OFYKS$e!FH4Ck|$N!?ky_7hG9;Hy6La zr-bz7niGl_XJRj``?@1P!KQD~rVF#tSFh&KA8%cM^l0iO^X5h7=iIN?sJb&({}1=; z*YN3|7dB1Rn^mPbsap)s^NxC%KC$y!lK9CJp4afFSM%;4Z#DCun(c-(bngDgF4a<~QJ=8&H48|%P5#%?hmP;h8HguhOBLZoIaD8C&4 z8zh&?#=MIWI}jZA#+ahhD%*X@;WqFDGQ0@SME|}0W3|6|vfbzou>8Nb-xyMLJ=q7x zHprRv2^ik^mI~3QYClArAc@tXwa~razXB-kDd0~3XY&Eiq{=qe4fld0_uagMUS;2_ zU6m$xUZXp_%8$@gK&mm#4TDIt=dWeH{*F7Jl3LFTGz@%S{akj=w5;mf%)Mo$)Q|O( zq8inehC}@eXTQ4DA0u4cAA=Z*AdRQxT4G;+YMo#5oTp`Kj{pPVg!5>+78Fx5=BOEI z1)p)(KcQp!sd`uTt5&%Beb}+W*V(7Y*#PEvD-XrE>1q@21=zY4F_SnZzglG zYkLS#9Rq;vj4uO!@mbj8<+FMFBwxj`WSj&6n9R#%2BiFf>K?mLk8Sk!wb=+zB48`b zUmLwQ9zF}nsc>o|V6VkU@soPM<;~j;0?=Y(;WxwyI}}_wU=&&W-B|EgtunA1%e%D` z>NT(foeRLnTws!QOS0fjGoY!y3`ov}jVYsVT|AAGXaOz?=j;MB^dqN2@8Yvwm+oz! zd~1c@w6}j;@SAz`&YMj$v$pM70C_P0GjZOv{OHXWM}21kRO86$JLe*dtNz#T;{QGi z*?P=ZEIAkUTYG8urX@vbx>>qe&#hp8|F5fVK3!2_=hOl6v zOepyo)+$dL-+6rZ)1@1~-paAuliqmatlo{gMlP8~F4R?eN)z3mFr z18ur8*37q0al@ZL(cyA)$aEA2sNtwdcdjgNf$u?vBfm*2e>#qH96`61t_z#<(}nM! zoL|zt%{Qd%&YRucXCa{u6_REY?ScVL1_aE>=nbma_*jG-UOSez;?ecNV>}(uK#=PP zP(hv;-=j*X6AA;>1Hp6f3;c6NpWLg$2my>HwVh!H_?ZoX%Ag(}TTnS?|MV$?0a|6i zPz7&Q3HksI=H1rTa(XEw@GCid7PCYfR!yLBz+(z|fr@siz&Y&yySkQN2G8H#>CiHW z9YfEipM3szY6exLeh`v1;0EH{Lnpj&`l+Jiod)8Jp11QM3(l7};zJ*A2`7(6?LAac zI?}oJ%Lk{jFD4-V2EMDx(j>RH4@}+-33dLG;4f{fxD~Uu{I8L#w>~~e^8K&~B24g2 z-{LT~g%_afy!&43=7g1*F4tM^ZpYiW{%pxHGfv12NI-V4F^kdY zhAq5%jBIm`cL;=f0o1WBeS#Sz<;dmmTw%wB8Skyj0mej20mMfe<~+?o%9)ZW64sYD z=;yK4{&hz@`OBe-TOU47sqi-ND;+5-D+P6dTO4(J=eMstJEZ*KYu}g2fnHy}wb%*J zu4!fGeKFW;`Q;y5HxFTu#vVMRDuB)y#abc537iXGoZQvBENl;;w~_(*g@Io1UzHsT zYXGYO+wAIew=V!2DSOx_+f0-3k6>-9k{DG({2KM>1 zKn_R9Hn(cy;kL7o_twjWuCrTxEPGicpm_eNNyTu$o)~ZdX=cLqKq8Quu;}H$Z9V|@ zdIAZDl7M|qKJNw020#EX(gR#q-#P>!6xE4w98ZSMV2~I7x4p9toW6`f565t-4Fxv0 zCL4b|2}MW40RFIJ*3q!EGRRo*=ha!qROu`>EylSm=FjWf3rQ_5z)RbOLkGQ7-+Qzw z?DE6XjYV0-m(7N9HinlxpKTs63y+0RQR*^NB}rcCg7-N9M@Z_MG*F=HkS zKs&bGGK7$EDsQF!0dMn(vxpadhw#*v14Zx81G?lCv=PG8r%s*hIS=R({4xW8CKH|B zuP8lFz5Mxez{I7Ye?sY;qCb1CjEv2;&j8|aenz{|siHpvX0#jl%y`@ip?%0?v26R< zUR5TGy0N$r4q8B-ishXu$PEA>07DT4c{Y|~&Hw<<-<#`kEEnSOS9-SWfgo|z!p;ix z>2WJ0R00w|{6^-#Q-wh?#4>j1X;|&5P+Bvx(=0+ESs@PLd>n^RxC&mgb0NlGbf^Ly zDo=hmZpq2MJsrSyKSBZqfO32QaFFU-fC-3-idKCsN);Ocvjj{{5NbRNS!}M4`?%@?*>`VyY~h-^6<0r!dt^c#2P8_Bq70uY zY57;b3SZx6{=d2wKp1N>3nGZd8MhNJ-TTCU(DtBl*Y?)(CDQPme9#Dzx}Ct--%^`TGN4kX9fR1jE} z>9-TZfVu3=dHZe1HfRL>4h72#RZV0q4P2WVl7RS+)4P5KI0$ z>xThETI*x`_O^CH=8PzuJ0q-eP*#3!^h5j8m_Ub}kecG3uSoWdD*hN99aWUIwsuwI zpICLZ72>czDX5>lz%}h+_iz)$hvDS4FL}SJWPOP$N_@-@u2 zS7qme@>%|EHW1`mGSw7MzW~nofWa9>I56GX*}75==#YP}u>8sBM^&3@|KFP35%r?B zzP+=z9OAEI1P6M@Ug+y>@9gN5K%~A}S``&j4#B{vXow>NSvnypjv`=;fV*V7Dj?Fh zWi2LL)j#SCz%`}VNJ~BncwIasyicE1BSY8ORRhrBj{5d4SyXfw4r2b>Jt6K~2Yj$a z*(dkIOaMco8W9)}7>^o12tNv=!XR{UMkbcQghyYr# z)5Q-`KRcWnQJuqbXkpLCvN@k)ODk5*{E#+MRQ|s<+a<;;5F+%Fus*p;Jp6!5;egm8 zuwV?Pb#yHZ(|^7m3vqgg8Y;g8ta>&F572`%8(=IRoB@cm%2bAjLB7B?6F{DRaCX9Y zX)l*42?iG+lfa6|2IDBFTfB>qF{KT1u$5cNAUF*ST^8*Q39#$>+6Ca z2=TVA?m7R*m;8D;>Z_4Np%_`~gYy9!{Pul-aHV8!PVY5PXSimJCC zs=lmhk)ktlW&TIS6v=15j|vA#+2fJ(o6auW^r31w-P`4%H$AS@z>&TDNSqHNj`HW) z=fBHNcFRf+F7=)Uxv<%Hazj_bq_LfnyAfw^v+>^y-aME)!r+Yr+XV{OYV3bUr5phq zU@T-;IUAg%ZldQno}Z>YE+u^;!g8O%1s$iBNw2+jJ80{>K^ zB5~mRFW;It|9s4fnisVo@)D4JF;YO6%WG?pUks>(I!Tzcwo57m{0I;NQ=|g{HYBFA zUR+l8;wePlPk)K3jSAa2mN*MC^FZoQtb1U&h!=e-%=c%ouXnn@!VX|5%JOKxm@Zi~ z3hRSER6{CJ1dP=7^@8S!DX+&>bs;1J(FU*#z7ky zsu$PSNMbIak1-&_Kgsrez@jDxA%q0MGKplh6h!j;2k6g*oly@es-j-hDcie{3?m9O zqlC%}y~q!^7Z_~~3X=-uwSYW|0|Iw;C;_P4|{1ji#f4GKLBHY0qNP;DmD^cA(RIVI(`elvqLVU(UZ<-@} zzLw(#b6U5Fr#Jb>?EQVQ*N)Edd91S}cavSSn_X%$ctvhz+CApyj-?Gt%eD!*X*$n-5Aut`y>Wq4H;~BVy_K2;ZI& z3@(ZRz|L4(KlUgBWlw9$1{Klb-T(x=^tXNl4T;(%&~HF?D9Xi3psk-uqhqCxMru)C zuTna4{>9TO$ga4ud`=f&;;PC!Yge3KbH2WB5A1HiYs_!E0Pr3VyS)u_x~9}B@lC}F zY+;TaLIu>j3q{EQxrO><=x?Y{R8$0rhq6!7r<96;A7mJXbLNFq-n*+p>UW_|A_NAK z)&tOUS(QZgqBl??3}ASdF28J)rsF&hAUK|-oSyTFr(b+G%{ljU^V8tm`?=d!?*Bem zd%1ovB=VwKXS1IdM;?G; zF0?CTU;5&Dulq3on7!8EovY7 zvJ1;0Wa3&67#qJilCrDi0rz`fR9&t9vbSy(q%{2eBR26Xv6;Vc{MmM0*feH9X1m7iD^1x4|yqLJEI0f9i!b|etiX{3@xX8LaMJSa2$R5*F2 znf!0RDLhl(^08;iuYxDZhxz(K(#SGM!#;K##ed*O$(NNa@jY5bg**PYgL@YCpTVz> z3Y}m95CtFAd1Q%2iTAhPBi>8gEJ}_X#&6~&#Yc`DKJ4x7y=3fwPknv6YHB;TM0ND; zdc4s@RIUBrYWUy(5S(vcwW;c9*!ibnRjbO|;iYQTdHAgg!##qRRlZYA^-@!KJX2GB zz08ypJ`aDyfBd&Y)jQ~(7p2SL@7jojnQ8>WU!RDo0+Pvo)?s(cN*d>}C-=?6dGHi+ zcxd@$c;2`=Qg^=WKydEA?BMP^G%&>d&qg}HHr&-(b*EF-k zi;aU^bqIu*YMFCaRljDS7@>yAsMU7fA`fDZS&NN_cSvrf?f= z1GZ)a0fVe2BE)e$IRue_%~U7iPcJ@za>-nndSD!UZj)g%cM4<)u-VSp#f5|dyv35Hg ze6Qtvb#_O1&5oKFz;41R&VB}eSD&x`7+wN@c3MerDV%%4#H@7Fap)Ff9efp`1JSIzKdY$$B)9u?=HyBsxdQa+kKAe=5& zgkOgHiQ(R3cdoFifDcvSSHj1dQmq&(|GOzQCjDQaL>k@I(Iu;s{&-)ycgOqhH@5}- zV!OZjDKx%L8XXahFYS#wvv=vVEVtyyR*m>Z&)|dvhB3o4lr1Xd6conCJ2s|J>ENcx z%ghMALAGz?nX2ov*oj;(il{J%=+qRSltkm+OrM$^Rx4`mu2~&^7rNcKvt~zaO-zjtp&`lLeKmJ;W~~kzJ-vQ8`%>_!RQf@E z>%3o-A-&1T`&St179Lg6_u=O!7jLV`Y-DUh10*z>-Hk@iI3VPakBXJc!1ynz3E0^w z-Xh;jII^{7Kw>q}eK-3>b;r)?j<&vzAuw)HwxoJ^(_J8ax#sAU{@z!E&0^iIaVN)p zb$HowW!&MQ(dPLcwk-({`17Cy?T;9Da`M+*{rmcbjflMT)gVV1bYj{RTg_h@hi|h1 zOGcy7*c^@>lS-zL$z&S5tH+57LOBeYE>$g#d&D^Kbtb>qTZ6Hd*_2LWvG^blo}xHY zH4-t1E6OO~dvZL#qf_bnoV64i4!@z9V(m&7SO#e_9Yu|h5=o0*+qy@(P`O76-OL&t z99XjlWMI$XJ-7d9UChhjmncC=JKp?G)%r#2$IXLGeo!=}fB2PTe}rZ$?rO*%`&(44 zHyqUbC1bm6b@=RvwmwOTxDB{nY*hh6v#NI$uw6+>??^z$=bDk#;nmNEBsF&fBf>hi zDf7}?%-OH?D2YyX{7lpIo`H=EN-T8G*-YL~gCE_=5#oT0DiJUw3-2O_9HkHq+78+X zkzBb*%hqf_D7A#kl!+ zmjZJd2*IywPDp>upZl)=y>7<9r2U+CGBFl_YFXWfq@7T}Zv*oI!L=xpbB*hx0YB=J>fI{4nV^tFn(I%}e zkw@VncrjXitzvd}MU7R>;q~h#*uObw>||nuX`QNEI(=cW&E#Ys8!QR)?}m%F`1*q& zB$y-AGk~%QOV%tKc90ARTf$WpMY;cd$J#Z4cLTTlRNc8#+#%Z`-h#&zh^&B$lz&{= ztgTRLqb_X;ypB#pdGVw9W{n~Fhj&ldaMCSKC~g$W8>3O95XGZGPGHvC+*!-+^;@*q zws6L4sH+n~IUIp!Lqh|H$z*B}e_CW~9Iq z-&tH^7R!-DqNpd5D8x8IMu7oUy@^mDvS$H?GcGQfE?5vmwoYWyISGVENlbmV7d#|a zO@nHSMiFvAt!NO9wmR6j!GPE-8}Rr~o!A!Z_Hy~jJ<~LlNCQb>0iuDRkM|m5mmL=T zx~ye^cI$$yjl!Duu{kC0BZfLqxVQt*=`ZBMs_@xEirH#UR=!rmJBrYb13iYdS6 z|A_zQko}t!*MmkT`eyu0-r%&XlR@Wf&O6UAwlSVRsVBU;``(p}x>NFpQT|-scZ){-iYIlX${d3)HcVV?e9%^<*UdM_s@m-p#Sc+j=^o+HM6$It|ikrh0RoB zCii8NdICk4rmv$xN=P87J310x7O5rDp4)h2*|?BxSk@HLbyKwzo`yDs$qk}sr0`*L z+Ck&cN6Gfh#-W!ICfEvxLG9-s2c@4_>5#plCI7C{V@Of=38e5i$fB$c+Eeqc`|g&X zaC_DdMQo_4+`T=z>$8+rV|C_!jn$QHvL4VKz-Y13k{V%mwRm=p6lTK?G{)z$7^_-j zRW%%o`LCkp4a3{Q$ZqQ?AnRgd$Yh&I$(%~RcWmi`8%s@okGxa5vlfNdl~wu8iiNEy z!XA`Mv`~i)FUn<#|GJ+Tg;(5__3nW&5)YxMPFY{?$m%HN>P-W~u}a|m2s}%U`{eLS zQYV$kTR4Nc>-XqxFK%huP&p4I^_s&)v_DoRek{M&{2(YlqvySC+Xl;4Vu7W4T)eY7 znMBsmA#2bmWDRnHx;n9-q2ZxGAh2WNgsn7P8c0FGYrQ3|j%Fb?);y+H3g;A=6Hj3| z5}o2qi1FM=ZWEzDL&R@pI)a6>mSW#TV>W3s*v(8YXQtV*1+tTak{;-mp)JZe>2@;Y zzqH<5zI+A#WGeS9nkYNfmVAq^^Qs+ z+7z?F<@mX}T8+Mz8W4mQ|UwvTJP`yOf@wv97vvcl0 zjo2sN1my3Q$4Y8Ii4PH$*lk&UWpC8HEBA-bKp8M}mqMg}aMF>!H76Er*}m*p^ zYYHz_pM`n)klof>28MBMwA`nRq822679(+&?Wmi* zRHT2{;6?AA*k>KXTja4h@At0BIo+V;Mun|CfiRR8=gN?BR9mJ*NNpIkEb?e+cy7BO zYtVX|Tbx*oWG@57GW2!gpwewP&wf(gFL?v&XL&SeHi|BKstJIXxoVAZjv_k_$J!Cz z1)!x#j^7kE5py(F;hO3iWU^xd;k-$jHMcl8i4j5qQ-t4?PV`D->M+f? z!GJ;{5&A`Z5j)70L}N98x`sDk>Ns^OTkRAnMV&`VnJq)|(Lk6#zlxD0?;XEbrK|@$ zbiiyEt0|BeHHh;EmSx#Q&b6Iq`}W>XdH>pzR;Am(`X9+Hd2jRc4rDEqfMi2-$*Nj9 z3iDUa-EKLsR*WQKth7d`TpcdlCl=1`9=#UoqsJ_|k+v9S&_ni_ri+bCj7+uSgEfpp zi?viR}YRMS`+%b+Q4_C7-c8 z0o%KWgA%KL)(sj4M(e*=Ds$4~D|>egU%794@*noj9Aoc|gC6fF8VSUPQf;a()AMCh zax&eXBf=`1l;8+vdYnmo!JK4Lf;Pp%L?ew+l*CA9zoFU}WX7jx>RYF?eauYtP3=Kp zgRI(@zDY@8C$1lrC}SfWz6S%s1Lzt^8= zu@>gNoZeVJ#oSKJi0%Y)tC>|Vpucy%W)^z#)-uu-8(A2sRKr1f5)DY{>A}7+^&kV- zI}?tzG_X)yzUzIu>%zKwc_B(6%zr(2;SdQq_TM6jbR?p-57_xQ!F(o6rufF_^hn^p z);^&0Q)#_?sZcDD%38#W+&C?>R{m0auPsD1?F=eFcPmE4b9-8HL;k3ow|-leEs+i@ zQzk=$$PLvdycCGQ+7LAqJQR2e7BHE{z|L9;Y6)t|I)ox49Sxe=t2oCvh9@iCzbK7_ zNy{>*HZ1G)$=sJU;j~i*`JFgXIJ7^)PeG_P5G#SLAOc`DVExIhGG_ zZzQMX^?k=rBY8NSLZ#o)?$L^>Zt+rCOy}IC2v#S<;RtJKD858_)RatdWdqCJQZe#t zR_-({P<8t8L9Q0S%AvRMk>YK}&nV{SUOo5V%k~-DZEXifQND5|f`!!j^+NPHA2haN z1P?825LVQ{3JfXza_$ZbXZCi^eypnYb2U;_i_y$Gcx2=%23jbe`-yNQ^l^zYTx|Cs z{B22P2bcjT700m>-`FwQ5esbfwi*mJqc z&N0@Z=`#6_{6d$EQ$TbIi&L=Gl-P8Nq|4#ow6mb5gZc4hF>`IYmmUQsf7`k5z_fF4 z7zEchLY8P)2n)|`&wJ&uU9GYA*xKtMt9_c*K3%uum-3*)V~sEKgIduC)L z>L)RaK~G@5CYze^6Zwx!d8R+-$!3(DndaT<;LtiOM79KTGg#J4SE5+?)reZDMA<3Q z&zOK@(r)=0zsE5n5n|y;04@^Cq5fw_o0ZYcN+c9FBjtCo9ZS8BD4MfvX{kLm2Fi3vSJbu7_xa^g|#yzN5#OPj&khEYfb zJ#yb9S2q zjjWFC2t-5AUJTSL{UlPbTZKq2L+Cib=u1v-4_D?1>rQsvM@T9`%8j@X%-N9;U~er= zvKBdB)bFj3HVJA8eZcEO#Uxrz@DQ(S@BV@>re4gXnM>WX)dOj zO$k&d6O$kneTyx$NCih6HB4`~q+0`B_3cv<`LFeYi}TOj$;)29EI&WL2i@6@hFj5N zq|9>w#*IBKm-W3DBe@u%0bFaKSUBUjRB{^1MgkF%<637*C3p6>3hQ7no9LxL5DGe+l0f7Z2*9zZ&h=L(#ye}! zNC~=Rf3>0CHG+ycY=HrdYD8mj^x$_|h7sG0%NA_~zO_%}az%DrE_faFtur+YnWs#t z)nJ1A$>%t!3?H+k6x`!4F&u#g2nc07C((ZjSxdbHj8Z`F! z9|K4U%KY9uu|ynu9E}8ko&@)i7~PS}qzbtV`d%Ud6QKg#4Mg2?SuZSPfQOw5Qf|PU zNl8jFp%6QaC4 zq}+gD&Xm;WNF}wn&d=2^&}bD>28v@rdHs)ebhSoo5X;2qxma;msO)Z4hF`f~1FYOC zlnPO$L%isdRlaF8_53yBM~zWV$elt}}R!ycAygAy$#z@zMLkVl)VfqX#|M zlaCf)R?b>j+3{Sekb*iy-y?XxUo)>-_N{Cv0&SC^E8EfWE!)GTk~0!iBSbLo3DLka zB&iTbd@GV5IYJ$93(4)*de^6dl1KtpE+S9Bhn_YtGvD7EzXMnE<7vRgQ=v)rul4w) zm%P?nW|=;oXOovL1Xcz{M!z5gtc>1g!Kg`rjtVjQ3^p@DHAwnQQX_r*9(}Gw5U9S3 z$5*L{krNIo;Y)=5@TIRLhj%{;k!W#C>$GLl_T-WxWWBf$f&FTNS{+cs)WMS;qph|C zaGJ+)nc(#k5yA8zV6z%87_k#XodBja?D=f)t^~)SuQNOxzmP4yqYd=LI?Lhq$A%bo=qm#HZJqz*{ZO9Y3qF4zo zga1*RGB_P~=50^b^sEJ~;2O-?1$tTn;vSBa&$6#o4Z$+=YCs24z?h*S3F;kq)-iIf;p{n2cq6ugpidOy%>0wU60MfSOtW7=hjIh z6w>X(XMQ{}e+L*~GHI6#!SeDCRChQ3{`?*9yH4s-9g}IEp=&kCYUovCH4E9>QQnYV2WCrtSJZ>Ex}s2bW-4Qi5FQVN;wSs+Nse}_hY zCt47}o#W(zhHVjED8_>PL)|@!zMqsEAD{X0^WP1rjP4pjT{4GbJKjG&v#ew!piMfm z8i-ik0kdHh0vdK#lyuH|AElUul-aOYhYT^B5MHYbPY0j2yyxw8%NRUM7Cq)RZst~2 zRp2SF3XSd%fTwRiIbpvhIRT4`CE+Ly6HhT4#z@#EMc8o~E(F%aq z6c-<7;>t2+)2N!-z^&Nh$L6x8qkIGuwTlMvL4#Ss(c=gdGPajtjKy8i3S|$Nf;8#4 zlQ8)}ah($Ffs2E&5&d$7BmzaCa9A&YFP01Cu@X3y5@iP%W#OPj6yhA^I$K+YH6Jg> zZyBe*J=3uz`$QE`d)1UhCw+^J?d^>1?d>L^QKW?B&#(i+vuOm3NG~kwT_tEXis(i) zy{H$x-%L1?Sp!-ER#07Ny#nS2;6u!7t?z~ucXR5bLlF{~?|>&}Z&%73q!C@+{gJ^5 z$(+!&IyCOXrUYkj$YCdRWUxBjdh;_N)Hr!Z4eJe!)X^GrN1LgF(< z5}8#5{yDW&I?Y520poQENN3FR(7*<$LUA0y916APTtU(K_j~0zv!f-SB;sh`Hz>`Q zT^a3?T-k=)#n5h$s7^El7SASVycMvBTsRVlz#|8KG1My@LPO%byaPsdVCiB<#neOW zGrt^mn-)@1mEB!!xS|-z^Hu=MX=;)Ycw50+@#7Rw5pdsszfX6?NC1q6J4{m&1T&R9 zP$3@P^a=_0OO#U(HW?iToAXd^?6THz@Al*hC9h;)MUH~G+lrd=7Mu(kc39v5zJYOM zDw7O$EtSa@z@m-`wr&EjT0>(pnWj#Rb0&hLS%6(`nkEf@SeS)m9(HwMFq>#vOviNa zJ*2Z6!R#Uu39q<~+)M(OZOmrEFGWMm3DhIJtEUhi7HlQ(!Pq5{C~9!zO9vGQDTU(J zL4?c(M+ZER0~qP!#JF(?=?ay`EpG?MwG6)+ZMAX!*9$%SZ4qZQ|KyZ=gVTV#Kol{O z3*nRpq6md#2;>q)A)pEfWUmnDVLQPx^b-G4(T%BTu0ZWnefHba>j4O{WL?#kRjUKP ztnu}&s5Z8Ti9a8!M~@Z+a|^gQQ5yo`R!Tq(3W2o30n`EWmIAKfQ&9nxTS~+->2t8P zq+JowZD0Z%M}yIu|63t47vFbKMr`IjyspcP%LsB#X4nTgCt#29t3+}#xY$HD4RcSs z*jOB1Zx;kBvY{7gw)y*DQJ^C2E8+tAlN+p%T%4o^8E?J2@8_k8nAp}H;Qh-7ShwZ2sx&U*> ze=AZ3qTbh;!8c5A9AIFZ^(OY88E?HY{)h0(H?n@%*0Bkp85dUXgxN<4ray#NujgZ~ zlnYTU0);0*sQMY)WHz2vfK;8x9mW9u3j`Vs$yBODwOW@A+l)S5)S9#CKCJ3N!Kj=I z!^1xeF8ictt=vr~6CO4tQ(@)Gj%+B5Gl_Es#-z}wIy5RxGeK=XxP$5N(bRbBW^XOi zjN8TRBC0hH0^jVWG-ksqN6>mrai&gjO-01(4A6p{g2;;nTZv#%!3maW0-d4-VHr`9RNeF>r+PxDuAP1r?(ez!&Jh3dF-g(eiJ94;pPaHlgPesRJk$zS_LSVq>gBZ(% zu#`PA5lHp|Auw+ha~0o1Aj41ThYjCP66Jm6ee?-y90ViVhPov3xd?_@H8DqbpuK@t zA{2LHNyJ2T4bXtEl7QvFp^GCFuylHr2rgYC8aH^V1=X8zd%1~A8pFQ`7D-+%2dPe= z2~+h=s3}f`@bI-1W~MqlC6&tNO%sADME618=h-5q2Le<3Ta~yO5sLS*-C|h{Zk7aA zP*@iud7I+BP>QFC4wY(xi4d$6l?*8*s79HCdSSwZvMOwlAXp7~TLRH;9-IK-2v|3P zA-R}|6{Ct~#`vO8IQ(wi>hL)(Cj+sVj#d)PS#AhPAtnoUV=degNA_U89TE>9g?LPO zRWpA$m@rV$5YkX0gft1}-)WA5lVhGnUJuI4x6#I0NSCl=!MNcbW$ZR>+t&Pht$75N zIw6utVA8;Vq^fiyl}1jcGHIY8)rj%Q#JD(Tf*q5=VFD+T)yYf)8b?3bF_Uk>NO56J zWH>sirLZ;ASOxq-?3pd#ibN1(Bc-T05wB~&JWNVdPa=4-jk$VsT^1Wc(mYs8k()&Q zBJA4bsCm7Cc1~9=gSC?xgxk#e1EHt=k!oHqg{=;QgBdGN?o+PccN<*1km8oe?sw?P zA0EDK*}6z*yJ+295WP+WN@AQcP$@xoz~Lp9i-Bhg!N7)qeJS6ZbPA+=f~7Z5y9kHJ zA+DB~m|_j$9(?1F#RMSuO=hOqPx&ZM(p!3ILpKe-FyDH@1vhvv?oa@lH8a6lJ1qFQJl!tPQ@Q)g$y685O zLUdNAfJ+uc9uy-dt`Jz(^HriQ)5O!%nM5|T$T;nkN450QFio-aOn@b&6L@36S7pjG z38t5N8_-ppn#44xa5D1q(Xbc{8jO{LQN_H9fLX<{5a&2*v|(_&vRjOXB0yzAvuDh8 zIG!)F0;Dr~FT@drA($JXC_E<4#JKpuQVVCe{2c?%V8`1VhYcKYJC&S zwEv~GE(Z+s%|ajjjMe~$mKNX02XetY;tBJ}0A5|Sp~nK!X$|0iSi1vCZ??jcaHO$9 z9tgvO?W%mK%DS41hHYeLh9b60L09fkBCIhhg(#~|nzjCOtH_f^YzTp0!FQk^gJ6*k z`Y}`h`Z0b#Fr_Xm&YN|KVf)EUE#OxZzHyoxBkl$r#G6EA2#VBr#3mB+Cd11WU~41| z9+-h5QDF*2n+m=XIiw_=fhv(uVm}928;x)QS5Ix18=csXDg8l1T zaH$zUdGv$E&JLp=t^O!#F)#pDLfLS~R0jmoa2kec?2a}U9uW1Cfg(<>k!BR0_K<1^}=L{fba8`0#`u8>Nc-RexHvk( z#R!(YAgNCDQa+#WWDVO9fziO_T+Fkyw6xIHhIRLK21qJqzfy2QrzD2HNpYDVj7AeI zSDF@8DgzOE0BuSIAy}sPzpE?|yN!@S39FL_Kr6GntIb4CRgo<2;0W`YJy12m^rn;}Cq zi^tGnup634bWMsDU9Fjvj{l6~G3f00>!cJCg+gb6G6egPYsS{45H6Z&CaNV8UlAr! zNE*P9GBgaPN4_#P7XBE`>T(lA1uAy4j3#Fg5Lt=!NhF{@zn81sJgQ0ml0Ytf9gj%dAfkF(^M*$eoQjV7tots16@;CbT#UMZdRDA9=R7@RnP zU6dZ0$m6FZvYSjuS`@Yu-7{sm5Nq=MT%v{6dcuF+V%391am$eQ<*tY~`yyj_yCG!DU;10x5W;bXpnG^^^ zBn8TW4Gvb(;Ti-&0V_Z`SY)ujBzi7F^*iz_qZf>}cER|A@XK4*L*J%v_|()VS!C$V%}XCXPU%hi!w#8 z;unKU=#`o-J3dY=#e(7JL}e9fP|aYHE(A;gpZlE_gEfxAVA1vITH{+6!mv*P#_ajw z9)#T>I3=u84oZN#gmyzXSIhg^cqU4-_0f({P1#oqrkIA|vUMupD(GC>S9 zmP6Nju|kUg8sAAuf^4LK5-}$g0q60O!0Tt?S(<3c_a8eFCRhfgry2t)MrEhpny}z0 zgk3#+4!b$@jKX|2J|B%hY?6m0kA)y35PykW4HO-yg<5blCUOLKxIs9u3MfXP znTZMOh<>_P5igaVN(HJpT~F24#)zS*jG&bCLpH#EF4(p-f+@$e6gcyM*`Nm z2>CGNUr7a|Qw{p4C%*^2IDL3Q{yPE-R?c`CO#p9>%48%IfM1;nEJt9$!WtWq1anQb zewv(k*u^xB?&U&d-yn=*Ca9-7ic+pKje}`~6hS5-vT-V55kPcLfpgLnygHPmZ)T)E z%;AKWpgJ+8*8ux3 z$cKFDS)&-bTkp@a@wKZ58#@ZtH9U2%Wd0 z(zD*qF~t^H*NcvLvrHucbAZ}jqd;*=1P;HSu#pT`$S?_OZ^(O01e#H+Wk328OA$_6y z%P(8~BRbcvB`GVitGAfqhSQ|#%SaK6&~0nB`>fD(M24VW;H?-qh)sgccshYOqf|bk zoQ2Y7EZ~``@WT-Pk6|`uDVJUwi_UxEK3Z#-UkTr1KWQT~wz&YL#m7Kz;V*3gg8iJS zIbD^To4X_}&)i$7ulm4Pdhzk9`V(jVdgnaG&;mc3nf9HH|T3D;y47#FWzyLsw#DvR)^e#c9NXp6uGIORdSh!8hita zWnzf}{v*J{k?e&CjxK^@+lncE zhpOR4=pL{Mb9DHd$uV-}`q3n@Z&;+Z#yUiKO5YFMqM06Se$ueiN(^sbtYt5{DOc788POq0uv_F^ZOD0@B{oZ6rK3#vW@d(79Xgm zYN8XrwyKOO1CZ>H;=y4kd!POY52(-39Pc<`p3T-MPVJ)*1TLmXQ;6E-N2|Wd{B-Rj zk34s5T|M!Yht44%mhW-}Az{2nx@+lp*ECA=hGkm6Z^UPy_ zck=TY>MvyH2fyD&!rN^)H1fR-c@%&l|3KgY@?b!7O~QzNd1-v52tUzJ*~*GxfD@EJ zWjZCfcw|gZJlUbD>rlzPqaq7ZHY*C*J{@{BxcWE&e8;|AlBqR81QfOv9qb#Etkf4IvNofl;7f1wN>Hu?8|48A)m@5~!T% zIb4UNE{7`_+DTh497Teh{!Zzsyi+-}0=8b~YF9}!3)Su(nbX;lER>?LIeAq4FAsLJ z8{YjOknoo^Ag5Q!CvdH-J`#BvB?|af1geyWko~wt_d-)ks%+(I=)Y}52!~I5oPauq>fGaK- z6>J*f=ddPdKVC^Ix?Zo~d%SHH2NcDWUjz1Dv60B@4`H?BCPf|~;lc{(^#Zo&5u{B+ z1lQ?3nsHgeD%hE>xqua z>?L4LJuSfI0JRUp4f@`O|J_Be8AWRfM$x%2`Yf#nK=&QjkXJGD7#0d303@Ecx|YoJ z7|Z{u zM+jwvU~}tXG$fj92-UaVr$mGd4f$|p5QV4>*SD)d8b`%uXA?4z1)JhqPkVVd^7@Uw zh;@trg8mFAZwB_*g|BF$$P*yQc(ZK;3A<@(0Spv2=15V$XRsmqk)s`urzaptpO$P$ zW1zQ61d;dqH(`JD?CZmo+&(v2#A~o>(0J-%?R@eE%cnbsj#>R1_mQg2hQ|D1PP|Y~X z@^+=5u##O%IbQbU?1%ktY~QHBO;mDz;{f7;$pK08?qv)}uj)f~;j8dYs6|NZgYl*^ z4GDLF7}#JHJ?b0Jbe`o7!c)W|F3bBTIo|cLoHtlLwhZ%P`FS93_Cd$bEYg7q2e&C! zynIh_m8*caQLl9ui$t|CoLC6kG?$i~j8hLv^#asJoyEL%Nv36VQ36T>OHdRgv=Dlz z4EPoyH(172$T^c)`|n(h4H+Yrqro;NZSxOMe^|jqN>FnW3^%UYy#d!KdSy(=I87N= zJz9- zA)1lQAoV3Pnq$buHPD? zynC^lWh_5;6*tk199hYsovsM)yUWNmH3)j+9=R|^i(BHY-KqDr6(#KC{U^iQ9&e1R zZ5WnoPdY0lM+)0$)ZNmYUg38ax@dUzx0>Cf#d@dG33L#fP0bl_286;&T!|Sb59<6C zGbK)|2k_Os|I){7g$x{}3@dvQ^u;K~(r*8pMj{!)3`R2(F;yLt8+&%PAegzOQa$=q z{C-q+pjuu=vSzs8A4$3OA`tVK$W=DR+{Ha>X*NP7^6r(#F;$V7E&uxV@M83-AhyFx z$aR{dwQ1;el!xIXr2hsi^Q*0IbNSlH@SGO97B(&Krc5Hr-}>M@QXN6d?Feuz=l#J>8m`< zBA?%i?=z@$qKP6Lf-BPu@fRA3?7Q=C!p&_Pk(umc%g0&Eme(^-pGyd8GQA%F`&i4e zG?C2045(zyh{GK&9bQVuS4(QDfWEze_nX$Ipnn3b^7sNjG4!G;R{9+-lR{Bm6$XA( z?PDv3a3V+=5trU&0&zEHKzRCtjmD}@4KrOitTX-!Nas?T?isp){QWDD5@_ZGi80*9 zLG2zhyrw}*6O~1UA1)ruUp$yDJYQD89_GC%$Px5F!Wn8;((d7e>`#OI{1l=qNkMF5XMGppe$wMA+i4-WdFeK literal 0 HcmV?d00001 diff --git a/Minecraft Client/Assets/Scenes/Game/ReflectionProbe-0.exr.meta b/Minecraft Client/Assets/Scenes/Game/ReflectionProbe-0.exr.meta new file mode 100644 index 0000000..19f0a72 --- /dev/null +++ b/Minecraft Client/Assets/Scenes/Game/ReflectionProbe-0.exr.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: 187a6b6866d26c04f96983416e0aba6c +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 1 + seamlessCubemap: 1 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: 0 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 2 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 100 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Minecraft Client/Assets/Scenes/Login.unity b/Minecraft Client/Assets/Scenes/Login.unity new file mode 100644 index 0000000..c44d7c6 --- /dev/null +++ b/Minecraft Client/Assets/Scenes/Login.unity @@ -0,0 +1,1688 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.37311953, g: 0.38074014, b: 0.3587274, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &57054903 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 57054906} + - component: {fileID: 57054905} + - component: {fileID: 57054904} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &57054904 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 57054903} + m_Enabled: 1 +--- !u!20 &57054905 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 57054903} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0.19215688, g: 0.4745098, b: 0.47450975, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &57054906 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 57054903} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &71764840 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 71764841} + - component: {fileID: 71764843} + - component: {fileID: 71764842} + m_Layer: 5 + m_Name: Hint2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &71764841 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 71764840} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2033099004} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -149.2, y: -56.1} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &71764842 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 71764840} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: c5d381fc55e1650408676b69d87c7d55, type: 3} + m_FontSize: 18 + m_FontStyle: 2 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: 'Server IP:' +--- !u!222 &71764843 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 71764840} + m_CullTransparentMesh: 1 +--- !u!1 &557944437 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 557944438} + - component: {fileID: 557944440} + - component: {fileID: 557944439} + m_Layer: 5 + m_Name: Title + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &557944438 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 557944437} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2033099004} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 0.000015259, y: -34.9} + m_SizeDelta: {x: 261.9702, y: 75.34} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &557944439 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 557944437} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: c5d381fc55e1650408676b69d87c7d55, type: 3} + m_FontSize: 44 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 51 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: Minecraft Online Clone +--- !u!222 &557944440 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 557944437} + m_CullTransparentMesh: 1 +--- !u!1 &659877433 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 659877436} + - component: {fileID: 659877435} + - component: {fileID: 659877434} + - component: {fileID: 659877437} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &659877434 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 659877433} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &659877435 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 659877433} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 10 +--- !u!4 &659877436 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 659877433} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &659877437 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 659877433} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: db3663bcb190ea64f93d6089e1021f58, type: 3} + m_Name: + m_EditorClassIdentifier: + userName: {fileID: 1174182476} + serverIP: {fileID: 1047272871} + port: {fileID: 1603203176} +--- !u!1 &854417903 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 854417904} + - component: {fileID: 854417906} + - component: {fileID: 854417905} + m_Layer: 5 + m_Name: Hint3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &854417904 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 854417903} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2033099004} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -149.19998, y: -101.5} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &854417905 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 854417903} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: c5d381fc55e1650408676b69d87c7d55, type: 3} + m_FontSize: 18 + m_FontStyle: 2 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: 'Port:' +--- !u!222 &854417906 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 854417903} + m_CullTransparentMesh: 1 +--- !u!1 &1047272869 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1047272870} + - component: {fileID: 1047272873} + - component: {fileID: 1047272872} + - component: {fileID: 1047272871} + m_Layer: 5 + m_Name: Input_IP + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1047272870 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1047272869} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1486495034} + m_Father: {fileID: 2033099004} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 105.799995, y: -56.099995} + m_SizeDelta: {x: 297.6238, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1047272871 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1047272869} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d199490a83bb2b844b9695cbf13b01ef, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1047272872} + m_TextComponent: {fileID: 1486495035} + m_Placeholder: {fileID: 0} + m_ContentType: 0 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 0 + m_LineType: 0 + m_HideMobileInput: 0 + m_CharacterValidation: 0 + m_CharacterLimit: 0 + m_OnEndEdit: + m_PersistentCalls: + m_Calls: [] + m_OnValueChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 0} + m_TargetAssemblyTypeName: Menu, Assembly-CSharp + m_MethodName: ValueChangedIp + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_CustomCaretColor: 0 + m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} + m_Text: + m_CaretBlinkRate: 0.85 + m_CaretWidth: 1 + m_ReadOnly: 0 + m_ShouldActivateOnSelect: 1 +--- !u!114 &1047272872 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1047272869} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.16862746} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10911, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1047272873 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1047272869} + m_CullTransparentMesh: 1 +--- !u!1 &1055915758 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1055915759} + - component: {fileID: 1055915761} + - component: {fileID: 1055915760} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1055915759 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1055915758} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1603203175} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -0.5} + m_SizeDelta: {x: -20, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1055915760 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1055915758} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 18 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: +--- !u!222 &1055915761 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1055915758} + m_CullTransparentMesh: 1 +--- !u!1 &1174182474 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1174182475} + - component: {fileID: 1174182478} + - component: {fileID: 1174182477} + - component: {fileID: 1174182476} + m_Layer: 5 + m_Name: Input_User_Name + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1174182475 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1174182474} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1578575450} + m_Father: {fileID: 2033099004} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 105.80006, y: -10.699997} + m_SizeDelta: {x: 297.6238, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1174182476 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1174182474} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d199490a83bb2b844b9695cbf13b01ef, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1174182477} + m_TextComponent: {fileID: 1578575451} + m_Placeholder: {fileID: 0} + m_ContentType: 0 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 0 + m_LineType: 0 + m_HideMobileInput: 0 + m_CharacterValidation: 0 + m_CharacterLimit: 0 + m_OnEndEdit: + m_PersistentCalls: + m_Calls: [] + m_OnValueChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 0} + m_TargetAssemblyTypeName: Menu, Assembly-CSharp + m_MethodName: ValueChangedUserName + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_CustomCaretColor: 0 + m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} + m_Text: + m_CaretBlinkRate: 0.85 + m_CaretWidth: 1 + m_ReadOnly: 0 + m_ShouldActivateOnSelect: 1 +--- !u!114 &1174182477 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1174182474} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.16862746} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10911, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1174182478 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1174182474} + m_CullTransparentMesh: 1 +--- !u!1 &1279274158 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1279274159} + - component: {fileID: 1279274162} + - component: {fileID: 1279274161} + - component: {fileID: 1279274160} + m_Layer: 5 + m_Name: Send + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1279274159 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1279274158} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1747497270} + m_Father: {fileID: 2033099004} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: -105.899994, y: 54} + m_SizeDelta: {x: 160, y: 45.3632} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1279274160 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1279274158} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1279274161} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 659877437} + m_TargetAssemblyTypeName: Login, Assembly-CSharp + m_MethodName: ButtonSend + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1279274161 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1279274158} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.16862746} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1279274162 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1279274158} + m_CullTransparentMesh: 1 +--- !u!1 &1486495033 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1486495034} + - component: {fileID: 1486495036} + - component: {fileID: 1486495035} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1486495034 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1486495033} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1047272870} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -0.5} + m_SizeDelta: {x: -20, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1486495035 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1486495033} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 18 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: +--- !u!222 &1486495036 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1486495033} + m_CullTransparentMesh: 1 +--- !u!1 &1578575449 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1578575450} + - component: {fileID: 1578575452} + - component: {fileID: 1578575451} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1578575450 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1578575449} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1174182475} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -0.5} + m_SizeDelta: {x: -20, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1578575451 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1578575449} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 18 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 0 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: +--- !u!222 &1578575452 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1578575449} + m_CullTransparentMesh: 1 +--- !u!1 &1603203174 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1603203175} + - component: {fileID: 1603203178} + - component: {fileID: 1603203177} + - component: {fileID: 1603203176} + m_Layer: 5 + m_Name: Input_Port + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1603203175 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1603203174} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1055915759} + m_Father: {fileID: 2033099004} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 105.80001, y: -101.499985} + m_SizeDelta: {x: 297.6238, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1603203176 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1603203174} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d199490a83bb2b844b9695cbf13b01ef, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1603203177} + m_TextComponent: {fileID: 1055915760} + m_Placeholder: {fileID: 0} + m_ContentType: 0 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 0 + m_LineType: 0 + m_HideMobileInput: 0 + m_CharacterValidation: 0 + m_CharacterLimit: 0 + m_OnEndEdit: + m_PersistentCalls: + m_Calls: [] + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_CustomCaretColor: 0 + m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} + m_Text: + m_CaretBlinkRate: 0.85 + m_CaretWidth: 1 + m_ReadOnly: 0 + m_ShouldActivateOnSelect: 1 +--- !u!114 &1603203177 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1603203174} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.16862746} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10911, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1603203178 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1603203174} + m_CullTransparentMesh: 1 +--- !u!1 &1661573147 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1661573148} + - component: {fileID: 1661573150} + - component: {fileID: 1661573149} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1661573148 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1661573147} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2033099004} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 1.8013916, y: 0} + m_SizeDelta: {x: 3.6027832, y: -0.54000854} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1661573149 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1661573147} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: b9659c3db2ca9c0469b9d747f546103a, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1661573150 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1661573147} + m_CullTransparentMesh: 1 +--- !u!1 &1747497269 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1747497270} + - component: {fileID: 1747497272} + - component: {fileID: 1747497271} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1747497270 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1747497269} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1279274159} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1747497271 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1747497269} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: c5d381fc55e1650408676b69d87c7d55, type: 3} + m_FontSize: 18 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: Play +--- !u!222 &1747497272 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1747497269} + m_CullTransparentMesh: 1 +--- !u!1 &1783690557 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1783690558} + - component: {fileID: 1783690560} + - component: {fileID: 1783690559} + m_Layer: 5 + m_Name: Hint1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1783690558 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1783690557} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2033099004} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -149.19998, y: -10.699997} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1783690559 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1783690557} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: c5d381fc55e1650408676b69d87c7d55, type: 3} + m_FontSize: 18 + m_FontStyle: 2 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 1 + m_VerticalOverflow: 1 + m_LineSpacing: 1 + m_Text: 'User Name:' +--- !u!222 &1783690560 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1783690557} + m_CullTransparentMesh: 1 +--- !u!1 &2033099000 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2033099004} + - component: {fileID: 2033099003} + - component: {fileID: 2033099002} + - component: {fileID: 2033099001} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &2033099001 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2033099000} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &2033099002 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2033099000} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 1 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &2033099003 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2033099000} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &2033099004 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2033099000} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1661573148} + - {fileID: 557944438} + - {fileID: 1783690558} + - {fileID: 71764841} + - {fileID: 854417904} + - {fileID: 1174182475} + - {fileID: 1047272870} + - {fileID: 1603203175} + - {fileID: 1279274159} + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} diff --git a/Minecraft Client/Assets/Scenes/Login.unity.meta b/Minecraft Client/Assets/Scenes/Login.unity.meta new file mode 100644 index 0000000..e0607f5 --- /dev/null +++ b/Minecraft Client/Assets/Scenes/Login.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e218b0e43df0f134b8168fa6f8660533 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Minecraft Client/Assets/Scripts.meta b/Minecraft Client/Assets/Scripts.meta new file mode 100644 index 0000000..52b7b35 --- /dev/null +++ b/Minecraft Client/Assets/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 793edbe22aaae1148946acd7da126ce1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Minecraft Client/Assets/Scripts/Game.meta b/Minecraft Client/Assets/Scripts/Game.meta new file mode 100644 index 0000000..54f177e --- /dev/null +++ b/Minecraft Client/Assets/Scripts/Game.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1c5d2a5e24ad1b248a221c6b97f0911b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Minecraft Client/Assets/Scripts/Game/Chunk.cs b/Minecraft Client/Assets/Scripts/Game/Chunk.cs new file mode 100644 index 0000000..c3367b5 --- /dev/null +++ b/Minecraft Client/Assets/Scripts/Game/Chunk.cs @@ -0,0 +1,137 @@ +using System.Collections; +using System.Collections.Generic; +using System.Data.Common; +using UnityEngine; + +public class Chunk +{ + //basic + private Material material; + private ChunkCoord chunkPosition; + private World world; + + //rendering + public GameObject gameObject; + private MeshFilter meshFilter; + private MeshRenderer meshRenderer; + + //data + private List vertices = new List(); + private List uv = new List(); + private List triangles = new List(); + public byte[,,] blocks; + private int triangleIndex = 0; + + //physics + private MeshCollider collider; + + public Chunk(Material material, ChunkCoord chunkPosition, World world, byte[,,] blocks) + { + this.blocks = blocks; + this.material = material; + this.chunkPosition = chunkPosition; + this.world = world; + } + + + //initializes the chunks components + public void Initialize() + { + gameObject = new GameObject(chunkPosition.x + ", " + chunkPosition.z); + gameObject.transform.position = + new Vector3(chunkPosition.x * Data.chunkWidth, 0, chunkPosition.z * Data.chunkWidth); + meshFilter = gameObject.AddComponent(); + meshRenderer = gameObject.AddComponent(); + collider = gameObject.AddComponent(); + } + + public void AddBlocks() + { + for (int y = 0; y < Data.chunkHeight; y++) + { + for (int x = 0; x < Data.chunkWidth; x++) + { + for (int z = 0; z < Data.chunkWidth; z++) + { + AddBlock(x, y, z); + } + } + } + } + + //adds the data of a single block + private void AddBlock(int x, int y, int z) + { + byte[] textures = world.GetTextures(blocks[x, y, z]); + + //only draw solid blocks + if(blocks[x, y, z] != 0) + { + for (int f = 0; f < 6; f++) + { + //check for connecting faces + if (!world.CheckBlock(new Vector3(x + Data.faceChecks[f].x + chunkPosition.x * Data.chunkWidth, + y + Data.faceChecks[f].y, + z + Data.faceChecks[f].z + chunkPosition.z * Data.chunkWidth))) + { + for (int v = 0; v < 6; v++) + { + vertices.Add(Data.vertices[Data.triangles[f, v]] + new Vector3(x, y, z)); + triangles.Add(triangleIndex); + triangleIndex++; + } + + AddUV(textures[f]); + } + } + } + } + + + //add uv to a face + private void AddUV(byte textureID) + { + float y = (int)(textureID / Data.textureAtlasSize); + float x = (int)(textureID - (y * Data.textureAtlasSize)); + float textureSize = 1f / Data.textureAtlasSize; + + y /= Data.textureAtlasSize; + x /= Data.textureAtlasSize; + y = 1 - y; + + uv.Add(new Vector2(x, y - textureSize)); + uv.Add(new Vector2(x, y)); + uv.Add(new Vector2(x + textureSize, y - textureSize)); + uv.Add(new Vector2(x + textureSize, y - textureSize)); + uv.Add(new Vector2(x, y)); + uv.Add(new Vector2(x + textureSize, y)); + } + + //creates the final mesh + public void CreateMesh() + { + Mesh mesh = new Mesh(); + mesh.vertices = vertices.ToArray(); + mesh.triangles = triangles.ToArray(); + mesh.uv = uv.ToArray(); + mesh.RecalculateNormals(); + meshFilter.mesh = mesh; + meshRenderer.material = material; + collider.sharedMesh = mesh; + } + + public void Edit(byte x, byte y, byte z, byte blockID) + { + blocks[x, y, z] = blockID; + } + + public void Update() + { + vertices.Clear(); + triangles.Clear(); + uv.Clear(); + triangleIndex = 0; + AddBlocks(); + CreateMesh(); + } +} diff --git a/Minecraft Client/Assets/Scripts/Game/Chunk.cs.meta b/Minecraft Client/Assets/Scripts/Game/Chunk.cs.meta new file mode 100644 index 0000000..7f55dff --- /dev/null +++ b/Minecraft Client/Assets/Scripts/Game/Chunk.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a5d27935c6d501a41a2d972b8ff6cc7c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Minecraft Client/Assets/Scripts/Game/ChunkCoord.cs b/Minecraft Client/Assets/Scripts/Game/ChunkCoord.cs new file mode 100644 index 0000000..bf72675 --- /dev/null +++ b/Minecraft Client/Assets/Scripts/Game/ChunkCoord.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +[Serializable] +public class ChunkCoord +{ + public ChunkCoord(int x, int z) + { + this.x = x; + this.z = z; + } + + public int x; + public int z; +} diff --git a/Minecraft Client/Assets/Scripts/Game/ChunkCoord.cs.meta b/Minecraft Client/Assets/Scripts/Game/ChunkCoord.cs.meta new file mode 100644 index 0000000..a453bd3 --- /dev/null +++ b/Minecraft Client/Assets/Scripts/Game/ChunkCoord.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9b0ff680cf7becd4a905cd0f219efa91 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Minecraft Client/Assets/Scripts/Game/Client.cs b/Minecraft Client/Assets/Scripts/Game/Client.cs new file mode 100644 index 0000000..e8e55f0 --- /dev/null +++ b/Minecraft Client/Assets/Scripts/Game/Client.cs @@ -0,0 +1,159 @@ +using System.Collections; +using System.Collections.Generic; +using System.Net; +using System.Net.Sockets; +using System.Text; +using System.Threading; +using UnityEngine; + +public class Client +{ + //game + private World world; + private string name; + + //network + private UdpClient client; + private int port; + private Thread receiveThread; + + public Client(string hostname, int port, World world, string name) + { + this.port = port; + this.world = world; + this.name = name; + + //setup client + client = new UdpClient(); + client.DontFragment = false; + + IPAddress address; + if (IPAddress.TryParse(hostname, out address)) + { + address = IPAddress.Parse(hostname); + client.Connect(address, port); + } + else + { + client.Connect(hostname, port); + } + + //get world size + + List sendList = new List(); + sendList.Add(2); + + byte[] asciiName = Encoding.ASCII.GetBytes(name); + foreach (byte b in asciiName) + { + sendList.Add(b); + } + + Send(sendList.ToArray()); + IPEndPoint endPoint = new IPEndPoint(IPAddress.Any, 0); + byte[] data = client.Receive(ref endPoint); + if (data[0] == 2) + { + world.worldSize = data[1]; + world.CreateChunkArray(); + } + + //send init message + Send(new byte[]{0}); + + byte xChunk = 0; + byte zChunk = 0; + + while (true) + { + endPoint = new IPEndPoint(IPAddress.Any, 0); + data = client.Receive(ref endPoint); + + if (data[0] == 1) + { + if (data[1] == 1) + { + break; + } + + //in world transfer + byte[,,] blocks = new byte[Data.chunkWidth, Data.chunkHeight, Data.chunkWidth]; + int i = 2; + + for (int y = 0; y < Data.chunkHeight; y++) + { + for (int x = 0; x < Data.chunkWidth; x++) + { + for (int z = 0; z < Data.chunkWidth; z++) + { + blocks[x, y, z] = data[i]; + i++; + } + } + } + + world.InitChunk(xChunk, zChunk, blocks); + + zChunk++; + xChunk += (byte)(zChunk / world.worldSize); + + if (zChunk / world.worldSize == 1) + { + zChunk = 0; + } + } + + Send(new byte[]{5}); + } + + world.CreateChunks(); + //world transfer finished + + //start listening + receiveThread = new Thread(Receive); + receiveThread.Start(); + } + + private void Receive() + { + while(true) + { + IPEndPoint endPoint = new IPEndPoint(IPAddress.Any, 0); + byte[] data = client.Receive(ref endPoint); + + if (data[0] == 3) + { + ChunkCoord chunk = new ChunkCoord(data[1], data[2]); + Vector3 positionInChunk = new Vector3(data[3], data[4], data[5]); + byte blockID = data[6]; + + world.EditBlock(chunk, positionInChunk, blockID); + } + } + } + + public void EditBlock(Vector3 positionInWorld, byte blockID) + { + ChunkCoord chunk = new ChunkCoord((int)(positionInWorld.x / Data.chunkWidth), + (int)(positionInWorld.z / Data.chunkWidth)); + + byte xInChunk = (byte)(positionInWorld.x - chunk.x * Data.chunkWidth); + byte yInChunk = (byte)positionInWorld.y; + byte zInChunk = (byte)(positionInWorld.z - chunk.z * Data.chunkWidth); + + //send Chunk with position in Chunk + Send(new byte[] { 3, (byte)chunk.x, (byte)chunk.z, xInChunk, yInChunk, zInChunk, blockID }); + } + + private void Send(byte[] data) + { + client.Send(data, data.Length); + } + + public void Disconnect() + { + Send(new byte[] { 4 }); + receiveThread.Abort(); + client.Close(); + } +} diff --git a/Minecraft Client/Assets/Scripts/Game/Client.cs.meta b/Minecraft Client/Assets/Scripts/Game/Client.cs.meta new file mode 100644 index 0000000..b45e2e8 --- /dev/null +++ b/Minecraft Client/Assets/Scripts/Game/Client.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7ca7d1e5089330a4392f77344cf27891 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Minecraft Client/Assets/Scripts/Game/Data.cs b/Minecraft Client/Assets/Scripts/Game/Data.cs new file mode 100644 index 0000000..5ffe058 --- /dev/null +++ b/Minecraft Client/Assets/Scripts/Game/Data.cs @@ -0,0 +1,53 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class Data +{ + public static int chunkWidth = 15, chunkHeight = 250; + public static int textureAtlasSize = 16; + + public static readonly Vector3[] vertices = + { + new Vector3(0, 0, 0), + new Vector3(1, 0, 0), + new Vector3(1, 1, 0), + new Vector3(0, 1, 0), + new Vector3(1, 0, 1), + new Vector3(0, 0, 1), + new Vector3(0, 1, 1), + new Vector3(1, 1, 1) + }; + + public static readonly int[,] triangles = + { + //front + {0, 3, 1, 1, 3, 2}, + //back + {4, 7, 5, 5, 7, 6}, + //top + {3, 6, 2, 2, 6, 7}, + //bottom + {5, 0, 4, 4, 0, 1}, + //left + {5, 6, 0, 0, 6, 3}, + //right + {1, 2, 4, 4, 2, 7}, + }; + + public static readonly Vector3[] faceChecks = + { + //front + new Vector3(0, 0, -1), + //back + new Vector3(0, 0, 1), + //top + new Vector3(0, 1, 0), + //bottom + new Vector3(0, -1, 0), + //left + new Vector3(-1, 0, 0), + //right + new Vector3(1, 0, 0), + }; +} diff --git a/Minecraft Client/Assets/Scripts/Game/Data.cs.meta b/Minecraft Client/Assets/Scripts/Game/Data.cs.meta new file mode 100644 index 0000000..f75422c --- /dev/null +++ b/Minecraft Client/Assets/Scripts/Game/Data.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 643914e5a873de34baea75d649800005 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Minecraft Client/Assets/Scripts/Game/Player.cs b/Minecraft Client/Assets/Scripts/Game/Player.cs new file mode 100644 index 0000000..e3f3e85 --- /dev/null +++ b/Minecraft Client/Assets/Scripts/Game/Player.cs @@ -0,0 +1,63 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class Player : MonoBehaviour +{ + //game + [SerializeField] private float mouseSpeed; + [SerializeField] private float moveSpeed; + [SerializeField] private World world; + private Camera camera = null; + + //network + private Client client = null; + + private void Start() + { + client = world.GetClient(); + Cursor.lockState = CursorLockMode.Locked; + camera = GetComponentInChildren(); + } + + private void Update() + { + transform.Rotate(0, Input.GetAxis("Mouse X") * mouseSpeed, 0); + camera.transform.Rotate(-Input.GetAxis("Mouse Y") * mouseSpeed, 0, 0); + + float up = 0; + if (Input.GetKey(KeyCode.Space)) + { + up = 1; + } + + if (Input.GetKey(KeyCode.LeftShift)) + { + up = -1; + } + + transform.Translate(Input.GetAxis("Horizontal") * moveSpeed * Time.deltaTime, up * moveSpeed * Time.deltaTime, + Input.GetAxis("Vertical") * moveSpeed * Time.deltaTime); + + if (Input.GetMouseButtonDown(0)) + { + RaycastHit hit; + if (Physics.Raycast(camera.transform.position, camera.transform.forward, out hit)) + { + hit.point += camera.transform.forward / 10; + client.EditBlock(hit.point, 0); + } + } + + if (Input.GetMouseButtonDown(1)) + { + RaycastHit hit; + if (Physics.Raycast(camera.transform.position, camera.transform.forward, out hit)) + { + hit.point -= camera.transform.forward / 10; + client.EditBlock(hit.point, 4); + } + } + } +} diff --git a/Minecraft Client/Assets/Scripts/Game/Player.cs.meta b/Minecraft Client/Assets/Scripts/Game/Player.cs.meta new file mode 100644 index 0000000..906d491 --- /dev/null +++ b/Minecraft Client/Assets/Scripts/Game/Player.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 68efa1f8faa15f54b905841d23d36864 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Minecraft Client/Assets/Scripts/Game/World.cs b/Minecraft Client/Assets/Scripts/Game/World.cs new file mode 100644 index 0000000..41ce021 --- /dev/null +++ b/Minecraft Client/Assets/Scripts/Game/World.cs @@ -0,0 +1,209 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class World : MonoBehaviour +{ + //basic + [SerializeField] private Material material; + public int worldSize; + private string name; + private string ip; + private int port; + + //chunks + private Chunk[,] chunks; + private Queue chunksToUpdate = new Queue(); + + //blocks + [SerializeField] private BlockData[] blockData; + + //network + private Client client; + + private void Start() + { + name = PlayerPrefs.GetString("userName"); + ip = PlayerPrefs.GetString("serverIP"); + port = int.Parse(PlayerPrefs.GetString("port")); + client = new Client(ip, port, this, name); + } + + private void Update() + { + if (chunksToUpdate.Count > 0) + { + ChunkCoord chunk = chunksToUpdate.Dequeue(); + chunks[chunk.x, chunk.z].Update(); + } + } + + public void CreateChunkArray() + { + chunks = new Chunk[worldSize, worldSize]; + } + + public void InitChunk(int x, int z, byte[,,] blocks) + { + chunks[x, z] = new Chunk(material, new ChunkCoord(x, z), this, blocks); + } + + //creates an array of chunks + public void CreateChunks() + { + for (int x = 0; x < worldSize; x++) + { + for (int z = 0; z < worldSize; z++) + { + chunks[x, z].Initialize(); + chunks[x, z].gameObject.transform.SetParent(gameObject.transform); + chunks[x, z].AddBlocks(); + chunks[x, z].CreateMesh(); + } + } + } + + //return the ID of a block + public byte GetBlockID(Vector3 positionInWorld) + { + byte height = GetHeight((int)positionInWorld.x, (int)positionInWorld.z); + + //world pass + if (positionInWorld.x < 0 || positionInWorld.y < 0 || positionInWorld.z < 0 || + positionInWorld.x >= worldSize * Data.chunkWidth || positionInWorld.y > height || + positionInWorld.z >= worldSize * Data.chunkWidth) + { + return 0; + } + + //chunk pass + if ((int)positionInWorld.y == height) + { + return 3; + } + + if ((int)positionInWorld.y == 0) + { + return 1; + } + + if ((int)positionInWorld.y > height - 3) + { + return 2; + } + + if ((int)positionInWorld.y < height) + { + return 4; + } + + return 0; + } + + //returns if a block is on the position + public bool CheckBlock(Vector3 positionInWorld) + { + if (positionInWorld.x < -1 || positionInWorld.z < -1 || + positionInWorld.x > worldSize * Data.chunkWidth || + positionInWorld.z > worldSize * Data.chunkWidth) + { + return false; + } + + + if (positionInWorld.x < 0 || positionInWorld.y < 0 || positionInWorld.z < 0 || + positionInWorld.x >= worldSize * Data.chunkWidth || positionInWorld.y >= Data.chunkHeight || + positionInWorld.z >= worldSize * Data.chunkWidth) + { + return true; + } + + ChunkCoord chunk = new ChunkCoord((int)(positionInWorld.x / Data.chunkWidth), + (int)(positionInWorld.z / Data.chunkWidth)); + + int xInChunk = (int)(positionInWorld.x - chunk.x * Data.chunkWidth); + int yInChunk = (int)positionInWorld.y; + int zInChunk = (int)(positionInWorld.z - chunk.z * Data.chunkWidth); + + if (chunks[chunk.x, chunk.z] != null) + { + if (chunks[chunk.x, chunk.z].blocks[xInChunk, yInChunk, zInChunk] == 0) + { + return false; + } + } + + return true; + } + + //return textures array of a block + public byte[] GetTextures(byte blockID) + { + return blockData[blockID].textures; + } + + private byte GetHeight(int x, int z) + { + float scale = 0.025f; + byte perlinHeight = 10; + byte groundHeight = 10; + + byte height = (byte)(Mathf.PerlinNoise((x) * scale + 0.1f, (z) * scale + 0.1f) * perlinHeight + groundHeight); + return height; + } + + public void EditBlock(ChunkCoord chunk, Vector3 positionInChunk, byte blockID) + { + byte xInChunk = (byte)(positionInChunk.x); + byte yInChunk = (byte)positionInChunk.y; + byte zInChunk = (byte)(positionInChunk.z); + + //edit block in chunk + if(chunks[chunk.x, chunk.z].blocks[xInChunk, yInChunk, zInChunk] != 1) + { + chunks[chunk.x, chunk.z].Edit(xInChunk, yInChunk, zInChunk, blockID); + chunksToUpdate.Enqueue(new ChunkCoord(chunk.x, chunk.z)); + + //update surrounding chunks + if (chunk.x - 1 >= 0) + { + chunksToUpdate.Enqueue(new ChunkCoord(chunk.x - 1, chunk.z)); + } + + if (chunk.x + 1 < worldSize) + { + chunksToUpdate.Enqueue(new ChunkCoord(chunk.x + 1, chunk.z)); + } + + if (chunk.z - 1 >= 0) + { + chunksToUpdate.Enqueue(new ChunkCoord(chunk.x, chunk.z - 1)); + } + + if (chunk.z + 1 < worldSize) + { + chunksToUpdate.Enqueue(new ChunkCoord(chunk.x, chunk.z + 1)); + } + } + } + + private void OnApplicationQuit() + { + client.Disconnect(); + } + + + public Client GetClient() + { + return client; + } + + + [Serializable] + public class BlockData + { + public string name; + public byte[] textures = new byte[6]; + } +} diff --git a/Minecraft Client/Assets/Scripts/Game/World.cs.meta b/Minecraft Client/Assets/Scripts/Game/World.cs.meta new file mode 100644 index 0000000..818c984 --- /dev/null +++ b/Minecraft Client/Assets/Scripts/Game/World.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5457f26f725053d46bffb9885acfd7d8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Minecraft Client/Assets/Scripts/Login.meta b/Minecraft Client/Assets/Scripts/Login.meta new file mode 100644 index 0000000..b9a982e --- /dev/null +++ b/Minecraft Client/Assets/Scripts/Login.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8ce3777e92c3fce48ae215f4f1576933 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Minecraft Client/Assets/Scripts/Login/Login.cs b/Minecraft Client/Assets/Scripts/Login/Login.cs new file mode 100644 index 0000000..932c470 --- /dev/null +++ b/Minecraft Client/Assets/Scripts/Login/Login.cs @@ -0,0 +1,40 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.SceneManagement; +using UnityEngine.UI; + +public class Login : MonoBehaviour +{ + [SerializeField] private InputField userName; + [SerializeField] private InputField serverIP; + [SerializeField] private InputField port; + + private void Start() + { + if (PlayerPrefs.HasKey("userName")) + { + userName.text = PlayerPrefs.GetString("userName"); + } + + if (PlayerPrefs.HasKey("serverIP")) + { + serverIP.text = PlayerPrefs.GetString("serverIP"); + } + + if (PlayerPrefs.HasKey("port")) + { + port.text = PlayerPrefs.GetString("port"); + } + } + + public void ButtonSend() + { + PlayerPrefs.SetString("userName", userName.text); + PlayerPrefs.SetString("serverIP", serverIP.text); + PlayerPrefs.SetString("port", port.text); + PlayerPrefs.Save(); + + SceneManager.LoadScene("Scenes/Game", LoadSceneMode.Single); + } +} diff --git a/Minecraft Client/Assets/Scripts/Login/Login.cs.meta b/Minecraft Client/Assets/Scripts/Login/Login.cs.meta new file mode 100644 index 0000000..1e28d08 --- /dev/null +++ b/Minecraft Client/Assets/Scripts/Login/Login.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: db3663bcb190ea64f93d6089e1021f58 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Minecraft Client/Packages/manifest.json b/Minecraft Client/Packages/manifest.json new file mode 100644 index 0000000..35baba0 --- /dev/null +++ b/Minecraft Client/Packages/manifest.json @@ -0,0 +1,43 @@ +{ + "dependencies": { + "com.unity.collab-proxy": "1.15.16", + "com.unity.ide.rider": "2.0.7", + "com.unity.ide.visualstudio": "2.0.14", + "com.unity.ide.vscode": "1.2.5", + "com.unity.test-framework": "1.1.31", + "com.unity.textmeshpro": "3.0.6", + "com.unity.timeline": "1.4.8", + "com.unity.ugui": "1.0.0", + "com.unity.modules.ai": "1.0.0", + "com.unity.modules.androidjni": "1.0.0", + "com.unity.modules.animation": "1.0.0", + "com.unity.modules.assetbundle": "1.0.0", + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.cloth": "1.0.0", + "com.unity.modules.director": "1.0.0", + "com.unity.modules.imageconversion": "1.0.0", + "com.unity.modules.imgui": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.modules.particlesystem": "1.0.0", + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.physics2d": "1.0.0", + "com.unity.modules.screencapture": "1.0.0", + "com.unity.modules.terrain": "1.0.0", + "com.unity.modules.terrainphysics": "1.0.0", + "com.unity.modules.tilemap": "1.0.0", + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.uielements": "1.0.0", + "com.unity.modules.umbra": "1.0.0", + "com.unity.modules.unityanalytics": "1.0.0", + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.unitywebrequestassetbundle": "1.0.0", + "com.unity.modules.unitywebrequestaudio": "1.0.0", + "com.unity.modules.unitywebrequesttexture": "1.0.0", + "com.unity.modules.unitywebrequestwww": "1.0.0", + "com.unity.modules.vehicles": "1.0.0", + "com.unity.modules.video": "1.0.0", + "com.unity.modules.vr": "1.0.0", + "com.unity.modules.wind": "1.0.0", + "com.unity.modules.xr": "1.0.0" + } +} diff --git a/Minecraft Client/Packages/packages-lock.json b/Minecraft Client/Packages/packages-lock.json new file mode 100644 index 0000000..738e30a --- /dev/null +++ b/Minecraft Client/Packages/packages-lock.json @@ -0,0 +1,349 @@ +{ + "dependencies": { + "com.unity.collab-proxy": { + "version": "1.15.16", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.services.core": "1.0.1" + }, + "url": "https://packages.unity.com" + }, + "com.unity.ext.nunit": { + "version": "1.0.6", + "depth": 1, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, + "com.unity.ide.rider": { + "version": "2.0.7", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.test-framework": "1.1.1" + }, + "url": "https://packages.unity.com" + }, + "com.unity.ide.visualstudio": { + "version": "2.0.14", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.test-framework": "1.1.9" + }, + "url": "https://packages.unity.com" + }, + "com.unity.ide.vscode": { + "version": "1.2.5", + "depth": 0, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, + "com.unity.services.core": { + "version": "1.0.1", + "depth": 1, + "source": "registry", + "dependencies": { + "com.unity.modules.unitywebrequest": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.test-framework": { + "version": "1.1.31", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.ext.nunit": "1.0.6", + "com.unity.modules.imgui": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.textmeshpro": { + "version": "3.0.6", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.ugui": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.timeline": { + "version": "1.4.8", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.modules.director": "1.0.0", + "com.unity.modules.animation": "1.0.0", + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.particlesystem": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.ugui": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.imgui": "1.0.0" + } + }, + "com.unity.modules.ai": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.androidjni": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.animation": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.assetbundle": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.audio": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.cloth": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics": "1.0.0" + } + }, + "com.unity.modules.director": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.animation": "1.0.0" + } + }, + "com.unity.modules.imageconversion": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.imgui": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.jsonserialize": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.particlesystem": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.physics": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.physics2d": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.screencapture": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.imageconversion": "1.0.0" + } + }, + "com.unity.modules.subsystems": { + "version": "1.0.0", + "depth": 1, + "source": "builtin", + "dependencies": { + "com.unity.modules.jsonserialize": "1.0.0" + } + }, + "com.unity.modules.terrain": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.terrainphysics": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.terrain": "1.0.0" + } + }, + "com.unity.modules.tilemap": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics2d": "1.0.0" + } + }, + "com.unity.modules.ui": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.uielements": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.imgui": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.modules.uielementsnative": "1.0.0" + } + }, + "com.unity.modules.uielementsnative": { + "version": "1.0.0", + "depth": 1, + "source": "builtin", + "dependencies": { + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.imgui": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0" + } + }, + "com.unity.modules.umbra": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.unityanalytics": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0" + } + }, + "com.unity.modules.unitywebrequest": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.unitywebrequestassetbundle": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.assetbundle": "1.0.0", + "com.unity.modules.unitywebrequest": "1.0.0" + } + }, + "com.unity.modules.unitywebrequestaudio": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.audio": "1.0.0" + } + }, + "com.unity.modules.unitywebrequesttexture": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.imageconversion": "1.0.0" + } + }, + "com.unity.modules.unitywebrequestwww": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.unitywebrequestassetbundle": "1.0.0", + "com.unity.modules.unitywebrequestaudio": "1.0.0", + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.assetbundle": "1.0.0", + "com.unity.modules.imageconversion": "1.0.0" + } + }, + "com.unity.modules.vehicles": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics": "1.0.0" + } + }, + "com.unity.modules.video": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.unitywebrequest": "1.0.0" + } + }, + "com.unity.modules.vr": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.xr": "1.0.0" + } + }, + "com.unity.modules.wind": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.xr": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.modules.subsystems": "1.0.0" + } + } + } +} diff --git a/Minecraft Client/ProjectSettings/AudioManager.asset b/Minecraft Client/ProjectSettings/AudioManager.asset new file mode 100644 index 0000000..07ebfb0 --- /dev/null +++ b/Minecraft Client/ProjectSettings/AudioManager.asset @@ -0,0 +1,19 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!11 &1 +AudioManager: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Volume: 1 + Rolloff Scale: 1 + Doppler Factor: 1 + Default Speaker Mode: 2 + m_SampleRate: 0 + m_DSPBufferSize: 1024 + m_VirtualVoiceCount: 512 + m_RealVoiceCount: 32 + m_SpatializerPlugin: + m_AmbisonicDecoderPlugin: + m_DisableAudio: 0 + m_VirtualizeEffects: 1 + m_RequestedDSPBufferSize: 1024 diff --git a/Minecraft Client/ProjectSettings/ClusterInputManager.asset b/Minecraft Client/ProjectSettings/ClusterInputManager.asset new file mode 100644 index 0000000..e7886b2 --- /dev/null +++ b/Minecraft Client/ProjectSettings/ClusterInputManager.asset @@ -0,0 +1,6 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!236 &1 +ClusterInputManager: + m_ObjectHideFlags: 0 + m_Inputs: [] diff --git a/Minecraft Client/ProjectSettings/DynamicsManager.asset b/Minecraft Client/ProjectSettings/DynamicsManager.asset new file mode 100644 index 0000000..cdc1f3e --- /dev/null +++ b/Minecraft Client/ProjectSettings/DynamicsManager.asset @@ -0,0 +1,34 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!55 &1 +PhysicsManager: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_Gravity: {x: 0, y: -9.81, z: 0} + m_DefaultMaterial: {fileID: 0} + m_BounceThreshold: 2 + m_SleepThreshold: 0.005 + m_DefaultContactOffset: 0.01 + m_DefaultSolverIterations: 6 + m_DefaultSolverVelocityIterations: 1 + m_QueriesHitBackfaces: 0 + m_QueriesHitTriggers: 1 + m_EnableAdaptiveForce: 0 + m_ClothInterCollisionDistance: 0 + m_ClothInterCollisionStiffness: 0 + m_ContactsGeneration: 1 + m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + m_AutoSimulation: 1 + m_AutoSyncTransforms: 0 + m_ReuseCollisionCallbacks: 1 + m_ClothInterCollisionSettingsToggle: 0 + m_ContactPairsMode: 0 + m_BroadphaseType: 0 + m_WorldBounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 250, y: 250, z: 250} + m_WorldSubdivisions: 8 + m_FrictionType: 0 + m_EnableEnhancedDeterminism: 0 + m_EnableUnifiedHeightmaps: 1 + m_DefaultMaxAngluarSpeed: 7 diff --git a/Minecraft Client/ProjectSettings/EditorBuildSettings.asset b/Minecraft Client/ProjectSettings/EditorBuildSettings.asset new file mode 100644 index 0000000..ca78818 --- /dev/null +++ b/Minecraft Client/ProjectSettings/EditorBuildSettings.asset @@ -0,0 +1,14 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1045 &1 +EditorBuildSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Scenes: + - enabled: 1 + path: Assets/Scenes/Login.unity + guid: e218b0e43df0f134b8168fa6f8660533 + - enabled: 1 + path: Assets/Scenes/Game.unity + guid: 425ab817a41fc60409fc2d58b02e0a48 + m_configObjects: {} diff --git a/Minecraft Client/ProjectSettings/EditorSettings.asset b/Minecraft Client/ProjectSettings/EditorSettings.asset new file mode 100644 index 0000000..de5d0b2 --- /dev/null +++ b/Minecraft Client/ProjectSettings/EditorSettings.asset @@ -0,0 +1,30 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!159 &1 +EditorSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_ExternalVersionControlSupport: Visible Meta Files + m_SerializationMode: 2 + m_LineEndingsForNewScripts: 0 + m_DefaultBehaviorMode: 0 + m_PrefabRegularEnvironment: {fileID: 0} + m_PrefabUIEnvironment: {fileID: 0} + m_SpritePackerMode: 0 + m_SpritePackerPaddingPower: 1 + m_EtcTextureCompressorBehavior: 1 + m_EtcTextureFastCompressor: 1 + m_EtcTextureNormalCompressor: 2 + m_EtcTextureBestCompressor: 4 + m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;rsp;asmref + m_ProjectGenerationRootNamespace: + m_CollabEditorSettings: + inProgressEnabled: 1 + m_EnableTextureStreamingInEditMode: 1 + m_EnableTextureStreamingInPlayMode: 1 + m_AsyncShaderCompilation: 1 + m_EnterPlayModeOptionsEnabled: 0 + m_EnterPlayModeOptions: 3 + m_ShowLightmapResolutionOverlay: 1 + m_UseLegacyProbeSampleCount: 0 + m_SerializeInlineMappingsOnOneLine: 1 \ No newline at end of file diff --git a/Minecraft Client/ProjectSettings/GraphicsSettings.asset b/Minecraft Client/ProjectSettings/GraphicsSettings.asset new file mode 100644 index 0000000..43369e3 --- /dev/null +++ b/Minecraft Client/ProjectSettings/GraphicsSettings.asset @@ -0,0 +1,63 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!30 &1 +GraphicsSettings: + m_ObjectHideFlags: 0 + serializedVersion: 13 + m_Deferred: + m_Mode: 1 + m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} + m_DeferredReflections: + m_Mode: 1 + m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} + m_ScreenSpaceShadows: + m_Mode: 1 + m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} + m_LegacyDeferred: + m_Mode: 1 + m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} + m_DepthNormals: + m_Mode: 1 + m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} + m_MotionVectors: + m_Mode: 1 + m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} + m_LightHalo: + m_Mode: 1 + m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} + m_LensFlare: + m_Mode: 1 + m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} + m_AlwaysIncludedShaders: + - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} + m_PreloadedShaders: [] + m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, + type: 0} + m_CustomRenderPipeline: {fileID: 0} + m_TransparencySortMode: 0 + m_TransparencySortAxis: {x: 0, y: 0, z: 1} + m_DefaultRenderingPath: 1 + m_DefaultMobileRenderingPath: 1 + m_TierSettings: [] + m_LightmapStripping: 0 + m_FogStripping: 0 + m_InstancingStripping: 0 + m_LightmapKeepPlain: 1 + m_LightmapKeepDirCombined: 1 + m_LightmapKeepDynamicPlain: 1 + m_LightmapKeepDynamicDirCombined: 1 + m_LightmapKeepShadowMask: 1 + m_LightmapKeepSubtractive: 1 + m_FogKeepLinear: 1 + m_FogKeepExp: 1 + m_FogKeepExp2: 1 + m_AlbedoSwatchInfos: [] + m_LightsUseLinearIntensity: 0 + m_LightsUseColorTemperature: 0 + m_LogWhenShaderIsCompiled: 0 + m_AllowEnlightenSupportForUpgradedProject: 0 diff --git a/Minecraft Client/ProjectSettings/InputManager.asset b/Minecraft Client/ProjectSettings/InputManager.asset new file mode 100644 index 0000000..17c8f53 --- /dev/null +++ b/Minecraft Client/ProjectSettings/InputManager.asset @@ -0,0 +1,295 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!13 &1 +InputManager: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Axes: + - serializedVersion: 3 + m_Name: Horizontal + descriptiveName: + descriptiveNegativeName: + negativeButton: left + positiveButton: right + altNegativeButton: a + altPositiveButton: d + gravity: 3 + dead: 0.001 + sensitivity: 3 + snap: 1 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Vertical + descriptiveName: + descriptiveNegativeName: + negativeButton: down + positiveButton: up + altNegativeButton: s + altPositiveButton: w + gravity: 3 + dead: 0.001 + sensitivity: 3 + snap: 1 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire1 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left ctrl + altNegativeButton: + altPositiveButton: mouse 0 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire2 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left alt + altNegativeButton: + altPositiveButton: mouse 1 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire3 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left shift + altNegativeButton: + altPositiveButton: mouse 2 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Jump + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: space + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Mouse X + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0 + sensitivity: 0.1 + snap: 0 + invert: 0 + type: 1 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Mouse Y + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0 + sensitivity: 0.1 + snap: 0 + invert: 0 + type: 1 + axis: 1 + joyNum: 0 + - serializedVersion: 3 + m_Name: Mouse ScrollWheel + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0 + sensitivity: 0.1 + snap: 0 + invert: 0 + type: 1 + axis: 2 + joyNum: 0 + - serializedVersion: 3 + m_Name: Horizontal + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 0 + type: 2 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Vertical + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 1 + type: 2 + axis: 1 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire1 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 0 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire2 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 1 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire3 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 2 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Jump + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 3 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Submit + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: return + altNegativeButton: + altPositiveButton: joystick button 0 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Submit + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: enter + altNegativeButton: + altPositiveButton: space + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Cancel + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: escape + altNegativeButton: + altPositiveButton: joystick button 1 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 diff --git a/Minecraft Client/ProjectSettings/NavMeshAreas.asset b/Minecraft Client/ProjectSettings/NavMeshAreas.asset new file mode 100644 index 0000000..3b0b7c3 --- /dev/null +++ b/Minecraft Client/ProjectSettings/NavMeshAreas.asset @@ -0,0 +1,91 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!126 &1 +NavMeshProjectSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + areas: + - name: Walkable + cost: 1 + - name: Not Walkable + cost: 1 + - name: Jump + cost: 2 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + m_LastAgentTypeID: -887442657 + m_Settings: + - serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.75 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_SettingNames: + - Humanoid diff --git a/Minecraft Client/ProjectSettings/PackageManagerSettings.asset b/Minecraft Client/ProjectSettings/PackageManagerSettings.asset new file mode 100644 index 0000000..be4a797 --- /dev/null +++ b/Minecraft Client/ProjectSettings/PackageManagerSettings.asset @@ -0,0 +1,43 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &1 +MonoBehaviour: + m_ObjectHideFlags: 61 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 13964, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_EnablePreviewPackages: 0 + m_EnablePackageDependencies: 0 + m_AdvancedSettingsExpanded: 1 + m_ScopedRegistriesSettingsExpanded: 1 + oneTimeWarningShown: 0 + m_Registries: + - m_Id: main + m_Name: + m_Url: https://packages.unity.com + m_Scopes: [] + m_IsDefault: 1 + m_Capabilities: 7 + m_UserSelectedRegistryName: + m_UserAddingNewScopedRegistry: 0 + m_RegistryInfoDraft: + m_ErrorMessage: + m_Original: + m_Id: + m_Name: + m_Url: + m_Scopes: [] + m_IsDefault: 0 + m_Capabilities: 0 + m_Modified: 0 + m_Name: + m_Url: + m_Scopes: + - + m_SelectedScopeIndex: 0 diff --git a/Minecraft Client/ProjectSettings/Physics2DSettings.asset b/Minecraft Client/ProjectSettings/Physics2DSettings.asset new file mode 100644 index 0000000..47880b1 --- /dev/null +++ b/Minecraft Client/ProjectSettings/Physics2DSettings.asset @@ -0,0 +1,56 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!19 &1 +Physics2DSettings: + m_ObjectHideFlags: 0 + serializedVersion: 4 + m_Gravity: {x: 0, y: -9.81} + m_DefaultMaterial: {fileID: 0} + m_VelocityIterations: 8 + m_PositionIterations: 3 + m_VelocityThreshold: 1 + m_MaxLinearCorrection: 0.2 + m_MaxAngularCorrection: 8 + m_MaxTranslationSpeed: 100 + m_MaxRotationSpeed: 360 + m_BaumgarteScale: 0.2 + m_BaumgarteTimeOfImpactScale: 0.75 + m_TimeToSleep: 0.5 + m_LinearSleepTolerance: 0.01 + m_AngularSleepTolerance: 2 + m_DefaultContactOffset: 0.01 + m_JobOptions: + serializedVersion: 2 + useMultithreading: 0 + useConsistencySorting: 0 + m_InterpolationPosesPerJob: 100 + m_NewContactsPerJob: 30 + m_CollideContactsPerJob: 100 + m_ClearFlagsPerJob: 200 + m_ClearBodyForcesPerJob: 200 + m_SyncDiscreteFixturesPerJob: 50 + m_SyncContinuousFixturesPerJob: 50 + m_FindNearestContactsPerJob: 100 + m_UpdateTriggerContactsPerJob: 100 + m_IslandSolverCostThreshold: 100 + m_IslandSolverBodyCostScale: 1 + m_IslandSolverContactCostScale: 10 + m_IslandSolverJointCostScale: 10 + m_IslandSolverBodiesPerJob: 50 + m_IslandSolverContactsPerJob: 50 + m_AutoSimulation: 1 + m_QueriesHitTriggers: 1 + m_QueriesStartInColliders: 1 + m_CallbacksOnDisable: 1 + m_ReuseCollisionCallbacks: 1 + m_AutoSyncTransforms: 0 + m_AlwaysShowColliders: 0 + m_ShowColliderSleep: 1 + m_ShowColliderContacts: 0 + m_ShowColliderAABB: 0 + m_ContactArrowScale: 0.2 + m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412} + m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} + m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} + m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804} + m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff diff --git a/Minecraft Client/ProjectSettings/PresetManager.asset b/Minecraft Client/ProjectSettings/PresetManager.asset new file mode 100644 index 0000000..67a94da --- /dev/null +++ b/Minecraft Client/ProjectSettings/PresetManager.asset @@ -0,0 +1,7 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1386491679 &1 +PresetManager: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_DefaultPresets: {} diff --git a/Minecraft Client/ProjectSettings/ProjectSettings.asset b/Minecraft Client/ProjectSettings/ProjectSettings.asset new file mode 100644 index 0000000..abeec1f --- /dev/null +++ b/Minecraft Client/ProjectSettings/ProjectSettings.asset @@ -0,0 +1,701 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!129 &1 +PlayerSettings: + m_ObjectHideFlags: 0 + serializedVersion: 22 + productGUID: 5a40ee8c250912f4b9da99e9076cf6d6 + AndroidProfiler: 0 + AndroidFilterTouchesWhenObscured: 0 + AndroidEnableSustainedPerformanceMode: 0 + defaultScreenOrientation: 4 + targetDevice: 2 + useOnDemandResources: 0 + accelerometerFrequency: 60 + companyName: DefaultCompany + productName: Minecraft Client + defaultCursor: {fileID: 0} + cursorHotspot: {x: 0, y: 0} + m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1} + m_ShowUnitySplashScreen: 1 + m_ShowUnitySplashLogo: 1 + m_SplashScreenOverlayOpacity: 1 + m_SplashScreenAnimation: 1 + m_SplashScreenLogoStyle: 1 + m_SplashScreenDrawMode: 0 + m_SplashScreenBackgroundAnimationZoom: 1 + m_SplashScreenLogoAnimationZoom: 1 + m_SplashScreenBackgroundLandscapeAspect: 1 + m_SplashScreenBackgroundPortraitAspect: 1 + m_SplashScreenBackgroundLandscapeUvs: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + m_SplashScreenBackgroundPortraitUvs: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + m_SplashScreenLogos: [] + m_VirtualRealitySplashScreen: {fileID: 0} + m_HolographicTrackingLossScreen: {fileID: 0} + defaultScreenWidth: 1024 + defaultScreenHeight: 768 + defaultScreenWidthWeb: 960 + defaultScreenHeightWeb: 600 + m_StereoRenderingPath: 0 + m_ActiveColorSpace: 0 + m_MTRendering: 1 + mipStripping: 0 + numberOfMipsStripped: 0 + m_StackTraceTypes: 010000000100000001000000010000000100000001000000 + iosShowActivityIndicatorOnLoading: -1 + androidShowActivityIndicatorOnLoading: -1 + iosUseCustomAppBackgroundBehavior: 0 + iosAllowHTTPDownload: 1 + allowedAutorotateToPortrait: 1 + allowedAutorotateToPortraitUpsideDown: 1 + allowedAutorotateToLandscapeRight: 1 + allowedAutorotateToLandscapeLeft: 1 + useOSAutorotation: 1 + use32BitDisplayBuffer: 1 + preserveFramebufferAlpha: 0 + disableDepthAndStencilBuffers: 0 + androidStartInFullscreen: 1 + androidRenderOutsideSafeArea: 1 + androidUseSwappy: 1 + androidBlitType: 0 + androidResizableWindow: 0 + androidDefaultWindowWidth: 1920 + androidDefaultWindowHeight: 1080 + androidMinimumWindowWidth: 400 + androidMinimumWindowHeight: 300 + androidFullscreenMode: 1 + defaultIsNativeResolution: 1 + macRetinaSupport: 1 + runInBackground: 1 + captureSingleScreen: 0 + muteOtherAudioSources: 0 + Prepare IOS For Recording: 0 + Force IOS Speakers When Recording: 0 + deferSystemGesturesMode: 0 + hideHomeButton: 0 + submitAnalytics: 1 + usePlayerLog: 1 + bakeCollisionMeshes: 0 + forceSingleInstance: 0 + useFlipModelSwapchain: 1 + resizableWindow: 0 + useMacAppStoreValidation: 0 + macAppStoreCategory: public.app-category.games + gpuSkinning: 1 + xboxPIXTextureCapture: 0 + xboxEnableAvatar: 0 + xboxEnableKinect: 0 + xboxEnableKinectAutoTracking: 0 + xboxEnableFitness: 0 + visibleInBackground: 1 + allowFullscreenSwitch: 1 + fullscreenMode: 1 + xboxSpeechDB: 0 + xboxEnableHeadOrientation: 0 + xboxEnableGuest: 0 + xboxEnablePIXSampling: 0 + metalFramebufferOnly: 0 + xboxOneResolution: 0 + xboxOneSResolution: 0 + xboxOneXResolution: 3 + xboxOneMonoLoggingLevel: 0 + xboxOneLoggingLevel: 1 + xboxOneDisableEsram: 0 + xboxOneEnableTypeOptimization: 0 + xboxOnePresentImmediateThreshold: 0 + switchQueueCommandMemory: 0 + switchQueueControlMemory: 16384 + switchQueueComputeMemory: 262144 + switchNVNShaderPoolsGranularity: 33554432 + switchNVNDefaultPoolsGranularity: 16777216 + switchNVNOtherPoolsGranularity: 16777216 + switchNVNMaxPublicTextureIDCount: 0 + switchNVNMaxPublicSamplerIDCount: 0 + stadiaPresentMode: 0 + stadiaTargetFramerate: 0 + vulkanNumSwapchainBuffers: 3 + vulkanEnableSetSRGBWrite: 0 + vulkanEnablePreTransform: 0 + vulkanEnableLateAcquireNextImage: 0 + vulkanEnableCommandBufferRecycling: 1 + m_SupportedAspectRatios: + 4:3: 1 + 5:4: 1 + 16:10: 1 + 16:9: 1 + Others: 1 + bundleVersion: 0.1 + preloadedAssets: [] + metroInputSource: 0 + wsaTransparentSwapchain: 0 + m_HolographicPauseOnTrackingLoss: 1 + xboxOneDisableKinectGpuReservation: 1 + xboxOneEnable7thCore: 1 + vrSettings: + enable360StereoCapture: 0 + isWsaHolographicRemotingEnabled: 0 + enableFrameTimingStats: 0 + useHDRDisplay: 0 + D3DHDRBitDepth: 0 + m_ColorGamuts: 00000000 + targetPixelDensity: 30 + resolutionScalingMode: 0 + androidSupportedAspectRatio: 1 + androidMaxAspectRatio: 2.1 + applicationIdentifier: + Standalone: com.DefaultCompany.Minecraft-Client + buildNumber: + Standalone: 0 + iPhone: 0 + tvOS: 0 + overrideDefaultApplicationIdentifier: 0 + AndroidBundleVersionCode: 1 + AndroidMinSdkVersion: 19 + AndroidTargetSdkVersion: 0 + AndroidPreferredInstallLocation: 1 + aotOptions: + stripEngineCode: 1 + iPhoneStrippingLevel: 0 + iPhoneScriptCallOptimization: 0 + ForceInternetPermission: 0 + ForceSDCardPermission: 0 + CreateWallpaper: 0 + APKExpansionFiles: 0 + keepLoadedShadersAlive: 0 + StripUnusedMeshComponents: 1 + VertexChannelCompressionMask: 4054 + iPhoneSdkVersion: 988 + iOSTargetOSVersionString: 11.0 + tvOSSdkVersion: 0 + tvOSRequireExtendedGameController: 0 + tvOSTargetOSVersionString: 11.0 + uIPrerenderedIcon: 0 + uIRequiresPersistentWiFi: 0 + uIRequiresFullScreen: 1 + uIStatusBarHidden: 1 + uIExitOnSuspend: 0 + uIStatusBarStyle: 0 + appleTVSplashScreen: {fileID: 0} + appleTVSplashScreen2x: {fileID: 0} + tvOSSmallIconLayers: [] + tvOSSmallIconLayers2x: [] + tvOSLargeIconLayers: [] + tvOSLargeIconLayers2x: [] + tvOSTopShelfImageLayers: [] + tvOSTopShelfImageLayers2x: [] + tvOSTopShelfImageWideLayers: [] + tvOSTopShelfImageWideLayers2x: [] + iOSLaunchScreenType: 0 + iOSLaunchScreenPortrait: {fileID: 0} + iOSLaunchScreenLandscape: {fileID: 0} + iOSLaunchScreenBackgroundColor: + serializedVersion: 2 + rgba: 0 + iOSLaunchScreenFillPct: 100 + iOSLaunchScreenSize: 100 + iOSLaunchScreenCustomXibPath: + iOSLaunchScreeniPadType: 0 + iOSLaunchScreeniPadImage: {fileID: 0} + iOSLaunchScreeniPadBackgroundColor: + serializedVersion: 2 + rgba: 0 + iOSLaunchScreeniPadFillPct: 100 + iOSLaunchScreeniPadSize: 100 + iOSLaunchScreeniPadCustomXibPath: + iOSLaunchScreenCustomStoryboardPath: + iOSLaunchScreeniPadCustomStoryboardPath: + iOSDeviceRequirements: [] + iOSURLSchemes: [] + iOSBackgroundModes: 0 + iOSMetalForceHardShadows: 0 + metalEditorSupport: 1 + metalAPIValidation: 1 + iOSRenderExtraFrameOnPause: 0 + iosCopyPluginsCodeInsteadOfSymlink: 0 + appleDeveloperTeamID: + iOSManualSigningProvisioningProfileID: + tvOSManualSigningProvisioningProfileID: + iOSManualSigningProvisioningProfileType: 0 + tvOSManualSigningProvisioningProfileType: 0 + appleEnableAutomaticSigning: 0 + iOSRequireARKit: 0 + iOSAutomaticallyDetectAndAddCapabilities: 1 + appleEnableProMotion: 0 + shaderPrecisionModel: 0 + clonedFromGUID: c0afd0d1d80e3634a9dac47e8a0426ea + templatePackageId: com.unity.template.3d@5.0.4 + templateDefaultScene: Assets/Scenes/SampleScene.unity + useCustomMainManifest: 0 + useCustomLauncherManifest: 0 + useCustomMainGradleTemplate: 0 + useCustomLauncherGradleManifest: 0 + useCustomBaseGradleTemplate: 0 + useCustomGradlePropertiesTemplate: 0 + useCustomProguardFile: 0 + AndroidTargetArchitectures: 1 + AndroidTargetDevices: 0 + AndroidSplashScreenScale: 0 + androidSplashScreen: {fileID: 0} + AndroidKeystoreName: + AndroidKeyaliasName: + AndroidBuildApkPerCpuArchitecture: 0 + AndroidTVCompatibility: 0 + AndroidIsGame: 1 + AndroidEnableTango: 0 + androidEnableBanner: 1 + androidUseLowAccuracyLocation: 0 + androidUseCustomKeystore: 0 + m_AndroidBanners: + - width: 320 + height: 180 + banner: {fileID: 0} + androidGamepadSupportLevel: 0 + chromeosInputEmulation: 1 + AndroidMinifyWithR8: 0 + AndroidMinifyRelease: 0 + AndroidMinifyDebug: 0 + AndroidValidateAppBundleSize: 1 + AndroidAppBundleSizeToValidate: 150 + m_BuildTargetIcons: + - m_BuildTarget: + m_Icons: + - serializedVersion: 2 + m_Icon: {fileID: 2800000, guid: 2700f8acb15b7d341942174f9c67b2ed, type: 3} + m_Width: 128 + m_Height: 128 + m_Kind: 0 + m_BuildTargetPlatformIcons: [] + m_BuildTargetBatching: + - m_BuildTarget: Standalone + m_StaticBatching: 1 + m_DynamicBatching: 0 + - m_BuildTarget: tvOS + m_StaticBatching: 1 + m_DynamicBatching: 0 + - m_BuildTarget: Android + m_StaticBatching: 1 + m_DynamicBatching: 0 + - m_BuildTarget: iPhone + m_StaticBatching: 1 + m_DynamicBatching: 0 + - m_BuildTarget: WebGL + m_StaticBatching: 0 + m_DynamicBatching: 0 + m_BuildTargetGraphicsJobs: + - m_BuildTarget: MacStandaloneSupport + m_GraphicsJobs: 0 + - m_BuildTarget: Switch + m_GraphicsJobs: 1 + - m_BuildTarget: MetroSupport + m_GraphicsJobs: 1 + - m_BuildTarget: AppleTVSupport + m_GraphicsJobs: 0 + - m_BuildTarget: BJMSupport + m_GraphicsJobs: 1 + - m_BuildTarget: LinuxStandaloneSupport + m_GraphicsJobs: 1 + - m_BuildTarget: PS4Player + m_GraphicsJobs: 1 + - m_BuildTarget: iOSSupport + m_GraphicsJobs: 0 + - m_BuildTarget: WindowsStandaloneSupport + m_GraphicsJobs: 1 + - m_BuildTarget: XboxOnePlayer + m_GraphicsJobs: 1 + - m_BuildTarget: LuminSupport + m_GraphicsJobs: 0 + - m_BuildTarget: AndroidPlayer + m_GraphicsJobs: 0 + - m_BuildTarget: WebGLSupport + m_GraphicsJobs: 0 + m_BuildTargetGraphicsJobMode: + - m_BuildTarget: PS4Player + m_GraphicsJobMode: 0 + - m_BuildTarget: XboxOnePlayer + m_GraphicsJobMode: 0 + m_BuildTargetGraphicsAPIs: + - m_BuildTarget: AndroidPlayer + m_APIs: 150000000b000000 + m_Automatic: 0 + - m_BuildTarget: iOSSupport + m_APIs: 10000000 + m_Automatic: 1 + - m_BuildTarget: AppleTVSupport + m_APIs: 10000000 + m_Automatic: 1 + - m_BuildTarget: WebGLSupport + m_APIs: 0b000000 + m_Automatic: 1 + m_BuildTargetVRSettings: + - m_BuildTarget: Standalone + m_Enabled: 0 + m_Devices: + - Oculus + - OpenVR + openGLRequireES31: 0 + openGLRequireES31AEP: 0 + openGLRequireES32: 0 + m_TemplateCustomTags: {} + mobileMTRendering: + Android: 1 + iPhone: 1 + tvOS: 1 + m_BuildTargetGroupLightmapEncodingQuality: [] + m_BuildTargetGroupLightmapSettings: [] + m_BuildTargetNormalMapEncoding: [] + playModeTestRunnerEnabled: 0 + runPlayModeTestAsEditModeTest: 0 + actionOnDotNetUnhandledException: 1 + enableInternalProfiler: 0 + logObjCUncaughtExceptions: 1 + enableCrashReportAPI: 0 + cameraUsageDescription: + locationUsageDescription: + microphoneUsageDescription: + bluetoothUsageDescription: + switchNMETAOverride: + switchNetLibKey: + switchSocketMemoryPoolSize: 6144 + switchSocketAllocatorPoolSize: 128 + switchSocketConcurrencyLimit: 14 + switchScreenResolutionBehavior: 2 + switchUseCPUProfiler: 0 + switchUseGOLDLinker: 0 + switchApplicationID: 0x01004b9000490000 + switchNSODependencies: + switchTitleNames_0: + switchTitleNames_1: + switchTitleNames_2: + switchTitleNames_3: + switchTitleNames_4: + switchTitleNames_5: + switchTitleNames_6: + switchTitleNames_7: + switchTitleNames_8: + switchTitleNames_9: + switchTitleNames_10: + switchTitleNames_11: + switchTitleNames_12: + switchTitleNames_13: + switchTitleNames_14: + switchTitleNames_15: + switchPublisherNames_0: + switchPublisherNames_1: + switchPublisherNames_2: + switchPublisherNames_3: + switchPublisherNames_4: + switchPublisherNames_5: + switchPublisherNames_6: + switchPublisherNames_7: + switchPublisherNames_8: + switchPublisherNames_9: + switchPublisherNames_10: + switchPublisherNames_11: + switchPublisherNames_12: + switchPublisherNames_13: + switchPublisherNames_14: + switchPublisherNames_15: + switchIcons_0: {fileID: 0} + switchIcons_1: {fileID: 0} + switchIcons_2: {fileID: 0} + switchIcons_3: {fileID: 0} + switchIcons_4: {fileID: 0} + switchIcons_5: {fileID: 0} + switchIcons_6: {fileID: 0} + switchIcons_7: {fileID: 0} + switchIcons_8: {fileID: 0} + switchIcons_9: {fileID: 0} + switchIcons_10: {fileID: 0} + switchIcons_11: {fileID: 0} + switchIcons_12: {fileID: 0} + switchIcons_13: {fileID: 0} + switchIcons_14: {fileID: 0} + switchIcons_15: {fileID: 0} + switchSmallIcons_0: {fileID: 0} + switchSmallIcons_1: {fileID: 0} + switchSmallIcons_2: {fileID: 0} + switchSmallIcons_3: {fileID: 0} + switchSmallIcons_4: {fileID: 0} + switchSmallIcons_5: {fileID: 0} + switchSmallIcons_6: {fileID: 0} + switchSmallIcons_7: {fileID: 0} + switchSmallIcons_8: {fileID: 0} + switchSmallIcons_9: {fileID: 0} + switchSmallIcons_10: {fileID: 0} + switchSmallIcons_11: {fileID: 0} + switchSmallIcons_12: {fileID: 0} + switchSmallIcons_13: {fileID: 0} + switchSmallIcons_14: {fileID: 0} + switchSmallIcons_15: {fileID: 0} + switchManualHTML: + switchAccessibleURLs: + switchLegalInformation: + switchMainThreadStackSize: 1048576 + switchPresenceGroupId: + switchLogoHandling: 0 + switchReleaseVersion: 0 + switchDisplayVersion: 1.0.0 + switchStartupUserAccount: 0 + switchTouchScreenUsage: 0 + switchSupportedLanguagesMask: 0 + switchLogoType: 0 + switchApplicationErrorCodeCategory: + switchUserAccountSaveDataSize: 0 + switchUserAccountSaveDataJournalSize: 0 + switchApplicationAttribute: 0 + switchCardSpecSize: -1 + switchCardSpecClock: -1 + switchRatingsMask: 0 + switchRatingsInt_0: 0 + switchRatingsInt_1: 0 + switchRatingsInt_2: 0 + switchRatingsInt_3: 0 + switchRatingsInt_4: 0 + switchRatingsInt_5: 0 + switchRatingsInt_6: 0 + switchRatingsInt_7: 0 + switchRatingsInt_8: 0 + switchRatingsInt_9: 0 + switchRatingsInt_10: 0 + switchRatingsInt_11: 0 + switchRatingsInt_12: 0 + switchLocalCommunicationIds_0: + switchLocalCommunicationIds_1: + switchLocalCommunicationIds_2: + switchLocalCommunicationIds_3: + switchLocalCommunicationIds_4: + switchLocalCommunicationIds_5: + switchLocalCommunicationIds_6: + switchLocalCommunicationIds_7: + switchParentalControl: 0 + switchAllowsScreenshot: 1 + switchAllowsVideoCapturing: 1 + switchAllowsRuntimeAddOnContentInstall: 0 + switchDataLossConfirmation: 0 + switchUserAccountLockEnabled: 0 + switchSystemResourceMemory: 16777216 + switchSupportedNpadStyles: 22 + switchNativeFsCacheSize: 32 + switchIsHoldTypeHorizontal: 0 + switchSupportedNpadCount: 8 + switchSocketConfigEnabled: 0 + switchTcpInitialSendBufferSize: 32 + switchTcpInitialReceiveBufferSize: 64 + switchTcpAutoSendBufferSizeMax: 256 + switchTcpAutoReceiveBufferSizeMax: 256 + switchUdpSendBufferSize: 9 + switchUdpReceiveBufferSize: 42 + switchSocketBufferEfficiency: 4 + switchSocketInitializeEnabled: 1 + switchNetworkInterfaceManagerInitializeEnabled: 1 + switchPlayerConnectionEnabled: 1 + switchUseNewStyleFilepaths: 0 + switchUseMicroSleepForYield: 1 + switchEnableRamDiskSupport: 0 + switchMicroSleepForYieldTime: 25 + switchRamDiskSpaceSize: 12 + ps4NPAgeRating: 12 + ps4NPTitleSecret: + ps4NPTrophyPackPath: + ps4ParentalLevel: 11 + ps4ContentID: ED1633-NPXX51362_00-0000000000000000 + ps4Category: 0 + ps4MasterVersion: 01.00 + ps4AppVersion: 01.00 + ps4AppType: 0 + ps4ParamSfxPath: + ps4VideoOutPixelFormat: 0 + ps4VideoOutInitialWidth: 1920 + ps4VideoOutBaseModeInitialWidth: 1920 + ps4VideoOutReprojectionRate: 60 + ps4PronunciationXMLPath: + ps4PronunciationSIGPath: + ps4BackgroundImagePath: + ps4StartupImagePath: + ps4StartupImagesFolder: + ps4IconImagesFolder: + ps4SaveDataImagePath: + ps4SdkOverride: + ps4BGMPath: + ps4ShareFilePath: + ps4ShareOverlayImagePath: + ps4PrivacyGuardImagePath: + ps4ExtraSceSysFile: + ps4NPtitleDatPath: + ps4RemotePlayKeyAssignment: -1 + ps4RemotePlayKeyMappingDir: + ps4PlayTogetherPlayerCount: 0 + ps4EnterButtonAssignment: 1 + ps4ApplicationParam1: 0 + ps4ApplicationParam2: 0 + ps4ApplicationParam3: 0 + ps4ApplicationParam4: 0 + ps4DownloadDataSize: 0 + ps4GarlicHeapSize: 2048 + ps4ProGarlicHeapSize: 2560 + playerPrefsMaxSize: 32768 + ps4Passcode: frAQBc8Wsa1xVPfvJcrgRYwTiizs2trQ + ps4pnSessions: 1 + ps4pnPresence: 1 + ps4pnFriends: 1 + ps4pnGameCustomData: 1 + playerPrefsSupport: 0 + enableApplicationExit: 0 + resetTempFolder: 1 + restrictedAudioUsageRights: 0 + ps4UseResolutionFallback: 0 + ps4ReprojectionSupport: 0 + ps4UseAudio3dBackend: 0 + ps4UseLowGarlicFragmentationMode: 1 + ps4SocialScreenEnabled: 0 + ps4ScriptOptimizationLevel: 0 + ps4Audio3dVirtualSpeakerCount: 14 + ps4attribCpuUsage: 0 + ps4PatchPkgPath: + ps4PatchLatestPkgPath: + ps4PatchChangeinfoPath: + ps4PatchDayOne: 0 + ps4attribUserManagement: 0 + ps4attribMoveSupport: 0 + ps4attrib3DSupport: 0 + ps4attribShareSupport: 0 + ps4attribExclusiveVR: 0 + ps4disableAutoHideSplash: 0 + ps4videoRecordingFeaturesUsed: 0 + ps4contentSearchFeaturesUsed: 0 + ps4CompatibilityPS5: 0 + ps4AllowPS5Detection: 0 + ps4GPU800MHz: 1 + ps4attribEyeToEyeDistanceSettingVR: 0 + ps4IncludedModules: [] + ps4attribVROutputEnabled: 0 + monoEnv: + splashScreenBackgroundSourceLandscape: {fileID: 0} + splashScreenBackgroundSourcePortrait: {fileID: 0} + blurSplashScreenBackground: 1 + spritePackerPolicy: + webGLMemorySize: 16 + webGLExceptionSupport: 1 + webGLNameFilesAsHashes: 0 + webGLDataCaching: 1 + webGLDebugSymbols: 0 + webGLEmscriptenArgs: + webGLModulesDirectory: + webGLTemplate: APPLICATION:Default + webGLAnalyzeBuildSize: 0 + webGLUseEmbeddedResources: 0 + webGLCompressionFormat: 1 + webGLWasmArithmeticExceptions: 0 + webGLLinkerTarget: 1 + webGLThreadsSupport: 0 + webGLDecompressionFallback: 0 + scriptingDefineSymbols: {} + additionalCompilerArguments: {} + platformArchitecture: {} + scriptingBackend: + Standalone: 1 + il2cppCompilerConfiguration: {} + managedStrippingLevel: {} + incrementalIl2cppBuild: {} + suppressCommonWarnings: 1 + allowUnsafeCode: 0 + useDeterministicCompilation: 1 + useReferenceAssemblies: 1 + enableRoslynAnalyzers: 1 + additionalIl2CppArgs: + scriptingRuntimeVersion: 1 + gcIncremental: 1 + assemblyVersionValidation: 1 + gcWBarrierValidation: 0 + apiCompatibilityLevelPerPlatform: + Standalone: 3 + m_RenderingPath: 1 + m_MobileRenderingPath: 1 + metroPackageName: Template_3D + metroPackageVersion: + metroCertificatePath: + metroCertificatePassword: + metroCertificateSubject: + metroCertificateIssuer: + metroCertificateNotAfter: 0000000000000000 + metroApplicationDescription: Template_3D + wsaImages: {} + metroTileShortName: + metroTileShowName: 0 + metroMediumTileShowName: 0 + metroLargeTileShowName: 0 + metroWideTileShowName: 0 + metroSupportStreamingInstall: 0 + metroLastRequiredScene: 0 + metroDefaultTileSize: 1 + metroTileForegroundText: 2 + metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0} + metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628, a: 1} + metroSplashScreenUseBackgroundColor: 0 + platformCapabilities: {} + metroTargetDeviceFamilies: {} + metroFTAName: + metroFTAFileTypes: [] + metroProtocolName: + vcxProjDefaultLanguage: + XboxOneProductId: + XboxOneUpdateKey: + XboxOneSandboxId: + XboxOneContentId: + XboxOneTitleId: + XboxOneSCId: + XboxOneGameOsOverridePath: + XboxOnePackagingOverridePath: + XboxOneAppManifestOverridePath: + XboxOneVersion: 1.0.0.0 + XboxOnePackageEncryption: 0 + XboxOnePackageUpdateGranularity: 2 + XboxOneDescription: + XboxOneLanguage: + - enus + XboxOneCapability: [] + XboxOneGameRating: {} + XboxOneIsContentPackage: 0 + XboxOneEnhancedXboxCompatibilityMode: 0 + XboxOneEnableGPUVariability: 1 + XboxOneSockets: {} + XboxOneSplashScreen: {fileID: 0} + XboxOneAllowedProductIds: [] + XboxOnePersistentLocalStorageSize: 0 + XboxOneXTitleMemory: 8 + XboxOneOverrideIdentityName: + XboxOneOverrideIdentityPublisher: + vrEditorSettings: {} + cloudServicesEnabled: + UNet: 1 + luminIcon: + m_Name: + m_ModelFolderPath: + m_PortalFolderPath: + luminCert: + m_CertPath: + m_SignPackage: 1 + luminIsChannelApp: 0 + luminVersion: + m_VersionCode: 1 + m_VersionName: + apiCompatibilityLevel: 6 + activeInputHandler: 0 + cloudProjectId: + framebufferDepthMemorylessMode: 0 + qualitySettingsNames: [] + projectName: + organizationId: + cloudEnabled: 0 + legacyClampBlendShapeWeights: 0 + virtualTexturingSupportEnabled: 0 diff --git a/Minecraft Client/ProjectSettings/ProjectVersion.txt b/Minecraft Client/ProjectSettings/ProjectVersion.txt new file mode 100644 index 0000000..72f71f9 --- /dev/null +++ b/Minecraft Client/ProjectSettings/ProjectVersion.txt @@ -0,0 +1,2 @@ +m_EditorVersion: 2020.3.34f1 +m_EditorVersionWithRevision: 2020.3.34f1 (9a4c9c70452b) diff --git a/Minecraft Client/ProjectSettings/QualitySettings.asset b/Minecraft Client/ProjectSettings/QualitySettings.asset new file mode 100644 index 0000000..b38e404 --- /dev/null +++ b/Minecraft Client/ProjectSettings/QualitySettings.asset @@ -0,0 +1,238 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!47 &1 +QualitySettings: + m_ObjectHideFlags: 0 + serializedVersion: 5 + m_CurrentQuality: 5 + m_QualitySettings: + - serializedVersion: 2 + name: Very Low + pixelLightCount: 0 + shadows: 0 + shadowResolution: 0 + shadowProjection: 1 + shadowCascades: 1 + shadowDistance: 15 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 0 + skinWeights: 1 + textureQuality: 1 + anisotropicTextures: 0 + antiAliasing: 0 + softParticles: 0 + softVegetation: 0 + realtimeReflectionProbes: 0 + billboardsFaceCameraPosition: 0 + vSyncCount: 0 + lodBias: 0.3 + maximumLODLevel: 0 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 4 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 + resolutionScalingFixedDPIFactor: 1 + customRenderPipeline: {fileID: 0} + excludedTargetPlatforms: [] + - serializedVersion: 2 + name: Low + pixelLightCount: 0 + shadows: 0 + shadowResolution: 0 + shadowProjection: 1 + shadowCascades: 1 + shadowDistance: 20 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 0 + skinWeights: 2 + textureQuality: 0 + anisotropicTextures: 0 + antiAliasing: 0 + softParticles: 0 + softVegetation: 0 + realtimeReflectionProbes: 0 + billboardsFaceCameraPosition: 0 + vSyncCount: 0 + lodBias: 0.4 + maximumLODLevel: 0 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 16 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 + resolutionScalingFixedDPIFactor: 1 + customRenderPipeline: {fileID: 0} + excludedTargetPlatforms: [] + - serializedVersion: 2 + name: Medium + pixelLightCount: 1 + shadows: 1 + shadowResolution: 0 + shadowProjection: 1 + shadowCascades: 1 + shadowDistance: 20 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 0 + skinWeights: 2 + textureQuality: 0 + anisotropicTextures: 1 + antiAliasing: 0 + softParticles: 0 + softVegetation: 0 + realtimeReflectionProbes: 0 + billboardsFaceCameraPosition: 0 + vSyncCount: 1 + lodBias: 0.7 + maximumLODLevel: 0 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 64 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 + resolutionScalingFixedDPIFactor: 1 + customRenderPipeline: {fileID: 0} + excludedTargetPlatforms: [] + - serializedVersion: 2 + name: High + pixelLightCount: 2 + shadows: 2 + shadowResolution: 1 + shadowProjection: 1 + shadowCascades: 2 + shadowDistance: 40 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 1 + skinWeights: 2 + textureQuality: 0 + anisotropicTextures: 1 + antiAliasing: 0 + softParticles: 0 + softVegetation: 1 + realtimeReflectionProbes: 1 + billboardsFaceCameraPosition: 1 + vSyncCount: 1 + lodBias: 1 + maximumLODLevel: 0 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 256 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 + resolutionScalingFixedDPIFactor: 1 + customRenderPipeline: {fileID: 0} + excludedTargetPlatforms: [] + - serializedVersion: 2 + name: Very High + pixelLightCount: 3 + shadows: 2 + shadowResolution: 2 + shadowProjection: 1 + shadowCascades: 2 + shadowDistance: 70 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 1 + skinWeights: 4 + textureQuality: 0 + anisotropicTextures: 2 + antiAliasing: 2 + softParticles: 1 + softVegetation: 1 + realtimeReflectionProbes: 1 + billboardsFaceCameraPosition: 1 + vSyncCount: 1 + lodBias: 1.5 + maximumLODLevel: 0 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 1024 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 + resolutionScalingFixedDPIFactor: 1 + customRenderPipeline: {fileID: 0} + excludedTargetPlatforms: [] + - serializedVersion: 2 + name: Ultra + pixelLightCount: 4 + shadows: 2 + shadowResolution: 2 + shadowProjection: 1 + shadowCascades: 4 + shadowDistance: 150 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 1 + skinWeights: 4 + textureQuality: 0 + anisotropicTextures: 2 + antiAliasing: 0 + softParticles: 1 + softVegetation: 1 + realtimeReflectionProbes: 1 + billboardsFaceCameraPosition: 1 + vSyncCount: 1 + lodBias: 2 + maximumLODLevel: 0 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 4096 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 + resolutionScalingFixedDPIFactor: 1 + customRenderPipeline: {fileID: 0} + excludedTargetPlatforms: [] + m_PerPlatformDefaultQuality: + Android: 2 + Lumin: 5 + Nintendo 3DS: 5 + Nintendo Switch: 5 + PS4: 5 + PSP2: 2 + Stadia: 5 + Standalone: 5 + WebGL: 3 + Windows Store Apps: 5 + XboxOne: 5 + iPhone: 2 + tvOS: 2 diff --git a/Minecraft Client/ProjectSettings/TagManager.asset b/Minecraft Client/ProjectSettings/TagManager.asset new file mode 100644 index 0000000..1c92a78 --- /dev/null +++ b/Minecraft Client/ProjectSettings/TagManager.asset @@ -0,0 +1,43 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!78 &1 +TagManager: + serializedVersion: 2 + tags: [] + layers: + - Default + - TransparentFX + - Ignore Raycast + - + - Water + - UI + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + m_SortingLayers: + - name: Default + uniqueID: 0 + locked: 0 diff --git a/Minecraft Client/ProjectSettings/TimeManager.asset b/Minecraft Client/ProjectSettings/TimeManager.asset new file mode 100644 index 0000000..558a017 --- /dev/null +++ b/Minecraft Client/ProjectSettings/TimeManager.asset @@ -0,0 +1,9 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!5 &1 +TimeManager: + m_ObjectHideFlags: 0 + Fixed Timestep: 0.02 + Maximum Allowed Timestep: 0.33333334 + m_TimeScale: 1 + Maximum Particle Timestep: 0.03 diff --git a/Minecraft Client/ProjectSettings/UnityConnectSettings.asset b/Minecraft Client/ProjectSettings/UnityConnectSettings.asset new file mode 100644 index 0000000..6125b30 --- /dev/null +++ b/Minecraft Client/ProjectSettings/UnityConnectSettings.asset @@ -0,0 +1,35 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!310 &1 +UnityConnectSettings: + m_ObjectHideFlags: 0 + serializedVersion: 1 + m_Enabled: 0 + m_TestMode: 0 + m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events + m_EventUrl: https://cdp.cloud.unity3d.com/v1/events + m_ConfigUrl: https://config.uca.cloud.unity3d.com + m_DashboardUrl: https://dashboard.unity3d.com + m_TestInitMode: 0 + CrashReportingSettings: + m_EventUrl: https://perf-events.cloud.unity3d.com + m_Enabled: 0 + m_LogBufferSize: 10 + m_CaptureEditorExceptions: 1 + UnityPurchasingSettings: + m_Enabled: 0 + m_TestMode: 0 + UnityAnalyticsSettings: + m_Enabled: 0 + m_TestMode: 0 + m_InitializeOnStartup: 1 + UnityAdsSettings: + m_Enabled: 0 + m_InitializeOnStartup: 1 + m_TestMode: 0 + m_IosGameId: + m_AndroidGameId: + m_GameIds: {} + m_GameId: + PerformanceReportingSettings: + m_Enabled: 0 diff --git a/Minecraft Client/ProjectSettings/VFXManager.asset b/Minecraft Client/ProjectSettings/VFXManager.asset new file mode 100644 index 0000000..3a95c98 --- /dev/null +++ b/Minecraft Client/ProjectSettings/VFXManager.asset @@ -0,0 +1,12 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!937362698 &1 +VFXManager: + m_ObjectHideFlags: 0 + m_IndirectShader: {fileID: 0} + m_CopyBufferShader: {fileID: 0} + m_SortShader: {fileID: 0} + m_StripUpdateShader: {fileID: 0} + m_RenderPipeSettingsPath: + m_FixedTimeStep: 0.016666668 + m_MaxDeltaTime: 0.05 diff --git a/Minecraft Client/ProjectSettings/VersionControlSettings.asset b/Minecraft Client/ProjectSettings/VersionControlSettings.asset new file mode 100644 index 0000000..dca2881 --- /dev/null +++ b/Minecraft Client/ProjectSettings/VersionControlSettings.asset @@ -0,0 +1,8 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!890905787 &1 +VersionControlSettings: + m_ObjectHideFlags: 0 + m_Mode: Visible Meta Files + m_CollabEditorSettings: + inProgressEnabled: 1 diff --git a/Minecraft Client/ProjectSettings/XRSettings.asset b/Minecraft Client/ProjectSettings/XRSettings.asset new file mode 100644 index 0000000..482590c --- /dev/null +++ b/Minecraft Client/ProjectSettings/XRSettings.asset @@ -0,0 +1,10 @@ +{ + "m_SettingKeys": [ + "VR Device Disabled", + "VR Device User Alert" + ], + "m_SettingValues": [ + "False", + "False" + ] +} \ No newline at end of file diff --git a/Minecraft Server/.gitignore b/Minecraft Server/.gitignore new file mode 100644 index 0000000..90758be --- /dev/null +++ b/Minecraft Server/.gitignore @@ -0,0 +1,63 @@ +# Modified from: +# https://github.com/github/gitignore/blob/master/Unity.gitignore + +/[Ll]ibrary/ +/[Uu]serSettings/ +[Tt]emp/ +[Oo]bj/ +/[Bb]uild/ +/[Bb]uilds/ +/[Ll]ogs/ +/[Mm]emoryCaptures/ + +# Uncomment this line if you wish to ignore the asset store tools plugin +# [Aa]ssets/AssetStoreTools* + +# Visual Studio cache directory +.vs/ + +# Gradle cache directory +.gradle/ + +# Autogenerated VS/MD/Consulo solution and project files +ExportedObj/ +.consulo/ +*.csproj +*.unityproj +*.sln +*.suo +*.tmp +*.user +*.userprefs +*.pidb +*.booproj +*.svd +*.pdb +*.mdb +*.opendb +*.VC.db + +# Unity3D generated meta files +*.pidb.meta +*.pdb.meta +*.mdb.meta + +# Unity3D generated file on crash reports +sysinfo.txt + +# Builds +*.apk +*.unitypackage + +# Crashlytics generated file +crashlytics-build.properties + +# Windows +Thumbs.db +Thumbs.db.meta + +# MacOS +*.DS_Store + +# VS Code +*.vscode \ No newline at end of file diff --git a/Minecraft Server/.idea/.idea.Minecraft Server/.idea/.gitignore b/Minecraft Server/.idea/.idea.Minecraft Server/.idea/.gitignore new file mode 100644 index 0000000..40ebae9 --- /dev/null +++ b/Minecraft Server/.idea/.idea.Minecraft Server/.idea/.gitignore @@ -0,0 +1,13 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Rider ignored files +/projectSettingsUpdater.xml +/.idea.Minecraft Server.iml +/contentModel.xml +/modules.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/Minecraft Server/.idea/.idea.Minecraft Server/.idea/encodings.xml b/Minecraft Server/.idea/.idea.Minecraft Server/.idea/encodings.xml new file mode 100644 index 0000000..df87cf9 --- /dev/null +++ b/Minecraft Server/.idea/.idea.Minecraft Server/.idea/encodings.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/Minecraft Server/.idea/.idea.Minecraft Server/.idea/indexLayout.xml b/Minecraft Server/.idea/.idea.Minecraft Server/.idea/indexLayout.xml new file mode 100644 index 0000000..7b08163 --- /dev/null +++ b/Minecraft Server/.idea/.idea.Minecraft Server/.idea/indexLayout.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/Minecraft Server/Assets/.gitignore b/Minecraft Server/Assets/.gitignore new file mode 100644 index 0000000..90758be --- /dev/null +++ b/Minecraft Server/Assets/.gitignore @@ -0,0 +1,63 @@ +# Modified from: +# https://github.com/github/gitignore/blob/master/Unity.gitignore + +/[Ll]ibrary/ +/[Uu]serSettings/ +[Tt]emp/ +[Oo]bj/ +/[Bb]uild/ +/[Bb]uilds/ +/[Ll]ogs/ +/[Mm]emoryCaptures/ + +# Uncomment this line if you wish to ignore the asset store tools plugin +# [Aa]ssets/AssetStoreTools* + +# Visual Studio cache directory +.vs/ + +# Gradle cache directory +.gradle/ + +# Autogenerated VS/MD/Consulo solution and project files +ExportedObj/ +.consulo/ +*.csproj +*.unityproj +*.sln +*.suo +*.tmp +*.user +*.userprefs +*.pidb +*.booproj +*.svd +*.pdb +*.mdb +*.opendb +*.VC.db + +# Unity3D generated meta files +*.pidb.meta +*.pdb.meta +*.mdb.meta + +# Unity3D generated file on crash reports +sysinfo.txt + +# Builds +*.apk +*.unitypackage + +# Crashlytics generated file +crashlytics-build.properties + +# Windows +Thumbs.db +Thumbs.db.meta + +# MacOS +*.DS_Store + +# VS Code +*.vscode \ No newline at end of file diff --git a/Minecraft Server/Assets/Content.meta b/Minecraft Server/Assets/Content.meta new file mode 100644 index 0000000..5a9ca7d --- /dev/null +++ b/Minecraft Server/Assets/Content.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 958ba5cd973c5fd4d99641ffd183759a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Minecraft Server/Assets/Content/png-transparent-computer-terminal-linux-console-computer-icons-command-line-interface-linux-commandline-interface-linux-ssh.png b/Minecraft Server/Assets/Content/png-transparent-computer-terminal-linux-console-computer-icons-command-line-interface-linux-commandline-interface-linux-ssh.png new file mode 100644 index 0000000000000000000000000000000000000000..e7ebe95528ce3df49da2992a7ad827b3482a177f GIT binary patch literal 9427 zcmYj%cT^K!v^9cs5G8aGloC3I-kX971e793PauWREHvrTn}AB2geoO~bOI<%3{@cX z-W4UN6qQf}1Rnn0`_}sYI&=0u`_9>S%AGaq#@{o&&C0~bL`6l#YIsNAoQjGDprWE~ zJx_CnJgs2mI}7ahpq2�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 literal 0 HcmV?d00001 diff --git a/Minecraft Server/Assets/Content/png-transparent-computer-terminal-linux-console-computer-icons-command-line-interface-linux-commandline-interface-linux-ssh.png.meta b/Minecraft Server/Assets/Content/png-transparent-computer-terminal-linux-console-computer-icons-command-line-interface-linux-commandline-interface-linux-ssh.png.meta new file mode 100644 index 0000000..105c416 --- /dev/null +++ b/Minecraft Server/Assets/Content/png-transparent-computer-terminal-linux-console-computer-icons-command-line-interface-linux-commandline-interface-linux-ssh.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: 5a3615b75cf066041a8f172f87970606 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Minecraft Server/Assets/Game.meta b/Minecraft Server/Assets/Game.meta new file mode 100644 index 0000000..7fbc04b --- /dev/null +++ b/Minecraft Server/Assets/Game.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 04e1845e087de6144ad3e4f0879cbfb0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Minecraft Server/Assets/Game/Chunk.cs b/Minecraft Server/Assets/Game/Chunk.cs new file mode 100644 index 0000000..fcdd1d3 --- /dev/null +++ b/Minecraft Server/Assets/Game/Chunk.cs @@ -0,0 +1,55 @@ +using System.Collections; +using System.Collections.Generic; +using System.Data.Common; +using UnityEngine; + +public class Chunk +{ + //basic + private ChunkCoord chunkPosition; + private World world; + + //rendering + public GameObject gameObject; + + //data + public byte[,,] blocks = new byte[Data.chunkWidth, Data.chunkHeight, Data.chunkWidth]; + + public Chunk(ChunkCoord chunkPosition, World world) + { + this.chunkPosition = chunkPosition; + this.world = world; + + Initialize(); + } + + + //initializes the chunks components + private void Initialize() + { + gameObject = new GameObject(chunkPosition.x + ", " + chunkPosition.z); + gameObject.transform.position = + new Vector3(chunkPosition.x * Data.chunkWidth, 0, chunkPosition.z * Data.chunkWidth); + } + + //writes the block data + public void PopulateBlocks() + { + for (int y = 0; y < Data.chunkHeight; y++) + { + for (int x = 0; x < Data.chunkWidth; x++) + { + for (int z = 0; z < Data.chunkWidth; z++) + { + blocks[x, y, z] = world.GetBlockID(new Vector3(x + chunkPosition.x * Data.chunkWidth, + y, z + chunkPosition.z * Data.chunkWidth)); + } + } + } + } + + public void Update(byte x, byte y, byte z, byte blockID) + { + blocks[x, y, z] = blockID; + } +} diff --git a/Minecraft Server/Assets/Game/Chunk.cs.meta b/Minecraft Server/Assets/Game/Chunk.cs.meta new file mode 100644 index 0000000..7f55dff --- /dev/null +++ b/Minecraft Server/Assets/Game/Chunk.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a5d27935c6d501a41a2d972b8ff6cc7c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Minecraft Server/Assets/Game/ChunkCoord.cs b/Minecraft Server/Assets/Game/ChunkCoord.cs new file mode 100644 index 0000000..bf72675 --- /dev/null +++ b/Minecraft Server/Assets/Game/ChunkCoord.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +[Serializable] +public class ChunkCoord +{ + public ChunkCoord(int x, int z) + { + this.x = x; + this.z = z; + } + + public int x; + public int z; +} diff --git a/Minecraft Server/Assets/Game/ChunkCoord.cs.meta b/Minecraft Server/Assets/Game/ChunkCoord.cs.meta new file mode 100644 index 0000000..a453bd3 --- /dev/null +++ b/Minecraft Server/Assets/Game/ChunkCoord.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9b0ff680cf7becd4a905cd0f219efa91 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Minecraft Server/Assets/Game/Data.cs b/Minecraft Server/Assets/Game/Data.cs new file mode 100644 index 0000000..5ffe058 --- /dev/null +++ b/Minecraft Server/Assets/Game/Data.cs @@ -0,0 +1,53 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class Data +{ + public static int chunkWidth = 15, chunkHeight = 250; + public static int textureAtlasSize = 16; + + public static readonly Vector3[] vertices = + { + new Vector3(0, 0, 0), + new Vector3(1, 0, 0), + new Vector3(1, 1, 0), + new Vector3(0, 1, 0), + new Vector3(1, 0, 1), + new Vector3(0, 0, 1), + new Vector3(0, 1, 1), + new Vector3(1, 1, 1) + }; + + public static readonly int[,] triangles = + { + //front + {0, 3, 1, 1, 3, 2}, + //back + {4, 7, 5, 5, 7, 6}, + //top + {3, 6, 2, 2, 6, 7}, + //bottom + {5, 0, 4, 4, 0, 1}, + //left + {5, 6, 0, 0, 6, 3}, + //right + {1, 2, 4, 4, 2, 7}, + }; + + public static readonly Vector3[] faceChecks = + { + //front + new Vector3(0, 0, -1), + //back + new Vector3(0, 0, 1), + //top + new Vector3(0, 1, 0), + //bottom + new Vector3(0, -1, 0), + //left + new Vector3(-1, 0, 0), + //right + new Vector3(1, 0, 0), + }; +} diff --git a/Minecraft Server/Assets/Game/Data.cs.meta b/Minecraft Server/Assets/Game/Data.cs.meta new file mode 100644 index 0000000..f75422c --- /dev/null +++ b/Minecraft Server/Assets/Game/Data.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 643914e5a873de34baea75d649800005 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Minecraft Server/Assets/Game/Server.cs b/Minecraft Server/Assets/Game/Server.cs new file mode 100644 index 0000000..8a411d3 --- /dev/null +++ b/Minecraft Server/Assets/Game/Server.cs @@ -0,0 +1,213 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Net; +using System.Net.Sockets; +using System.Text; +using System.Threading; +using UnityEngine; + +public class Server +{ + //game + private World world; + + //network + private UdpClient client; + private int transferDelay; + private List players = new List(); + private List playerNames = new List(); + private List nextTransfer = new List(); + private Thread receiveThread; + private List transferThreads = new List(); + + public Server(World world, int transferDelay) + { + this.transferDelay = transferDelay; + this.world = world; + + //setup client + client = new UdpClient(8051); + client.DontFragment = false; + + //start listening + receiveThread = new Thread(Receive); //info: + receiveThread.Start(); + //0: init message + } + + //info: + //[0] = 0: init message + //[0] = 1: world transfer [1] = 1: finished + //[0] = 2: world size + //[0] = 3: edit block + //[0] = 4: disconnect player + //[0] = 5: next transfer + + private void Receive() + { + try + { + while (true) + { + IPEndPoint endPoint = new IPEndPoint(IPAddress.Any, 0); + byte[] data = client.Receive(ref endPoint); + + if (data[0] == 5) + { + int id = GetPlayerID(endPoint); + nextTransfer[id] = true; + } + + if (data[0] == 4) + { + IPEndPoint tempEndPoint = null; + int i = 0; + foreach (IPEndPoint e in players) + { + if (e.Address.GetHashCode() == endPoint.Address.GetHashCode()) + { + Send(new byte[] { 4 }, e); + tempEndPoint = e; + break; + } + + i++; + } + + if (tempEndPoint != null) + { + players.Remove(tempEndPoint); + Console.WriteLine(playerNames[i] + " left the game"); + playerNames.RemoveAt(i); + nextTransfer.RemoveAt(i); + } + + } + + if (data[0] == 0) + { + Thread t = new Thread(TransferWorld); + transferThreads.Add(t); + t.Start(endPoint); + } + + if (data[0] == 2) + { + Send(new byte[] { 2, (byte)world.worldSize }, endPoint); + + List asciiName = new List(); + for (int i = 1; i < data.Length; i++) + { + asciiName.Add(data[i]); + } + + string name = Encoding.ASCII.GetString(asciiName.ToArray()); + //add player + players.Add(endPoint); + playerNames.Add(name); + nextTransfer.Add(false); + Console.WriteLine(name + " joined the game"); + } + + if (data[0] == 3) + { + ChunkCoord chunk = new ChunkCoord(data[1], data[2]); + Vector3 positionInChunk = new Vector3(data[3], data[4], data[5]); + byte blockID = data[6]; + + world.EditBlock(chunk, positionInChunk, blockID); + + foreach (IPEndPoint e in players) + { + Send(new byte[] + { + 3, (byte)chunk.x, (byte)chunk.z, + (byte)positionInChunk.x, (byte)positionInChunk.y, (byte)positionInChunk.z, blockID + }, e); + } + } + } + } + catch (Exception e) + { + + } + } + + private int GetPlayerID(IPEndPoint endPoint) + { + int i = 0; + foreach (IPEndPoint e in players) + { + if (e.Address.GetHashCode() == endPoint.Address.GetHashCode()) + { + return i; + } + + i++; + } + + return -1; + } + + private void TransferWorld(object o) + { + IPEndPoint endPoint = (IPEndPoint)o; + int id = GetPlayerID(endPoint); + + Console.WriteLine("begin world transfer for " + playerNames[id]); + for (int xChunk = 0; xChunk < world.worldSize; xChunk++) + { + for (int zChunk = 0; zChunk < world.worldSize; zChunk++) + { + nextTransfer[id] = false; + + byte[] send = new byte[Data.chunkWidth * Data.chunkWidth * Data.chunkHeight + 2]; + send[0] = 1; + send[1] = 0; + int i = 2; + + for (int y = 0; y < Data.chunkHeight; y++) + { + for (int x = 0; x < Data.chunkWidth; x++) + { + for (int z = 0; z < Data.chunkWidth; z++) + { + send[i] = world.chunks[xChunk, zChunk].blocks[x, y, z]; + i++; + } + } + } + Send(send, endPoint); + + while (!nextTransfer[id]) + { + } + + nextTransfer[id] = false; + } + } + + Send(new byte[] { 1, 1 }, endPoint); + Console.WriteLine("world transfer finished for " + playerNames[id]); + } + + private void Send(byte[] data, IPEndPoint endPoint) + { + client.Send(data, data.Length, endPoint); + } + + public void Disconnect() + { + receiveThread.Abort(); + for (int i = 0; i < transferThreads.Count; i++) + { + if (transferThreads[i] != null) + { + transferThreads[i].Abort(); + } + } + client.Close(); + } +} \ No newline at end of file diff --git a/Minecraft Server/Assets/Game/Server.cs.meta b/Minecraft Server/Assets/Game/Server.cs.meta new file mode 100644 index 0000000..4bd8eeb --- /dev/null +++ b/Minecraft Server/Assets/Game/Server.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 40d9d5a5030b4944ea8c79b350ed5a0c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Minecraft Server/Assets/Game/World.cs b/Minecraft Server/Assets/Game/World.cs new file mode 100644 index 0000000..146a375 --- /dev/null +++ b/Minecraft Server/Assets/Game/World.cs @@ -0,0 +1,151 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class World : MonoBehaviour +{ + //basic + [SerializeField] public int worldSize; + + //chunks + public Chunk[,] chunks; + + //network + private Server server; + [SerializeField] private int transferDelay; + + private void Start() + { + CreateChunks(); + server = new Server(this, transferDelay); + } + + //creates an array of chunks + private void CreateChunks() + { + chunks = new Chunk[worldSize, worldSize]; + for (int x = 0; x < worldSize; x++) + { + for (int z = 0; z < worldSize; z++) + { + chunks[x, z] = new Chunk(new ChunkCoord(x, z), this); + chunks[x, z].gameObject.transform.SetParent(gameObject.transform); + } + } + + for (int x = 0; x < worldSize; x++) + { + for (int z = 0; z < worldSize; z++) + { + chunks[x, z].PopulateBlocks(); + } + } + } + + //return the ID of a block + public byte GetBlockID(Vector3 positionInWorld) + { + byte height = GetHeight((int)positionInWorld.x, (int)positionInWorld.z); + + //world pass + if (positionInWorld.x < 0 || positionInWorld.y < 0 || positionInWorld.z < 0 || + positionInWorld.x >= worldSize * Data.chunkWidth || positionInWorld.y > height || + positionInWorld.z >= worldSize * Data.chunkWidth) + { + return 0; + } + + //chunk pass + if ((int)positionInWorld.y == height) + { + return 3; + } + + if ((int)positionInWorld.y == 0) + { + return 1; + } + + if ((int)positionInWorld.y > height - 3) + { + return 2; + } + + if ((int)positionInWorld.y < height) + { + return 4; + } + + return 0; + } + + //returns if a block is on the position + public bool CheckBlock(Vector3 positionInWorld) + { + if (positionInWorld.x < -1 || positionInWorld.z < -1 || + positionInWorld.x > worldSize * Data.chunkWidth || + positionInWorld.z > worldSize * Data.chunkWidth) + { + return false; + } + + + if (positionInWorld.x < 0 || positionInWorld.y < 0 || positionInWorld.z < 0 || + positionInWorld.x >= worldSize * Data.chunkWidth || positionInWorld.y >= Data.chunkHeight || + positionInWorld.z >= worldSize * Data.chunkWidth) + { + return true; + } + + ChunkCoord chunk = new ChunkCoord((int)(positionInWorld.x / Data.chunkWidth), + (int)(positionInWorld.z / Data.chunkWidth)); + + int xInChunk = (int)(positionInWorld.x - chunk.x * Data.chunkWidth); + int yInChunk = (int)positionInWorld.y; + int zInChunk = (int)(positionInWorld.z - chunk.z * Data.chunkWidth); + + if (chunks[chunk.x, chunk.z] != null) + { + if (chunks[chunk.x, chunk.z].blocks[xInChunk, yInChunk, zInChunk] == 0) + { + return false; + } + } + + return true; + } + + private byte GetHeight(int x, int z) + { + float scale = 0.025f; + byte perlinHeight = 10; + byte groundHeight = 10; + + byte height = (byte)(Mathf.PerlinNoise((x) * scale + 0.1f, (z) * scale + 0.1f) * perlinHeight + groundHeight); + return height; + } + + public void EditBlock(ChunkCoord chunk, Vector3 positionInChunk, byte blockID) + { + byte xInChunk = (byte)(positionInChunk.x); + byte yInChunk = (byte)positionInChunk.y; + byte zInChunk = (byte)(positionInChunk.z); + + //edit block in chunk + if(chunks[chunk.x, chunk.z].blocks[xInChunk, yInChunk, zInChunk] != 1) + { + chunks[chunk.x, chunk.z].Update(xInChunk, yInChunk, zInChunk, blockID); + } + } + + private void OnApplicationQuit() + { + server.Disconnect(); + } + + + private void SaveWorld() + { + } +} diff --git a/Minecraft Server/Assets/Game/World.cs.meta b/Minecraft Server/Assets/Game/World.cs.meta new file mode 100644 index 0000000..818c984 --- /dev/null +++ b/Minecraft Server/Assets/Game/World.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5457f26f725053d46bffb9885acfd7d8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Minecraft Server/Assets/Scenes.meta b/Minecraft Server/Assets/Scenes.meta new file mode 100644 index 0000000..af9785a --- /dev/null +++ b/Minecraft Server/Assets/Scenes.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 72762c29ca3bd154aacf38b08963b8d9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Minecraft Server/Assets/Scenes/Server.unity b/Minecraft Server/Assets/Scenes/Server.unity new file mode 100644 index 0000000..ce1753d --- /dev/null +++ b/Minecraft Server/Assets/Scenes/Server.unity @@ -0,0 +1,170 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.37311953, g: 0.38074014, b: 0.3587274, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &1102427346 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1102427347} + - component: {fileID: 1102427348} + m_Layer: 0 + m_Name: World + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1102427347 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102427346} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1102427348 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102427346} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5457f26f725053d46bffb9885acfd7d8, type: 3} + m_Name: + m_EditorClassIdentifier: + worldSize: 20 + transferDelay: 5 diff --git a/Minecraft Server/Assets/Scenes/Server.unity.meta b/Minecraft Server/Assets/Scenes/Server.unity.meta new file mode 100644 index 0000000..952bd1e --- /dev/null +++ b/Minecraft Server/Assets/Scenes/Server.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9fc0d4010bbf28b4594072e72b8655ab +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Minecraft Server/Packages/manifest.json b/Minecraft Server/Packages/manifest.json new file mode 100644 index 0000000..35baba0 --- /dev/null +++ b/Minecraft Server/Packages/manifest.json @@ -0,0 +1,43 @@ +{ + "dependencies": { + "com.unity.collab-proxy": "1.15.16", + "com.unity.ide.rider": "2.0.7", + "com.unity.ide.visualstudio": "2.0.14", + "com.unity.ide.vscode": "1.2.5", + "com.unity.test-framework": "1.1.31", + "com.unity.textmeshpro": "3.0.6", + "com.unity.timeline": "1.4.8", + "com.unity.ugui": "1.0.0", + "com.unity.modules.ai": "1.0.0", + "com.unity.modules.androidjni": "1.0.0", + "com.unity.modules.animation": "1.0.0", + "com.unity.modules.assetbundle": "1.0.0", + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.cloth": "1.0.0", + "com.unity.modules.director": "1.0.0", + "com.unity.modules.imageconversion": "1.0.0", + "com.unity.modules.imgui": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.modules.particlesystem": "1.0.0", + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.physics2d": "1.0.0", + "com.unity.modules.screencapture": "1.0.0", + "com.unity.modules.terrain": "1.0.0", + "com.unity.modules.terrainphysics": "1.0.0", + "com.unity.modules.tilemap": "1.0.0", + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.uielements": "1.0.0", + "com.unity.modules.umbra": "1.0.0", + "com.unity.modules.unityanalytics": "1.0.0", + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.unitywebrequestassetbundle": "1.0.0", + "com.unity.modules.unitywebrequestaudio": "1.0.0", + "com.unity.modules.unitywebrequesttexture": "1.0.0", + "com.unity.modules.unitywebrequestwww": "1.0.0", + "com.unity.modules.vehicles": "1.0.0", + "com.unity.modules.video": "1.0.0", + "com.unity.modules.vr": "1.0.0", + "com.unity.modules.wind": "1.0.0", + "com.unity.modules.xr": "1.0.0" + } +} diff --git a/Minecraft Server/Packages/packages-lock.json b/Minecraft Server/Packages/packages-lock.json new file mode 100644 index 0000000..738e30a --- /dev/null +++ b/Minecraft Server/Packages/packages-lock.json @@ -0,0 +1,349 @@ +{ + "dependencies": { + "com.unity.collab-proxy": { + "version": "1.15.16", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.services.core": "1.0.1" + }, + "url": "https://packages.unity.com" + }, + "com.unity.ext.nunit": { + "version": "1.0.6", + "depth": 1, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, + "com.unity.ide.rider": { + "version": "2.0.7", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.test-framework": "1.1.1" + }, + "url": "https://packages.unity.com" + }, + "com.unity.ide.visualstudio": { + "version": "2.0.14", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.test-framework": "1.1.9" + }, + "url": "https://packages.unity.com" + }, + "com.unity.ide.vscode": { + "version": "1.2.5", + "depth": 0, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, + "com.unity.services.core": { + "version": "1.0.1", + "depth": 1, + "source": "registry", + "dependencies": { + "com.unity.modules.unitywebrequest": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.test-framework": { + "version": "1.1.31", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.ext.nunit": "1.0.6", + "com.unity.modules.imgui": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.textmeshpro": { + "version": "3.0.6", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.ugui": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.timeline": { + "version": "1.4.8", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.modules.director": "1.0.0", + "com.unity.modules.animation": "1.0.0", + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.particlesystem": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.ugui": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.imgui": "1.0.0" + } + }, + "com.unity.modules.ai": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.androidjni": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.animation": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.assetbundle": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.audio": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.cloth": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics": "1.0.0" + } + }, + "com.unity.modules.director": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.animation": "1.0.0" + } + }, + "com.unity.modules.imageconversion": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.imgui": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.jsonserialize": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.particlesystem": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.physics": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.physics2d": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.screencapture": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.imageconversion": "1.0.0" + } + }, + "com.unity.modules.subsystems": { + "version": "1.0.0", + "depth": 1, + "source": "builtin", + "dependencies": { + "com.unity.modules.jsonserialize": "1.0.0" + } + }, + "com.unity.modules.terrain": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.terrainphysics": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.terrain": "1.0.0" + } + }, + "com.unity.modules.tilemap": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics2d": "1.0.0" + } + }, + "com.unity.modules.ui": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.uielements": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.imgui": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.modules.uielementsnative": "1.0.0" + } + }, + "com.unity.modules.uielementsnative": { + "version": "1.0.0", + "depth": 1, + "source": "builtin", + "dependencies": { + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.imgui": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0" + } + }, + "com.unity.modules.umbra": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.unityanalytics": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0" + } + }, + "com.unity.modules.unitywebrequest": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.unitywebrequestassetbundle": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.assetbundle": "1.0.0", + "com.unity.modules.unitywebrequest": "1.0.0" + } + }, + "com.unity.modules.unitywebrequestaudio": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.audio": "1.0.0" + } + }, + "com.unity.modules.unitywebrequesttexture": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.imageconversion": "1.0.0" + } + }, + "com.unity.modules.unitywebrequestwww": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.unitywebrequestassetbundle": "1.0.0", + "com.unity.modules.unitywebrequestaudio": "1.0.0", + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.assetbundle": "1.0.0", + "com.unity.modules.imageconversion": "1.0.0" + } + }, + "com.unity.modules.vehicles": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics": "1.0.0" + } + }, + "com.unity.modules.video": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.unitywebrequest": "1.0.0" + } + }, + "com.unity.modules.vr": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.xr": "1.0.0" + } + }, + "com.unity.modules.wind": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.xr": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.modules.subsystems": "1.0.0" + } + } + } +} diff --git a/Minecraft Server/ProjectSettings/AudioManager.asset b/Minecraft Server/ProjectSettings/AudioManager.asset new file mode 100644 index 0000000..07ebfb0 --- /dev/null +++ b/Minecraft Server/ProjectSettings/AudioManager.asset @@ -0,0 +1,19 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!11 &1 +AudioManager: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Volume: 1 + Rolloff Scale: 1 + Doppler Factor: 1 + Default Speaker Mode: 2 + m_SampleRate: 0 + m_DSPBufferSize: 1024 + m_VirtualVoiceCount: 512 + m_RealVoiceCount: 32 + m_SpatializerPlugin: + m_AmbisonicDecoderPlugin: + m_DisableAudio: 0 + m_VirtualizeEffects: 1 + m_RequestedDSPBufferSize: 1024 diff --git a/Minecraft Server/ProjectSettings/ClusterInputManager.asset b/Minecraft Server/ProjectSettings/ClusterInputManager.asset new file mode 100644 index 0000000..e7886b2 --- /dev/null +++ b/Minecraft Server/ProjectSettings/ClusterInputManager.asset @@ -0,0 +1,6 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!236 &1 +ClusterInputManager: + m_ObjectHideFlags: 0 + m_Inputs: [] diff --git a/Minecraft Server/ProjectSettings/DynamicsManager.asset b/Minecraft Server/ProjectSettings/DynamicsManager.asset new file mode 100644 index 0000000..cdc1f3e --- /dev/null +++ b/Minecraft Server/ProjectSettings/DynamicsManager.asset @@ -0,0 +1,34 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!55 &1 +PhysicsManager: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_Gravity: {x: 0, y: -9.81, z: 0} + m_DefaultMaterial: {fileID: 0} + m_BounceThreshold: 2 + m_SleepThreshold: 0.005 + m_DefaultContactOffset: 0.01 + m_DefaultSolverIterations: 6 + m_DefaultSolverVelocityIterations: 1 + m_QueriesHitBackfaces: 0 + m_QueriesHitTriggers: 1 + m_EnableAdaptiveForce: 0 + m_ClothInterCollisionDistance: 0 + m_ClothInterCollisionStiffness: 0 + m_ContactsGeneration: 1 + m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + m_AutoSimulation: 1 + m_AutoSyncTransforms: 0 + m_ReuseCollisionCallbacks: 1 + m_ClothInterCollisionSettingsToggle: 0 + m_ContactPairsMode: 0 + m_BroadphaseType: 0 + m_WorldBounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 250, y: 250, z: 250} + m_WorldSubdivisions: 8 + m_FrictionType: 0 + m_EnableEnhancedDeterminism: 0 + m_EnableUnifiedHeightmaps: 1 + m_DefaultMaxAngluarSpeed: 7 diff --git a/Minecraft Server/ProjectSettings/EditorBuildSettings.asset b/Minecraft Server/ProjectSettings/EditorBuildSettings.asset new file mode 100644 index 0000000..bc00e01 --- /dev/null +++ b/Minecraft Server/ProjectSettings/EditorBuildSettings.asset @@ -0,0 +1,11 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1045 &1 +EditorBuildSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Scenes: + - enabled: 1 + path: Assets/Scenes/Server.unity + guid: 9fc0d4010bbf28b4594072e72b8655ab + m_configObjects: {} diff --git a/Minecraft Server/ProjectSettings/EditorSettings.asset b/Minecraft Server/ProjectSettings/EditorSettings.asset new file mode 100644 index 0000000..de5d0b2 --- /dev/null +++ b/Minecraft Server/ProjectSettings/EditorSettings.asset @@ -0,0 +1,30 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!159 &1 +EditorSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_ExternalVersionControlSupport: Visible Meta Files + m_SerializationMode: 2 + m_LineEndingsForNewScripts: 0 + m_DefaultBehaviorMode: 0 + m_PrefabRegularEnvironment: {fileID: 0} + m_PrefabUIEnvironment: {fileID: 0} + m_SpritePackerMode: 0 + m_SpritePackerPaddingPower: 1 + m_EtcTextureCompressorBehavior: 1 + m_EtcTextureFastCompressor: 1 + m_EtcTextureNormalCompressor: 2 + m_EtcTextureBestCompressor: 4 + m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;rsp;asmref + m_ProjectGenerationRootNamespace: + m_CollabEditorSettings: + inProgressEnabled: 1 + m_EnableTextureStreamingInEditMode: 1 + m_EnableTextureStreamingInPlayMode: 1 + m_AsyncShaderCompilation: 1 + m_EnterPlayModeOptionsEnabled: 0 + m_EnterPlayModeOptions: 3 + m_ShowLightmapResolutionOverlay: 1 + m_UseLegacyProbeSampleCount: 0 + m_SerializeInlineMappingsOnOneLine: 1 \ No newline at end of file diff --git a/Minecraft Server/ProjectSettings/GraphicsSettings.asset b/Minecraft Server/ProjectSettings/GraphicsSettings.asset new file mode 100644 index 0000000..43369e3 --- /dev/null +++ b/Minecraft Server/ProjectSettings/GraphicsSettings.asset @@ -0,0 +1,63 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!30 &1 +GraphicsSettings: + m_ObjectHideFlags: 0 + serializedVersion: 13 + m_Deferred: + m_Mode: 1 + m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} + m_DeferredReflections: + m_Mode: 1 + m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} + m_ScreenSpaceShadows: + m_Mode: 1 + m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} + m_LegacyDeferred: + m_Mode: 1 + m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} + m_DepthNormals: + m_Mode: 1 + m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} + m_MotionVectors: + m_Mode: 1 + m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} + m_LightHalo: + m_Mode: 1 + m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} + m_LensFlare: + m_Mode: 1 + m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} + m_AlwaysIncludedShaders: + - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} + m_PreloadedShaders: [] + m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, + type: 0} + m_CustomRenderPipeline: {fileID: 0} + m_TransparencySortMode: 0 + m_TransparencySortAxis: {x: 0, y: 0, z: 1} + m_DefaultRenderingPath: 1 + m_DefaultMobileRenderingPath: 1 + m_TierSettings: [] + m_LightmapStripping: 0 + m_FogStripping: 0 + m_InstancingStripping: 0 + m_LightmapKeepPlain: 1 + m_LightmapKeepDirCombined: 1 + m_LightmapKeepDynamicPlain: 1 + m_LightmapKeepDynamicDirCombined: 1 + m_LightmapKeepShadowMask: 1 + m_LightmapKeepSubtractive: 1 + m_FogKeepLinear: 1 + m_FogKeepExp: 1 + m_FogKeepExp2: 1 + m_AlbedoSwatchInfos: [] + m_LightsUseLinearIntensity: 0 + m_LightsUseColorTemperature: 0 + m_LogWhenShaderIsCompiled: 0 + m_AllowEnlightenSupportForUpgradedProject: 0 diff --git a/Minecraft Server/ProjectSettings/InputManager.asset b/Minecraft Server/ProjectSettings/InputManager.asset new file mode 100644 index 0000000..17c8f53 --- /dev/null +++ b/Minecraft Server/ProjectSettings/InputManager.asset @@ -0,0 +1,295 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!13 &1 +InputManager: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Axes: + - serializedVersion: 3 + m_Name: Horizontal + descriptiveName: + descriptiveNegativeName: + negativeButton: left + positiveButton: right + altNegativeButton: a + altPositiveButton: d + gravity: 3 + dead: 0.001 + sensitivity: 3 + snap: 1 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Vertical + descriptiveName: + descriptiveNegativeName: + negativeButton: down + positiveButton: up + altNegativeButton: s + altPositiveButton: w + gravity: 3 + dead: 0.001 + sensitivity: 3 + snap: 1 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire1 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left ctrl + altNegativeButton: + altPositiveButton: mouse 0 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire2 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left alt + altNegativeButton: + altPositiveButton: mouse 1 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire3 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left shift + altNegativeButton: + altPositiveButton: mouse 2 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Jump + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: space + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Mouse X + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0 + sensitivity: 0.1 + snap: 0 + invert: 0 + type: 1 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Mouse Y + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0 + sensitivity: 0.1 + snap: 0 + invert: 0 + type: 1 + axis: 1 + joyNum: 0 + - serializedVersion: 3 + m_Name: Mouse ScrollWheel + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0 + sensitivity: 0.1 + snap: 0 + invert: 0 + type: 1 + axis: 2 + joyNum: 0 + - serializedVersion: 3 + m_Name: Horizontal + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 0 + type: 2 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Vertical + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 1 + type: 2 + axis: 1 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire1 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 0 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire2 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 1 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire3 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 2 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Jump + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 3 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Submit + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: return + altNegativeButton: + altPositiveButton: joystick button 0 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Submit + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: enter + altNegativeButton: + altPositiveButton: space + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Cancel + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: escape + altNegativeButton: + altPositiveButton: joystick button 1 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 diff --git a/Minecraft Server/ProjectSettings/NavMeshAreas.asset b/Minecraft Server/ProjectSettings/NavMeshAreas.asset new file mode 100644 index 0000000..3b0b7c3 --- /dev/null +++ b/Minecraft Server/ProjectSettings/NavMeshAreas.asset @@ -0,0 +1,91 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!126 &1 +NavMeshProjectSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + areas: + - name: Walkable + cost: 1 + - name: Not Walkable + cost: 1 + - name: Jump + cost: 2 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + m_LastAgentTypeID: -887442657 + m_Settings: + - serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.75 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_SettingNames: + - Humanoid diff --git a/Minecraft Server/ProjectSettings/PackageManagerSettings.asset b/Minecraft Server/ProjectSettings/PackageManagerSettings.asset new file mode 100644 index 0000000..be4a797 --- /dev/null +++ b/Minecraft Server/ProjectSettings/PackageManagerSettings.asset @@ -0,0 +1,43 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &1 +MonoBehaviour: + m_ObjectHideFlags: 61 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 13964, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_EnablePreviewPackages: 0 + m_EnablePackageDependencies: 0 + m_AdvancedSettingsExpanded: 1 + m_ScopedRegistriesSettingsExpanded: 1 + oneTimeWarningShown: 0 + m_Registries: + - m_Id: main + m_Name: + m_Url: https://packages.unity.com + m_Scopes: [] + m_IsDefault: 1 + m_Capabilities: 7 + m_UserSelectedRegistryName: + m_UserAddingNewScopedRegistry: 0 + m_RegistryInfoDraft: + m_ErrorMessage: + m_Original: + m_Id: + m_Name: + m_Url: + m_Scopes: [] + m_IsDefault: 0 + m_Capabilities: 0 + m_Modified: 0 + m_Name: + m_Url: + m_Scopes: + - + m_SelectedScopeIndex: 0 diff --git a/Minecraft Server/ProjectSettings/Physics2DSettings.asset b/Minecraft Server/ProjectSettings/Physics2DSettings.asset new file mode 100644 index 0000000..47880b1 --- /dev/null +++ b/Minecraft Server/ProjectSettings/Physics2DSettings.asset @@ -0,0 +1,56 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!19 &1 +Physics2DSettings: + m_ObjectHideFlags: 0 + serializedVersion: 4 + m_Gravity: {x: 0, y: -9.81} + m_DefaultMaterial: {fileID: 0} + m_VelocityIterations: 8 + m_PositionIterations: 3 + m_VelocityThreshold: 1 + m_MaxLinearCorrection: 0.2 + m_MaxAngularCorrection: 8 + m_MaxTranslationSpeed: 100 + m_MaxRotationSpeed: 360 + m_BaumgarteScale: 0.2 + m_BaumgarteTimeOfImpactScale: 0.75 + m_TimeToSleep: 0.5 + m_LinearSleepTolerance: 0.01 + m_AngularSleepTolerance: 2 + m_DefaultContactOffset: 0.01 + m_JobOptions: + serializedVersion: 2 + useMultithreading: 0 + useConsistencySorting: 0 + m_InterpolationPosesPerJob: 100 + m_NewContactsPerJob: 30 + m_CollideContactsPerJob: 100 + m_ClearFlagsPerJob: 200 + m_ClearBodyForcesPerJob: 200 + m_SyncDiscreteFixturesPerJob: 50 + m_SyncContinuousFixturesPerJob: 50 + m_FindNearestContactsPerJob: 100 + m_UpdateTriggerContactsPerJob: 100 + m_IslandSolverCostThreshold: 100 + m_IslandSolverBodyCostScale: 1 + m_IslandSolverContactCostScale: 10 + m_IslandSolverJointCostScale: 10 + m_IslandSolverBodiesPerJob: 50 + m_IslandSolverContactsPerJob: 50 + m_AutoSimulation: 1 + m_QueriesHitTriggers: 1 + m_QueriesStartInColliders: 1 + m_CallbacksOnDisable: 1 + m_ReuseCollisionCallbacks: 1 + m_AutoSyncTransforms: 0 + m_AlwaysShowColliders: 0 + m_ShowColliderSleep: 1 + m_ShowColliderContacts: 0 + m_ShowColliderAABB: 0 + m_ContactArrowScale: 0.2 + m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412} + m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} + m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} + m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804} + m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff diff --git a/Minecraft Server/ProjectSettings/PresetManager.asset b/Minecraft Server/ProjectSettings/PresetManager.asset new file mode 100644 index 0000000..67a94da --- /dev/null +++ b/Minecraft Server/ProjectSettings/PresetManager.asset @@ -0,0 +1,7 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1386491679 &1 +PresetManager: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_DefaultPresets: {} diff --git a/Minecraft Server/ProjectSettings/ProjectSettings.asset b/Minecraft Server/ProjectSettings/ProjectSettings.asset new file mode 100644 index 0000000..7e27559 --- /dev/null +++ b/Minecraft Server/ProjectSettings/ProjectSettings.asset @@ -0,0 +1,701 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!129 &1 +PlayerSettings: + m_ObjectHideFlags: 0 + serializedVersion: 22 + productGUID: cec0db56e734a2646861593333ad1bc2 + AndroidProfiler: 0 + AndroidFilterTouchesWhenObscured: 0 + AndroidEnableSustainedPerformanceMode: 0 + defaultScreenOrientation: 4 + targetDevice: 2 + useOnDemandResources: 0 + accelerometerFrequency: 60 + companyName: DefaultCompany + productName: Minecraft Server + defaultCursor: {fileID: 0} + cursorHotspot: {x: 0, y: 0} + m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1} + m_ShowUnitySplashScreen: 1 + m_ShowUnitySplashLogo: 1 + m_SplashScreenOverlayOpacity: 1 + m_SplashScreenAnimation: 1 + m_SplashScreenLogoStyle: 1 + m_SplashScreenDrawMode: 0 + m_SplashScreenBackgroundAnimationZoom: 1 + m_SplashScreenLogoAnimationZoom: 1 + m_SplashScreenBackgroundLandscapeAspect: 1 + m_SplashScreenBackgroundPortraitAspect: 1 + m_SplashScreenBackgroundLandscapeUvs: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + m_SplashScreenBackgroundPortraitUvs: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + m_SplashScreenLogos: [] + m_VirtualRealitySplashScreen: {fileID: 0} + m_HolographicTrackingLossScreen: {fileID: 0} + defaultScreenWidth: 1024 + defaultScreenHeight: 768 + defaultScreenWidthWeb: 960 + defaultScreenHeightWeb: 600 + m_StereoRenderingPath: 0 + m_ActiveColorSpace: 0 + m_MTRendering: 1 + mipStripping: 0 + numberOfMipsStripped: 0 + m_StackTraceTypes: 010000000100000001000000010000000100000001000000 + iosShowActivityIndicatorOnLoading: -1 + androidShowActivityIndicatorOnLoading: -1 + iosUseCustomAppBackgroundBehavior: 0 + iosAllowHTTPDownload: 1 + allowedAutorotateToPortrait: 1 + allowedAutorotateToPortraitUpsideDown: 1 + allowedAutorotateToLandscapeRight: 1 + allowedAutorotateToLandscapeLeft: 1 + useOSAutorotation: 1 + use32BitDisplayBuffer: 1 + preserveFramebufferAlpha: 0 + disableDepthAndStencilBuffers: 0 + androidStartInFullscreen: 1 + androidRenderOutsideSafeArea: 1 + androidUseSwappy: 1 + androidBlitType: 0 + androidResizableWindow: 0 + androidDefaultWindowWidth: 1920 + androidDefaultWindowHeight: 1080 + androidMinimumWindowWidth: 400 + androidMinimumWindowHeight: 300 + androidFullscreenMode: 1 + defaultIsNativeResolution: 1 + macRetinaSupport: 1 + runInBackground: 1 + captureSingleScreen: 0 + muteOtherAudioSources: 0 + Prepare IOS For Recording: 0 + Force IOS Speakers When Recording: 0 + deferSystemGesturesMode: 0 + hideHomeButton: 0 + submitAnalytics: 1 + usePlayerLog: 1 + bakeCollisionMeshes: 0 + forceSingleInstance: 0 + useFlipModelSwapchain: 1 + resizableWindow: 0 + useMacAppStoreValidation: 0 + macAppStoreCategory: public.app-category.games + gpuSkinning: 1 + xboxPIXTextureCapture: 0 + xboxEnableAvatar: 0 + xboxEnableKinect: 0 + xboxEnableKinectAutoTracking: 0 + xboxEnableFitness: 0 + visibleInBackground: 1 + allowFullscreenSwitch: 1 + fullscreenMode: 1 + xboxSpeechDB: 0 + xboxEnableHeadOrientation: 0 + xboxEnableGuest: 0 + xboxEnablePIXSampling: 0 + metalFramebufferOnly: 0 + xboxOneResolution: 0 + xboxOneSResolution: 0 + xboxOneXResolution: 3 + xboxOneMonoLoggingLevel: 0 + xboxOneLoggingLevel: 1 + xboxOneDisableEsram: 0 + xboxOneEnableTypeOptimization: 0 + xboxOnePresentImmediateThreshold: 0 + switchQueueCommandMemory: 0 + switchQueueControlMemory: 16384 + switchQueueComputeMemory: 262144 + switchNVNShaderPoolsGranularity: 33554432 + switchNVNDefaultPoolsGranularity: 16777216 + switchNVNOtherPoolsGranularity: 16777216 + switchNVNMaxPublicTextureIDCount: 0 + switchNVNMaxPublicSamplerIDCount: 0 + stadiaPresentMode: 0 + stadiaTargetFramerate: 0 + vulkanNumSwapchainBuffers: 3 + vulkanEnableSetSRGBWrite: 0 + vulkanEnablePreTransform: 0 + vulkanEnableLateAcquireNextImage: 0 + vulkanEnableCommandBufferRecycling: 1 + m_SupportedAspectRatios: + 4:3: 1 + 5:4: 1 + 16:10: 1 + 16:9: 1 + Others: 1 + bundleVersion: 0.1 + preloadedAssets: [] + metroInputSource: 0 + wsaTransparentSwapchain: 0 + m_HolographicPauseOnTrackingLoss: 1 + xboxOneDisableKinectGpuReservation: 1 + xboxOneEnable7thCore: 1 + vrSettings: + enable360StereoCapture: 0 + isWsaHolographicRemotingEnabled: 0 + enableFrameTimingStats: 0 + useHDRDisplay: 0 + D3DHDRBitDepth: 0 + m_ColorGamuts: 00000000 + targetPixelDensity: 30 + resolutionScalingMode: 0 + androidSupportedAspectRatio: 1 + androidMaxAspectRatio: 2.1 + applicationIdentifier: + Standalone: com.DefaultCompany.Minecraft-Server + buildNumber: + Standalone: 0 + iPhone: 0 + tvOS: 0 + overrideDefaultApplicationIdentifier: 0 + AndroidBundleVersionCode: 1 + AndroidMinSdkVersion: 19 + AndroidTargetSdkVersion: 0 + AndroidPreferredInstallLocation: 1 + aotOptions: + stripEngineCode: 1 + iPhoneStrippingLevel: 0 + iPhoneScriptCallOptimization: 0 + ForceInternetPermission: 0 + ForceSDCardPermission: 0 + CreateWallpaper: 0 + APKExpansionFiles: 0 + keepLoadedShadersAlive: 0 + StripUnusedMeshComponents: 1 + VertexChannelCompressionMask: 4054 + iPhoneSdkVersion: 988 + iOSTargetOSVersionString: 11.0 + tvOSSdkVersion: 0 + tvOSRequireExtendedGameController: 0 + tvOSTargetOSVersionString: 11.0 + uIPrerenderedIcon: 0 + uIRequiresPersistentWiFi: 0 + uIRequiresFullScreen: 1 + uIStatusBarHidden: 1 + uIExitOnSuspend: 0 + uIStatusBarStyle: 0 + appleTVSplashScreen: {fileID: 0} + appleTVSplashScreen2x: {fileID: 0} + tvOSSmallIconLayers: [] + tvOSSmallIconLayers2x: [] + tvOSLargeIconLayers: [] + tvOSLargeIconLayers2x: [] + tvOSTopShelfImageLayers: [] + tvOSTopShelfImageLayers2x: [] + tvOSTopShelfImageWideLayers: [] + tvOSTopShelfImageWideLayers2x: [] + iOSLaunchScreenType: 0 + iOSLaunchScreenPortrait: {fileID: 0} + iOSLaunchScreenLandscape: {fileID: 0} + iOSLaunchScreenBackgroundColor: + serializedVersion: 2 + rgba: 0 + iOSLaunchScreenFillPct: 100 + iOSLaunchScreenSize: 100 + iOSLaunchScreenCustomXibPath: + iOSLaunchScreeniPadType: 0 + iOSLaunchScreeniPadImage: {fileID: 0} + iOSLaunchScreeniPadBackgroundColor: + serializedVersion: 2 + rgba: 0 + iOSLaunchScreeniPadFillPct: 100 + iOSLaunchScreeniPadSize: 100 + iOSLaunchScreeniPadCustomXibPath: + iOSLaunchScreenCustomStoryboardPath: + iOSLaunchScreeniPadCustomStoryboardPath: + iOSDeviceRequirements: [] + iOSURLSchemes: [] + iOSBackgroundModes: 0 + iOSMetalForceHardShadows: 0 + metalEditorSupport: 1 + metalAPIValidation: 1 + iOSRenderExtraFrameOnPause: 0 + iosCopyPluginsCodeInsteadOfSymlink: 0 + appleDeveloperTeamID: + iOSManualSigningProvisioningProfileID: + tvOSManualSigningProvisioningProfileID: + iOSManualSigningProvisioningProfileType: 0 + tvOSManualSigningProvisioningProfileType: 0 + appleEnableAutomaticSigning: 0 + iOSRequireARKit: 0 + iOSAutomaticallyDetectAndAddCapabilities: 1 + appleEnableProMotion: 0 + shaderPrecisionModel: 0 + clonedFromGUID: c0afd0d1d80e3634a9dac47e8a0426ea + templatePackageId: com.unity.template.3d@5.0.4 + templateDefaultScene: Assets/Scenes/SampleScene.unity + useCustomMainManifest: 0 + useCustomLauncherManifest: 0 + useCustomMainGradleTemplate: 0 + useCustomLauncherGradleManifest: 0 + useCustomBaseGradleTemplate: 0 + useCustomGradlePropertiesTemplate: 0 + useCustomProguardFile: 0 + AndroidTargetArchitectures: 1 + AndroidTargetDevices: 0 + AndroidSplashScreenScale: 0 + androidSplashScreen: {fileID: 0} + AndroidKeystoreName: + AndroidKeyaliasName: + AndroidBuildApkPerCpuArchitecture: 0 + AndroidTVCompatibility: 0 + AndroidIsGame: 1 + AndroidEnableTango: 0 + androidEnableBanner: 1 + androidUseLowAccuracyLocation: 0 + androidUseCustomKeystore: 0 + m_AndroidBanners: + - width: 320 + height: 180 + banner: {fileID: 0} + androidGamepadSupportLevel: 0 + chromeosInputEmulation: 1 + AndroidMinifyWithR8: 0 + AndroidMinifyRelease: 0 + AndroidMinifyDebug: 0 + AndroidValidateAppBundleSize: 1 + AndroidAppBundleSizeToValidate: 150 + m_BuildTargetIcons: + - m_BuildTarget: + m_Icons: + - serializedVersion: 2 + m_Icon: {fileID: 2800000, guid: 5a3615b75cf066041a8f172f87970606, type: 3} + m_Width: 128 + m_Height: 128 + m_Kind: 0 + m_BuildTargetPlatformIcons: [] + m_BuildTargetBatching: + - m_BuildTarget: Standalone + m_StaticBatching: 1 + m_DynamicBatching: 0 + - m_BuildTarget: tvOS + m_StaticBatching: 1 + m_DynamicBatching: 0 + - m_BuildTarget: Android + m_StaticBatching: 1 + m_DynamicBatching: 0 + - m_BuildTarget: iPhone + m_StaticBatching: 1 + m_DynamicBatching: 0 + - m_BuildTarget: WebGL + m_StaticBatching: 0 + m_DynamicBatching: 0 + m_BuildTargetGraphicsJobs: + - m_BuildTarget: MacStandaloneSupport + m_GraphicsJobs: 0 + - m_BuildTarget: Switch + m_GraphicsJobs: 1 + - m_BuildTarget: MetroSupport + m_GraphicsJobs: 1 + - m_BuildTarget: AppleTVSupport + m_GraphicsJobs: 0 + - m_BuildTarget: BJMSupport + m_GraphicsJobs: 1 + - m_BuildTarget: LinuxStandaloneSupport + m_GraphicsJobs: 1 + - m_BuildTarget: PS4Player + m_GraphicsJobs: 1 + - m_BuildTarget: iOSSupport + m_GraphicsJobs: 0 + - m_BuildTarget: WindowsStandaloneSupport + m_GraphicsJobs: 1 + - m_BuildTarget: XboxOnePlayer + m_GraphicsJobs: 1 + - m_BuildTarget: LuminSupport + m_GraphicsJobs: 0 + - m_BuildTarget: AndroidPlayer + m_GraphicsJobs: 0 + - m_BuildTarget: WebGLSupport + m_GraphicsJobs: 0 + m_BuildTargetGraphicsJobMode: + - m_BuildTarget: PS4Player + m_GraphicsJobMode: 0 + - m_BuildTarget: XboxOnePlayer + m_GraphicsJobMode: 0 + m_BuildTargetGraphicsAPIs: + - m_BuildTarget: AndroidPlayer + m_APIs: 150000000b000000 + m_Automatic: 0 + - m_BuildTarget: iOSSupport + m_APIs: 10000000 + m_Automatic: 1 + - m_BuildTarget: AppleTVSupport + m_APIs: 10000000 + m_Automatic: 1 + - m_BuildTarget: WebGLSupport + m_APIs: 0b000000 + m_Automatic: 1 + m_BuildTargetVRSettings: + - m_BuildTarget: Standalone + m_Enabled: 0 + m_Devices: + - Oculus + - OpenVR + openGLRequireES31: 0 + openGLRequireES31AEP: 0 + openGLRequireES32: 0 + m_TemplateCustomTags: {} + mobileMTRendering: + Android: 1 + iPhone: 1 + tvOS: 1 + m_BuildTargetGroupLightmapEncodingQuality: [] + m_BuildTargetGroupLightmapSettings: [] + m_BuildTargetNormalMapEncoding: [] + playModeTestRunnerEnabled: 0 + runPlayModeTestAsEditModeTest: 0 + actionOnDotNetUnhandledException: 1 + enableInternalProfiler: 0 + logObjCUncaughtExceptions: 1 + enableCrashReportAPI: 0 + cameraUsageDescription: + locationUsageDescription: + microphoneUsageDescription: + bluetoothUsageDescription: + switchNMETAOverride: + switchNetLibKey: + switchSocketMemoryPoolSize: 6144 + switchSocketAllocatorPoolSize: 128 + switchSocketConcurrencyLimit: 14 + switchScreenResolutionBehavior: 2 + switchUseCPUProfiler: 0 + switchUseGOLDLinker: 0 + switchApplicationID: 0x01004b9000490000 + switchNSODependencies: + switchTitleNames_0: + switchTitleNames_1: + switchTitleNames_2: + switchTitleNames_3: + switchTitleNames_4: + switchTitleNames_5: + switchTitleNames_6: + switchTitleNames_7: + switchTitleNames_8: + switchTitleNames_9: + switchTitleNames_10: + switchTitleNames_11: + switchTitleNames_12: + switchTitleNames_13: + switchTitleNames_14: + switchTitleNames_15: + switchPublisherNames_0: + switchPublisherNames_1: + switchPublisherNames_2: + switchPublisherNames_3: + switchPublisherNames_4: + switchPublisherNames_5: + switchPublisherNames_6: + switchPublisherNames_7: + switchPublisherNames_8: + switchPublisherNames_9: + switchPublisherNames_10: + switchPublisherNames_11: + switchPublisherNames_12: + switchPublisherNames_13: + switchPublisherNames_14: + switchPublisherNames_15: + switchIcons_0: {fileID: 0} + switchIcons_1: {fileID: 0} + switchIcons_2: {fileID: 0} + switchIcons_3: {fileID: 0} + switchIcons_4: {fileID: 0} + switchIcons_5: {fileID: 0} + switchIcons_6: {fileID: 0} + switchIcons_7: {fileID: 0} + switchIcons_8: {fileID: 0} + switchIcons_9: {fileID: 0} + switchIcons_10: {fileID: 0} + switchIcons_11: {fileID: 0} + switchIcons_12: {fileID: 0} + switchIcons_13: {fileID: 0} + switchIcons_14: {fileID: 0} + switchIcons_15: {fileID: 0} + switchSmallIcons_0: {fileID: 0} + switchSmallIcons_1: {fileID: 0} + switchSmallIcons_2: {fileID: 0} + switchSmallIcons_3: {fileID: 0} + switchSmallIcons_4: {fileID: 0} + switchSmallIcons_5: {fileID: 0} + switchSmallIcons_6: {fileID: 0} + switchSmallIcons_7: {fileID: 0} + switchSmallIcons_8: {fileID: 0} + switchSmallIcons_9: {fileID: 0} + switchSmallIcons_10: {fileID: 0} + switchSmallIcons_11: {fileID: 0} + switchSmallIcons_12: {fileID: 0} + switchSmallIcons_13: {fileID: 0} + switchSmallIcons_14: {fileID: 0} + switchSmallIcons_15: {fileID: 0} + switchManualHTML: + switchAccessibleURLs: + switchLegalInformation: + switchMainThreadStackSize: 1048576 + switchPresenceGroupId: + switchLogoHandling: 0 + switchReleaseVersion: 0 + switchDisplayVersion: 1.0.0 + switchStartupUserAccount: 0 + switchTouchScreenUsage: 0 + switchSupportedLanguagesMask: 0 + switchLogoType: 0 + switchApplicationErrorCodeCategory: + switchUserAccountSaveDataSize: 0 + switchUserAccountSaveDataJournalSize: 0 + switchApplicationAttribute: 0 + switchCardSpecSize: -1 + switchCardSpecClock: -1 + switchRatingsMask: 0 + switchRatingsInt_0: 0 + switchRatingsInt_1: 0 + switchRatingsInt_2: 0 + switchRatingsInt_3: 0 + switchRatingsInt_4: 0 + switchRatingsInt_5: 0 + switchRatingsInt_6: 0 + switchRatingsInt_7: 0 + switchRatingsInt_8: 0 + switchRatingsInt_9: 0 + switchRatingsInt_10: 0 + switchRatingsInt_11: 0 + switchRatingsInt_12: 0 + switchLocalCommunicationIds_0: + switchLocalCommunicationIds_1: + switchLocalCommunicationIds_2: + switchLocalCommunicationIds_3: + switchLocalCommunicationIds_4: + switchLocalCommunicationIds_5: + switchLocalCommunicationIds_6: + switchLocalCommunicationIds_7: + switchParentalControl: 0 + switchAllowsScreenshot: 1 + switchAllowsVideoCapturing: 1 + switchAllowsRuntimeAddOnContentInstall: 0 + switchDataLossConfirmation: 0 + switchUserAccountLockEnabled: 0 + switchSystemResourceMemory: 16777216 + switchSupportedNpadStyles: 22 + switchNativeFsCacheSize: 32 + switchIsHoldTypeHorizontal: 0 + switchSupportedNpadCount: 8 + switchSocketConfigEnabled: 0 + switchTcpInitialSendBufferSize: 32 + switchTcpInitialReceiveBufferSize: 64 + switchTcpAutoSendBufferSizeMax: 256 + switchTcpAutoReceiveBufferSizeMax: 256 + switchUdpSendBufferSize: 9 + switchUdpReceiveBufferSize: 42 + switchSocketBufferEfficiency: 4 + switchSocketInitializeEnabled: 1 + switchNetworkInterfaceManagerInitializeEnabled: 1 + switchPlayerConnectionEnabled: 1 + switchUseNewStyleFilepaths: 0 + switchUseMicroSleepForYield: 1 + switchEnableRamDiskSupport: 0 + switchMicroSleepForYieldTime: 25 + switchRamDiskSpaceSize: 12 + ps4NPAgeRating: 12 + ps4NPTitleSecret: + ps4NPTrophyPackPath: + ps4ParentalLevel: 11 + ps4ContentID: ED1633-NPXX51362_00-0000000000000000 + ps4Category: 0 + ps4MasterVersion: 01.00 + ps4AppVersion: 01.00 + ps4AppType: 0 + ps4ParamSfxPath: + ps4VideoOutPixelFormat: 0 + ps4VideoOutInitialWidth: 1920 + ps4VideoOutBaseModeInitialWidth: 1920 + ps4VideoOutReprojectionRate: 60 + ps4PronunciationXMLPath: + ps4PronunciationSIGPath: + ps4BackgroundImagePath: + ps4StartupImagePath: + ps4StartupImagesFolder: + ps4IconImagesFolder: + ps4SaveDataImagePath: + ps4SdkOverride: + ps4BGMPath: + ps4ShareFilePath: + ps4ShareOverlayImagePath: + ps4PrivacyGuardImagePath: + ps4ExtraSceSysFile: + ps4NPtitleDatPath: + ps4RemotePlayKeyAssignment: -1 + ps4RemotePlayKeyMappingDir: + ps4PlayTogetherPlayerCount: 0 + ps4EnterButtonAssignment: 1 + ps4ApplicationParam1: 0 + ps4ApplicationParam2: 0 + ps4ApplicationParam3: 0 + ps4ApplicationParam4: 0 + ps4DownloadDataSize: 0 + ps4GarlicHeapSize: 2048 + ps4ProGarlicHeapSize: 2560 + playerPrefsMaxSize: 32768 + ps4Passcode: frAQBc8Wsa1xVPfvJcrgRYwTiizs2trQ + ps4pnSessions: 1 + ps4pnPresence: 1 + ps4pnFriends: 1 + ps4pnGameCustomData: 1 + playerPrefsSupport: 0 + enableApplicationExit: 0 + resetTempFolder: 1 + restrictedAudioUsageRights: 0 + ps4UseResolutionFallback: 0 + ps4ReprojectionSupport: 0 + ps4UseAudio3dBackend: 0 + ps4UseLowGarlicFragmentationMode: 1 + ps4SocialScreenEnabled: 0 + ps4ScriptOptimizationLevel: 0 + ps4Audio3dVirtualSpeakerCount: 14 + ps4attribCpuUsage: 0 + ps4PatchPkgPath: + ps4PatchLatestPkgPath: + ps4PatchChangeinfoPath: + ps4PatchDayOne: 0 + ps4attribUserManagement: 0 + ps4attribMoveSupport: 0 + ps4attrib3DSupport: 0 + ps4attribShareSupport: 0 + ps4attribExclusiveVR: 0 + ps4disableAutoHideSplash: 0 + ps4videoRecordingFeaturesUsed: 0 + ps4contentSearchFeaturesUsed: 0 + ps4CompatibilityPS5: 0 + ps4AllowPS5Detection: 0 + ps4GPU800MHz: 1 + ps4attribEyeToEyeDistanceSettingVR: 0 + ps4IncludedModules: [] + ps4attribVROutputEnabled: 0 + monoEnv: + splashScreenBackgroundSourceLandscape: {fileID: 0} + splashScreenBackgroundSourcePortrait: {fileID: 0} + blurSplashScreenBackground: 1 + spritePackerPolicy: + webGLMemorySize: 16 + webGLExceptionSupport: 1 + webGLNameFilesAsHashes: 0 + webGLDataCaching: 1 + webGLDebugSymbols: 0 + webGLEmscriptenArgs: + webGLModulesDirectory: + webGLTemplate: APPLICATION:Default + webGLAnalyzeBuildSize: 0 + webGLUseEmbeddedResources: 0 + webGLCompressionFormat: 1 + webGLWasmArithmeticExceptions: 0 + webGLLinkerTarget: 1 + webGLThreadsSupport: 0 + webGLDecompressionFallback: 0 + scriptingDefineSymbols: {} + additionalCompilerArguments: {} + platformArchitecture: {} + scriptingBackend: + Standalone: 1 + il2cppCompilerConfiguration: {} + managedStrippingLevel: {} + incrementalIl2cppBuild: {} + suppressCommonWarnings: 1 + allowUnsafeCode: 0 + useDeterministicCompilation: 1 + useReferenceAssemblies: 1 + enableRoslynAnalyzers: 1 + additionalIl2CppArgs: + scriptingRuntimeVersion: 1 + gcIncremental: 1 + assemblyVersionValidation: 1 + gcWBarrierValidation: 0 + apiCompatibilityLevelPerPlatform: + Standalone: 3 + m_RenderingPath: 1 + m_MobileRenderingPath: 1 + metroPackageName: Template_3D + metroPackageVersion: + metroCertificatePath: + metroCertificatePassword: + metroCertificateSubject: + metroCertificateIssuer: + metroCertificateNotAfter: 0000000000000000 + metroApplicationDescription: Template_3D + wsaImages: {} + metroTileShortName: + metroTileShowName: 0 + metroMediumTileShowName: 0 + metroLargeTileShowName: 0 + metroWideTileShowName: 0 + metroSupportStreamingInstall: 0 + metroLastRequiredScene: 0 + metroDefaultTileSize: 1 + metroTileForegroundText: 2 + metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0} + metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628, a: 1} + metroSplashScreenUseBackgroundColor: 0 + platformCapabilities: {} + metroTargetDeviceFamilies: {} + metroFTAName: + metroFTAFileTypes: [] + metroProtocolName: + vcxProjDefaultLanguage: + XboxOneProductId: + XboxOneUpdateKey: + XboxOneSandboxId: + XboxOneContentId: + XboxOneTitleId: + XboxOneSCId: + XboxOneGameOsOverridePath: + XboxOnePackagingOverridePath: + XboxOneAppManifestOverridePath: + XboxOneVersion: 1.0.0.0 + XboxOnePackageEncryption: 0 + XboxOnePackageUpdateGranularity: 2 + XboxOneDescription: + XboxOneLanguage: + - enus + XboxOneCapability: [] + XboxOneGameRating: {} + XboxOneIsContentPackage: 0 + XboxOneEnhancedXboxCompatibilityMode: 0 + XboxOneEnableGPUVariability: 1 + XboxOneSockets: {} + XboxOneSplashScreen: {fileID: 0} + XboxOneAllowedProductIds: [] + XboxOnePersistentLocalStorageSize: 0 + XboxOneXTitleMemory: 8 + XboxOneOverrideIdentityName: + XboxOneOverrideIdentityPublisher: + vrEditorSettings: {} + cloudServicesEnabled: + UNet: 1 + luminIcon: + m_Name: + m_ModelFolderPath: + m_PortalFolderPath: + luminCert: + m_CertPath: + m_SignPackage: 1 + luminIsChannelApp: 0 + luminVersion: + m_VersionCode: 1 + m_VersionName: + apiCompatibilityLevel: 6 + activeInputHandler: 0 + cloudProjectId: + framebufferDepthMemorylessMode: 0 + qualitySettingsNames: [] + projectName: + organizationId: + cloudEnabled: 0 + legacyClampBlendShapeWeights: 0 + virtualTexturingSupportEnabled: 0 diff --git a/Minecraft Server/ProjectSettings/ProjectVersion.txt b/Minecraft Server/ProjectSettings/ProjectVersion.txt new file mode 100644 index 0000000..72f71f9 --- /dev/null +++ b/Minecraft Server/ProjectSettings/ProjectVersion.txt @@ -0,0 +1,2 @@ +m_EditorVersion: 2020.3.34f1 +m_EditorVersionWithRevision: 2020.3.34f1 (9a4c9c70452b) diff --git a/Minecraft Server/ProjectSettings/QualitySettings.asset b/Minecraft Server/ProjectSettings/QualitySettings.asset new file mode 100644 index 0000000..7b7658d --- /dev/null +++ b/Minecraft Server/ProjectSettings/QualitySettings.asset @@ -0,0 +1,232 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!47 &1 +QualitySettings: + m_ObjectHideFlags: 0 + serializedVersion: 5 + m_CurrentQuality: 5 + m_QualitySettings: + - serializedVersion: 2 + name: Very Low + pixelLightCount: 0 + shadows: 0 + shadowResolution: 0 + shadowProjection: 1 + shadowCascades: 1 + shadowDistance: 15 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 0 + blendWeights: 1 + textureQuality: 1 + anisotropicTextures: 0 + antiAliasing: 0 + softParticles: 0 + softVegetation: 0 + realtimeReflectionProbes: 0 + billboardsFaceCameraPosition: 0 + vSyncCount: 0 + lodBias: 0.3 + maximumLODLevel: 0 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 4 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 + resolutionScalingFixedDPIFactor: 1 + excludedTargetPlatforms: [] + - serializedVersion: 2 + name: Low + pixelLightCount: 0 + shadows: 0 + shadowResolution: 0 + shadowProjection: 1 + shadowCascades: 1 + shadowDistance: 20 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 0 + blendWeights: 2 + textureQuality: 0 + anisotropicTextures: 0 + antiAliasing: 0 + softParticles: 0 + softVegetation: 0 + realtimeReflectionProbes: 0 + billboardsFaceCameraPosition: 0 + vSyncCount: 0 + lodBias: 0.4 + maximumLODLevel: 0 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 16 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 + resolutionScalingFixedDPIFactor: 1 + excludedTargetPlatforms: [] + - serializedVersion: 2 + name: Medium + pixelLightCount: 1 + shadows: 1 + shadowResolution: 0 + shadowProjection: 1 + shadowCascades: 1 + shadowDistance: 20 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 0 + blendWeights: 2 + textureQuality: 0 + anisotropicTextures: 1 + antiAliasing: 0 + softParticles: 0 + softVegetation: 0 + realtimeReflectionProbes: 0 + billboardsFaceCameraPosition: 0 + vSyncCount: 1 + lodBias: 0.7 + maximumLODLevel: 0 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 64 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 + resolutionScalingFixedDPIFactor: 1 + excludedTargetPlatforms: [] + - serializedVersion: 2 + name: High + pixelLightCount: 2 + shadows: 2 + shadowResolution: 1 + shadowProjection: 1 + shadowCascades: 2 + shadowDistance: 40 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 1 + blendWeights: 2 + textureQuality: 0 + anisotropicTextures: 1 + antiAliasing: 0 + softParticles: 0 + softVegetation: 1 + realtimeReflectionProbes: 1 + billboardsFaceCameraPosition: 1 + vSyncCount: 1 + lodBias: 1 + maximumLODLevel: 0 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 256 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 + resolutionScalingFixedDPIFactor: 1 + excludedTargetPlatforms: [] + - serializedVersion: 2 + name: Very High + pixelLightCount: 3 + shadows: 2 + shadowResolution: 2 + shadowProjection: 1 + shadowCascades: 2 + shadowDistance: 70 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 1 + blendWeights: 4 + textureQuality: 0 + anisotropicTextures: 2 + antiAliasing: 2 + softParticles: 1 + softVegetation: 1 + realtimeReflectionProbes: 1 + billboardsFaceCameraPosition: 1 + vSyncCount: 1 + lodBias: 1.5 + maximumLODLevel: 0 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 1024 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 + resolutionScalingFixedDPIFactor: 1 + excludedTargetPlatforms: [] + - serializedVersion: 2 + name: Ultra + pixelLightCount: 4 + shadows: 2 + shadowResolution: 2 + shadowProjection: 1 + shadowCascades: 4 + shadowDistance: 150 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 1 + blendWeights: 4 + textureQuality: 0 + anisotropicTextures: 2 + antiAliasing: 2 + softParticles: 1 + softVegetation: 1 + realtimeReflectionProbes: 1 + billboardsFaceCameraPosition: 1 + vSyncCount: 1 + lodBias: 2 + maximumLODLevel: 0 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 4096 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 + resolutionScalingFixedDPIFactor: 1 + excludedTargetPlatforms: [] + m_PerPlatformDefaultQuality: + Android: 2 + Lumin: 5 + Nintendo 3DS: 5 + Nintendo Switch: 5 + PS4: 5 + PSP2: 2 + Stadia: 5 + Standalone: 5 + WebGL: 3 + Windows Store Apps: 5 + XboxOne: 5 + iPhone: 2 + tvOS: 2 diff --git a/Minecraft Server/ProjectSettings/TagManager.asset b/Minecraft Server/ProjectSettings/TagManager.asset new file mode 100644 index 0000000..1c92a78 --- /dev/null +++ b/Minecraft Server/ProjectSettings/TagManager.asset @@ -0,0 +1,43 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!78 &1 +TagManager: + serializedVersion: 2 + tags: [] + layers: + - Default + - TransparentFX + - Ignore Raycast + - + - Water + - UI + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + m_SortingLayers: + - name: Default + uniqueID: 0 + locked: 0 diff --git a/Minecraft Server/ProjectSettings/TimeManager.asset b/Minecraft Server/ProjectSettings/TimeManager.asset new file mode 100644 index 0000000..558a017 --- /dev/null +++ b/Minecraft Server/ProjectSettings/TimeManager.asset @@ -0,0 +1,9 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!5 &1 +TimeManager: + m_ObjectHideFlags: 0 + Fixed Timestep: 0.02 + Maximum Allowed Timestep: 0.33333334 + m_TimeScale: 1 + Maximum Particle Timestep: 0.03 diff --git a/Minecraft Server/ProjectSettings/UnityConnectSettings.asset b/Minecraft Server/ProjectSettings/UnityConnectSettings.asset new file mode 100644 index 0000000..6125b30 --- /dev/null +++ b/Minecraft Server/ProjectSettings/UnityConnectSettings.asset @@ -0,0 +1,35 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!310 &1 +UnityConnectSettings: + m_ObjectHideFlags: 0 + serializedVersion: 1 + m_Enabled: 0 + m_TestMode: 0 + m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events + m_EventUrl: https://cdp.cloud.unity3d.com/v1/events + m_ConfigUrl: https://config.uca.cloud.unity3d.com + m_DashboardUrl: https://dashboard.unity3d.com + m_TestInitMode: 0 + CrashReportingSettings: + m_EventUrl: https://perf-events.cloud.unity3d.com + m_Enabled: 0 + m_LogBufferSize: 10 + m_CaptureEditorExceptions: 1 + UnityPurchasingSettings: + m_Enabled: 0 + m_TestMode: 0 + UnityAnalyticsSettings: + m_Enabled: 0 + m_TestMode: 0 + m_InitializeOnStartup: 1 + UnityAdsSettings: + m_Enabled: 0 + m_InitializeOnStartup: 1 + m_TestMode: 0 + m_IosGameId: + m_AndroidGameId: + m_GameIds: {} + m_GameId: + PerformanceReportingSettings: + m_Enabled: 0 diff --git a/Minecraft Server/ProjectSettings/VFXManager.asset b/Minecraft Server/ProjectSettings/VFXManager.asset new file mode 100644 index 0000000..3a95c98 --- /dev/null +++ b/Minecraft Server/ProjectSettings/VFXManager.asset @@ -0,0 +1,12 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!937362698 &1 +VFXManager: + m_ObjectHideFlags: 0 + m_IndirectShader: {fileID: 0} + m_CopyBufferShader: {fileID: 0} + m_SortShader: {fileID: 0} + m_StripUpdateShader: {fileID: 0} + m_RenderPipeSettingsPath: + m_FixedTimeStep: 0.016666668 + m_MaxDeltaTime: 0.05 diff --git a/Minecraft Server/ProjectSettings/VersionControlSettings.asset b/Minecraft Server/ProjectSettings/VersionControlSettings.asset new file mode 100644 index 0000000..dca2881 --- /dev/null +++ b/Minecraft Server/ProjectSettings/VersionControlSettings.asset @@ -0,0 +1,8 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!890905787 &1 +VersionControlSettings: + m_ObjectHideFlags: 0 + m_Mode: Visible Meta Files + m_CollabEditorSettings: + inProgressEnabled: 1 diff --git a/Minecraft Server/ProjectSettings/XRSettings.asset b/Minecraft Server/ProjectSettings/XRSettings.asset new file mode 100644 index 0000000..482590c --- /dev/null +++ b/Minecraft Server/ProjectSettings/XRSettings.asset @@ -0,0 +1,10 @@ +{ + "m_SettingKeys": [ + "VR Device Disabled", + "VR Device User Alert" + ], + "m_SettingValues": [ + "False", + "False" + ] +} \ No newline at end of file