├── .gitattributes ├── LICENSE ├── Minecraft Client ├── .gitignore ├── Assets │ ├── References.meta │ ├── References │ │ ├── CSharp-easy-RSA-PEM.dll │ │ ├── CSharp-easy-RSA-PEM.dll.meta │ │ ├── Ionic.Zlib.dll │ │ ├── Ionic.Zlib.dll.meta │ │ ├── Newtonsoft.Json.dll │ │ ├── Newtonsoft.Json.dll.meta │ │ ├── Newtonsoft.Json.xml │ │ └── Newtonsoft.Json.xml.meta │ ├── TextMesh Pro.meta │ ├── TextMesh Pro │ │ ├── .gitattributes │ │ ├── Documentation.meta │ │ ├── Documentation │ │ │ ├── TextMesh Pro User Guide 2016.pdf │ │ │ └── TextMesh Pro User Guide 2016.pdf.meta │ │ ├── Fonts.meta │ │ ├── Fonts │ │ │ ├── LiberationSans - OFL.txt │ │ │ ├── LiberationSans - OFL.txt.meta │ │ │ ├── LiberationSans.ttf │ │ │ └── LiberationSans.ttf.meta │ │ ├── Resources.meta │ │ ├── Resources │ │ │ ├── Fonts & Materials.meta │ │ │ ├── Fonts & Materials │ │ │ │ ├── LiberationSans SDF - Drop Shadow.mat │ │ │ │ ├── LiberationSans SDF - Drop Shadow.mat.meta │ │ │ │ ├── LiberationSans SDF - Fallback.asset │ │ │ │ ├── LiberationSans SDF - Fallback.asset.meta │ │ │ │ ├── LiberationSans SDF - Outline.mat │ │ │ │ ├── LiberationSans SDF - Outline.mat.meta │ │ │ │ ├── LiberationSans SDF.asset │ │ │ │ ├── LiberationSans SDF.asset.meta │ │ │ │ ├── Minecraft Regular SDF.asset │ │ │ │ └── Minecraft Regular SDF.asset.meta │ │ │ ├── LineBreaking Following Characters.txt │ │ │ ├── LineBreaking Following Characters.txt.meta │ │ │ ├── LineBreaking Leading Characters.txt │ │ │ ├── LineBreaking Leading Characters.txt.meta │ │ │ ├── Shaders.meta │ │ │ ├── Shaders │ │ │ │ ├── TMP_Bitmap-Custom-Atlas.shader │ │ │ │ ├── TMP_Bitmap-Custom-Atlas.shader.meta │ │ │ │ ├── TMP_Bitmap-Mobile.shader │ │ │ │ ├── TMP_Bitmap-Mobile.shader.meta │ │ │ │ ├── TMP_Bitmap.shader │ │ │ │ ├── TMP_Bitmap.shader.meta │ │ │ │ ├── TMP_SDF Overlay.shader │ │ │ │ ├── TMP_SDF Overlay.shader.meta │ │ │ │ ├── TMP_SDF-Mobile Masking.shader │ │ │ │ ├── TMP_SDF-Mobile Masking.shader.meta │ │ │ │ ├── TMP_SDF-Mobile Overlay.shader │ │ │ │ ├── TMP_SDF-Mobile Overlay.shader.meta │ │ │ │ ├── TMP_SDF-Mobile.shader │ │ │ │ ├── TMP_SDF-Mobile.shader.meta │ │ │ │ ├── TMP_SDF-Surface-Mobile.shader │ │ │ │ ├── TMP_SDF-Surface-Mobile.shader.meta │ │ │ │ ├── TMP_SDF-Surface.shader │ │ │ │ ├── TMP_SDF-Surface.shader.meta │ │ │ │ ├── TMP_SDF.shader │ │ │ │ ├── TMP_SDF.shader.meta │ │ │ │ ├── TMP_Sprite.shader │ │ │ │ ├── TMP_Sprite.shader.meta │ │ │ │ ├── TMPro.cginc │ │ │ │ ├── TMPro.cginc.meta │ │ │ │ ├── TMPro_Properties.cginc │ │ │ │ ├── TMPro_Properties.cginc.meta │ │ │ │ ├── TMPro_Surface.cginc │ │ │ │ └── TMPro_Surface.cginc.meta │ │ │ ├── Sprite Assets.meta │ │ │ ├── Sprite Assets │ │ │ │ ├── EmojiOne.asset │ │ │ │ └── EmojiOne.asset.meta │ │ │ ├── Style Sheets.meta │ │ │ ├── Style Sheets │ │ │ │ ├── Default Style Sheet.asset │ │ │ │ └── Default Style Sheet.asset.meta │ │ │ ├── TMP Settings.asset │ │ │ └── TMP Settings.asset.meta │ │ ├── Sprites.meta │ │ └── Sprites │ │ │ ├── EmojiOne Attribution.txt │ │ │ ├── EmojiOne Attribution.txt.meta │ │ │ ├── EmojiOne.json │ │ │ ├── EmojiOne.json.meta │ │ │ ├── EmojiOne.png │ │ │ └── EmojiOne.png.meta │ ├── _Project.meta │ └── _Project │ │ ├── Fonts.meta │ │ ├── Fonts │ │ ├── Minecraft Bold.otf │ │ ├── Minecraft Bold.otf.meta │ │ ├── Minecraft BoldItalic.otf │ │ ├── Minecraft BoldItalic.otf.meta │ │ ├── Minecraft Italic.otf │ │ ├── Minecraft Italic.otf.meta │ │ ├── Minecraft Regular.otf │ │ ├── Minecraft Regular.otf.meta │ │ ├── Minecrafter.ttf │ │ └── Minecrafter.ttf.meta │ │ ├── Meshes.meta │ │ ├── Meshes │ │ ├── BlenderImporter.preset │ │ ├── BlenderImporter.preset.meta │ │ ├── Cone.fbx │ │ ├── Cone.fbx.meta │ │ ├── Entity.meta │ │ ├── Entity │ │ │ ├── Cow.blend │ │ │ ├── Cow.blend.meta │ │ │ ├── Creeper.blend │ │ │ ├── Creeper.blend.meta │ │ │ ├── Pig.blend │ │ │ ├── Pig.blend.meta │ │ │ ├── Player.blend │ │ │ └── Player.blend.meta │ │ ├── PlayerCollider.fbx │ │ └── PlayerCollider.fbx.meta │ │ ├── Misc.meta │ │ ├── Misc │ │ ├── Generic.physicMaterial │ │ └── Generic.physicMaterial.meta │ │ ├── Prefabs.meta │ │ ├── Prefabs │ │ ├── Entities.meta │ │ ├── Entities │ │ │ ├── Facing Arrow.prefab │ │ │ ├── Facing Arrow.prefab.meta │ │ │ ├── Mob.meta │ │ │ ├── Mob │ │ │ │ ├── Cow.prefab │ │ │ │ ├── Cow.prefab.meta │ │ │ │ ├── Creeper.prefab │ │ │ │ ├── Creeper.prefab.meta │ │ │ │ ├── DefaultMob.prefab │ │ │ │ ├── DefaultMob.prefab.meta │ │ │ │ ├── Pig.prefab │ │ │ │ └── Pig.prefab.meta │ │ │ ├── Player.meta │ │ │ └── Player │ │ │ │ ├── Player Controller.prefab │ │ │ │ ├── Player Controller.prefab.meta │ │ │ │ ├── Player.prefab │ │ │ │ └── Player.prefab.meta │ │ ├── Terrain.meta │ │ ├── Terrain │ │ │ ├── Chunk Renderer.prefab │ │ │ ├── Chunk Renderer.prefab.meta │ │ │ ├── PhysicalChunkColumn.prefab │ │ │ ├── PhysicalChunkColumn.prefab.meta │ │ │ ├── PhysicalChunkSection.prefab │ │ │ └── PhysicalChunkSection.prefab.meta │ │ ├── UI.meta │ │ └── UI │ │ │ ├── Player Entry.prefab │ │ │ └── Player Entry.prefab.meta │ │ ├── Scenes.meta │ │ ├── Scenes │ │ ├── Game.unity │ │ ├── Game.unity.meta │ │ ├── LoadingScreen.unity │ │ ├── LoadingScreen.unity.meta │ │ ├── MainMenu.unity │ │ ├── MainMenu.unity.meta │ │ ├── TestScene.unity │ │ └── TestScene.unity.meta │ │ ├── Scripts.meta │ │ ├── Scripts │ │ ├── Chat.meta │ │ ├── Chat │ │ │ ├── ChatClickEvent.cs │ │ │ ├── ChatClickEvent.cs.meta │ │ │ ├── ChatComponent.cs │ │ │ ├── ChatComponent.cs.meta │ │ │ ├── ChatHistoryManager.cs │ │ │ ├── ChatHistoryManager.cs.meta │ │ │ ├── ChatMessage.cs │ │ │ ├── ChatMessage.cs.meta │ │ │ ├── ChatTranslation.cs │ │ │ ├── ChatTranslation.cs.meta │ │ │ ├── Components.meta │ │ │ └── Components │ │ │ │ ├── StringComponent.cs │ │ │ │ ├── StringComponent.cs.meta │ │ │ │ ├── TranslateComponent.cs │ │ │ │ └── TranslateComponent.cs.meta │ │ ├── Entity.meta │ │ ├── Entity │ │ │ ├── Entity.cs │ │ │ ├── Entity.cs.meta │ │ │ ├── EntityLibrary.cs │ │ │ ├── EntityLibrary.cs.meta │ │ │ ├── EntityManager.cs │ │ │ ├── EntityManager.cs.meta │ │ │ ├── LivingEntity.cs │ │ │ ├── LivingEntity.cs.meta │ │ │ ├── Mob.cs │ │ │ ├── Mob.cs.meta │ │ │ ├── Mob.meta │ │ │ ├── Mob │ │ │ │ ├── EntityCow.cs │ │ │ │ ├── EntityCow.cs.meta │ │ │ │ ├── EntityCreeper.cs │ │ │ │ ├── EntityCreeper.cs.meta │ │ │ │ ├── EntityDefaultMob.cs │ │ │ │ ├── EntityDefaultMob.cs.meta │ │ │ │ ├── EntityPig.cs │ │ │ │ └── EntityPig.cs.meta │ │ │ ├── Particle.cs │ │ │ ├── Particle.cs.meta │ │ │ ├── Player.meta │ │ │ └── Player │ │ │ │ ├── EntityPlayer.cs │ │ │ │ ├── EntityPlayer.cs.meta │ │ │ │ ├── PlayerController.cs │ │ │ │ └── PlayerController.cs.meta │ │ ├── GameManager.cs │ │ ├── GameManager.cs.meta │ │ ├── MojangAPI.meta │ │ ├── MojangAPI │ │ │ ├── MojangAPI.cs │ │ │ ├── MojangAPI.cs.meta │ │ │ ├── SerializableJson.meta │ │ │ └── SerializableJson │ │ │ │ ├── AuthenticatePayload.cs │ │ │ │ ├── AuthenticatePayload.cs.meta │ │ │ │ ├── InvalidatePayload.cs │ │ │ │ ├── InvalidatePayload.cs.meta │ │ │ │ ├── JoinServerPayload.cs │ │ │ │ ├── JoinServerPayload.cs.meta │ │ │ │ ├── RefreshPayload.cs │ │ │ │ ├── RefreshPayload.cs.meta │ │ │ │ ├── RefreshResponse.cs │ │ │ │ ├── RefreshResponse.cs.meta │ │ │ │ ├── ServerErrorResponse.cs │ │ │ │ └── ServerErrorResponse.cs.meta │ │ ├── Player.meta │ │ ├── Player │ │ │ ├── Player.cs │ │ │ ├── Player.cs.meta │ │ │ ├── PlayerLibrary.cs │ │ │ └── PlayerLibrary.cs.meta │ │ ├── Protocol.meta │ │ ├── Protocol │ │ │ ├── Crypto.meta │ │ │ ├── Crypto │ │ │ │ ├── AesStream.cs │ │ │ │ ├── AesStream.cs.meta │ │ │ │ ├── CryptoHandler.cs │ │ │ │ └── CryptoHandler.cs.meta │ │ │ ├── NetworkClient.cs │ │ │ ├── NetworkClient.cs.meta │ │ │ ├── Packet.cs │ │ │ ├── Packet.cs.meta │ │ │ ├── PacketData.cs │ │ │ ├── PacketData.cs.meta │ │ │ ├── PacketHelper.cs │ │ │ ├── PacketHelper.cs.meta │ │ │ ├── PacketReader.cs │ │ │ ├── PacketReader.cs.meta │ │ │ ├── PacketWriter.cs │ │ │ ├── PacketWriter.cs.meta │ │ │ ├── Packets.meta │ │ │ ├── Packets │ │ │ │ ├── Clientbound.meta │ │ │ │ ├── Clientbound │ │ │ │ │ ├── ChatMessagePacket.cs │ │ │ │ │ ├── ChatMessagePacket.cs.meta │ │ │ │ │ ├── ChunkDataPacket.cs │ │ │ │ │ ├── ChunkDataPacket.cs.meta │ │ │ │ │ ├── ClientKeepAlivePacket.cs │ │ │ │ │ ├── ClientKeepAlivePacket.cs.meta │ │ │ │ │ ├── ClientPlayerPositionAndLookPacket.cs │ │ │ │ │ ├── ClientPlayerPositionAndLookPacket.cs.meta │ │ │ │ │ ├── DestroyEntitiesPacket.cs │ │ │ │ │ ├── DestroyEntitiesPacket.cs.meta │ │ │ │ │ ├── DisconnectPacket.cs │ │ │ │ │ ├── DisconnectPacket.cs.meta │ │ │ │ │ ├── EncryptionRequestPacket.cs │ │ │ │ │ ├── EncryptionRequestPacket.cs.meta │ │ │ │ │ ├── EntityHeadLookPacket.cs │ │ │ │ │ ├── EntityHeadLookPacket.cs.meta │ │ │ │ │ ├── EntityLookAndRelativeMovePacket.cs │ │ │ │ │ ├── EntityLookAndRelativeMovePacket.cs.meta │ │ │ │ │ ├── EntityLookPacket.cs │ │ │ │ │ ├── EntityLookPacket.cs.meta │ │ │ │ │ ├── EntityMetadataPacket.cs │ │ │ │ │ ├── EntityMetadataPacket.cs.meta │ │ │ │ │ ├── EntityRelativeMovePacket.cs │ │ │ │ │ ├── EntityRelativeMovePacket.cs.meta │ │ │ │ │ ├── EntityTeleportPacket.cs │ │ │ │ │ ├── EntityTeleportPacket.cs.meta │ │ │ │ │ ├── JoinGamePacket.cs │ │ │ │ │ ├── JoinGamePacket.cs.meta │ │ │ │ │ ├── LoginSuccessPacket.cs │ │ │ │ │ ├── LoginSuccessPacket.cs.meta │ │ │ │ │ ├── PlayerInfoPacket.cs │ │ │ │ │ ├── PlayerInfoPacket.cs.meta │ │ │ │ │ ├── ResponsePacket.cs │ │ │ │ │ ├── ResponsePacket.cs.meta │ │ │ │ │ ├── SpawnMobPacket.cs │ │ │ │ │ ├── SpawnMobPacket.cs.meta │ │ │ │ │ ├── SpawnPlayerPacket.cs │ │ │ │ │ ├── SpawnPlayerPacket.cs.meta │ │ │ │ │ ├── UnloadChunkPacket.cs │ │ │ │ │ └── UnloadChunkPacket.cs.meta │ │ │ │ ├── GenericPacket.cs │ │ │ │ ├── GenericPacket.cs.meta │ │ │ │ ├── PongPacket.cs │ │ │ │ ├── PongPacket.cs.meta │ │ │ │ ├── Serverbound.meta │ │ │ │ └── Serverbound │ │ │ │ │ ├── ChatMessagePacket.cs │ │ │ │ │ ├── ChatMessagePacket.cs.meta │ │ │ │ │ ├── EncryptionResponsePacket.cs │ │ │ │ │ ├── EncryptionResponsePacket.cs.meta │ │ │ │ │ ├── HandshakePacket.cs │ │ │ │ │ ├── HandshakePacket.cs.meta │ │ │ │ │ ├── LoginStartPacket.cs │ │ │ │ │ ├── LoginStartPacket.cs.meta │ │ │ │ │ ├── RequestPacket.cs │ │ │ │ │ ├── RequestPacket.cs.meta │ │ │ │ │ ├── ServerKeepAlivePacket.cs │ │ │ │ │ ├── ServerKeepAlivePacket.cs.meta │ │ │ │ │ ├── ServerPlayerPacket.cs │ │ │ │ │ ├── ServerPlayerPacket.cs.meta │ │ │ │ │ ├── ServerPlayerPositionAndLookPacket.cs │ │ │ │ │ ├── ServerPlayerPositionAndLookPacket.cs.meta │ │ │ │ │ ├── TeleportConfirmPacket.cs │ │ │ │ │ └── TeleportConfirmPacket.cs.meta │ │ │ ├── SlotData.cs │ │ │ ├── SlotData.cs.meta │ │ │ ├── VarInt.cs │ │ │ └── VarInt.cs.meta │ │ ├── Scenes.meta │ │ ├── Scenes │ │ │ ├── Game.meta │ │ │ ├── Game │ │ │ │ ├── DestroyOnStart.cs │ │ │ │ ├── DestroyOnStart.cs.meta │ │ │ │ ├── ReferenceLinker.cs │ │ │ │ └── ReferenceLinker.cs.meta │ │ │ ├── Loading Screen.meta │ │ │ ├── Loading Screen │ │ │ │ ├── LoadingScreenController.cs │ │ │ │ └── LoadingScreenController.cs.meta │ │ │ ├── TestScene.meta │ │ │ └── TestScene │ │ │ │ ├── SimpleMobLook.cs │ │ │ │ └── SimpleMobLook.cs.meta │ │ ├── Terrain.meta │ │ ├── Terrain │ │ │ ├── Biome.cs │ │ │ ├── Biome.cs.meta │ │ │ ├── Block.meta │ │ │ ├── Block │ │ │ │ ├── BlockState.cs │ │ │ │ ├── BlockState.cs.meta │ │ │ │ ├── BlockType.cs │ │ │ │ └── BlockType.cs.meta │ │ │ ├── BlockPos.cs │ │ │ ├── BlockPos.cs.meta │ │ │ ├── Chunk.cs │ │ │ ├── Chunk.cs.meta │ │ │ ├── ChunkColumnPos.cs │ │ │ ├── ChunkColumnPos.cs.meta │ │ │ ├── ChunkRenderer.cs │ │ │ ├── ChunkRenderer.cs.meta │ │ │ ├── ChunkSectionPos.cs │ │ │ ├── ChunkSectionPos.cs.meta │ │ │ ├── DirectChunkPalette.cs │ │ │ ├── DirectChunkPalette.cs.meta │ │ │ ├── IChunkPalette.cs │ │ │ ├── IChunkPalette.cs.meta │ │ │ ├── IndirectChunkPalette.cs │ │ │ ├── IndirectChunkPalette.cs.meta │ │ │ ├── PhysicalChunk.cs │ │ │ ├── PhysicalChunk.cs.meta │ │ │ ├── PhysicalChunkSection.cs │ │ │ ├── PhysicalChunkSection.cs.meta │ │ │ ├── World.cs │ │ │ └── World.cs.meta │ │ ├── UI.meta │ │ ├── UI │ │ │ ├── Chat.cs │ │ │ ├── Chat.cs.meta │ │ │ ├── DebugCanvas.cs │ │ │ ├── DebugCanvas.cs.meta │ │ │ ├── MainMenuController.cs │ │ │ ├── MainMenuController.cs.meta │ │ │ ├── PlayerEntry.cs │ │ │ ├── PlayerEntry.cs.meta │ │ │ ├── PlayerList.cs │ │ │ └── PlayerList.cs.meta │ │ ├── Utility.cs │ │ └── Utility.cs.meta │ │ ├── Textures.meta │ │ └── Textures │ │ ├── Pixel.meta │ │ ├── Pixel │ │ ├── Entity.meta │ │ ├── Entity │ │ │ ├── Cow.psd │ │ │ ├── Cow.psd.meta │ │ │ ├── Creeper.psd │ │ │ ├── Creeper.psd.meta │ │ │ ├── Materials.meta │ │ │ ├── Materials │ │ │ │ ├── Cow.mat │ │ │ │ ├── Cow.mat.meta │ │ │ │ ├── Creeper.mat │ │ │ │ ├── Creeper.mat.meta │ │ │ │ ├── Pig.mat │ │ │ │ └── Pig.mat.meta │ │ │ ├── Pig.psd │ │ │ ├── Pig.psd.meta │ │ │ ├── Player.meta │ │ │ └── Player │ │ │ │ ├── Materials.meta │ │ │ │ ├── Materials │ │ │ │ ├── Player.mat │ │ │ │ └── Player.mat.meta │ │ │ │ ├── Skin Template.png │ │ │ │ ├── Skin Template.png.meta │ │ │ │ ├── Xalili.png │ │ │ │ └── Xalili.png.meta │ │ ├── PixelTextureImporter.preset │ │ └── PixelTextureImporter.preset.meta │ │ ├── UI.meta │ │ └── UI │ │ ├── checkmark.png │ │ ├── checkmark.png.meta │ │ ├── cross.png │ │ ├── cross.png.meta │ │ ├── refreshing.png │ │ └── refreshing.png.meta ├── Packages │ └── manifest.json ├── ProjectSettings │ ├── AudioManager.asset │ ├── ClusterInputManager.asset │ ├── DynamicsManager.asset │ ├── EditorBuildSettings.asset │ ├── EditorSettings.asset │ ├── GraphicsSettings.asset │ ├── InputManager.asset │ ├── NavMeshAreas.asset │ ├── NetworkManager.asset │ ├── Physics2DSettings.asset │ ├── PresetManager.asset │ ├── ProjectSettings.asset │ ├── ProjectVersion.txt │ ├── QualitySettings.asset │ ├── TagManager.asset │ ├── TimeManager.asset │ ├── UnityConnectSettings.asset │ ├── VFXManager.asset │ └── XRSettings.asset └── app.config ├── README.md └── THIRDPARTYNOTICES.md /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Collapse Unity-generated files on GitHub 5 | *.asset linguist-generated 6 | *.mat linguist-generated 7 | *.meta linguist-generated 8 | *.prefab linguist-generated 9 | *.unity linguist-generated 10 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Hayden Andreyka 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /Minecraft Client/.gitignore: -------------------------------------------------------------------------------- 1 | # This .gitignore file should be placed at the root of your Unity project directory 2 | # 3 | # Get latest from https://github.com/github/gitignore/blob/master/Unity.gitignore 4 | # 5 | /[Ll]ibrary/ 6 | /[Tt]emp/ 7 | /[Oo]bj/ 8 | /[Bb]uild/ 9 | /[Bb]uilds/ 10 | /[Ll]ogs/ 11 | /[Mm]emoryCaptures/ 12 | 13 | # Never ignore Asset meta data 14 | !/[Aa]ssets/**/*.meta 15 | 16 | # Uncomment this line if you wish to ignore the asset store tools plugin 17 | # /[Aa]ssets/AssetStoreTools* 18 | 19 | # Autogenerated Jetbrains Rider plugin 20 | [Aa]ssets/Plugins/Editor/JetBrains* 21 | 22 | # Visual Studio cache directory 23 | .vs/ 24 | 25 | # Gradle cache directory 26 | .gradle/ 27 | 28 | # Autogenerated VS/MD/Consulo solution and project files 29 | ExportedObj/ 30 | .consulo/ 31 | *.csproj 32 | *.unityproj 33 | *.sln 34 | *.suo 35 | *.tmp 36 | *.user 37 | *.userprefs 38 | *.pidb 39 | *.booproj 40 | *.svd 41 | *.pdb 42 | *.mdb 43 | *.opendb 44 | *.VC.db 45 | 46 | # Unity3D generated meta files 47 | *.pidb.meta 48 | *.pdb.meta 49 | *.mdb.meta 50 | 51 | # Unity3D generated file on crash reports 52 | sysinfo.txt 53 | 54 | # Builds 55 | *.apk 56 | *.unitypackage 57 | 58 | # Crashlytics generated file 59 | crashlytics-build.properties 60 | 61 | # Blender files 62 | *.blend[0-9] 63 | *.blend[0-9].meta -------------------------------------------------------------------------------- /Minecraft Client/Assets/References.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cd7e5828565920748abcd92d91f44285 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/References/CSharp-easy-RSA-PEM.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Technoguyfication/Minecraft-Unity3D/edf3ca819f379e6ef709ec29c78deb14d564dea4/Minecraft Client/Assets/References/CSharp-easy-RSA-PEM.dll -------------------------------------------------------------------------------- /Minecraft Client/Assets/References/CSharp-easy-RSA-PEM.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 39425fcf9be96694b815c6610dfe3b30 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | platformData: 13 | - first: 14 | Any: 15 | second: 16 | enabled: 1 17 | settings: {} 18 | - first: 19 | Editor: Editor 20 | second: 21 | enabled: 0 22 | settings: 23 | DefaultValueInitialized: true 24 | - first: 25 | Windows Store Apps: WindowsStoreApps 26 | second: 27 | enabled: 0 28 | settings: 29 | CPU: AnyCPU 30 | userData: 31 | assetBundleName: 32 | assetBundleVariant: 33 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/References/Ionic.Zlib.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Technoguyfication/Minecraft-Unity3D/edf3ca819f379e6ef709ec29c78deb14d564dea4/Minecraft Client/Assets/References/Ionic.Zlib.dll -------------------------------------------------------------------------------- /Minecraft Client/Assets/References/Ionic.Zlib.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f9fb6d050ab629249ba2a1cbd32fee51 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | isPreloaded: 0 9 | isOverridable: 0 10 | platformData: 11 | - first: 12 | Any: 13 | second: 14 | enabled: 1 15 | settings: {} 16 | - first: 17 | Editor: Editor 18 | second: 19 | enabled: 0 20 | settings: 21 | DefaultValueInitialized: true 22 | - first: 23 | Windows Store Apps: WindowsStoreApps 24 | second: 25 | enabled: 0 26 | settings: 27 | CPU: AnyCPU 28 | userData: 29 | assetBundleName: 30 | assetBundleVariant: 31 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/References/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Technoguyfication/Minecraft-Unity3D/edf3ca819f379e6ef709ec29c78deb14d564dea4/Minecraft Client/Assets/References/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /Minecraft Client/Assets/References/Newtonsoft.Json.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3df26a8f3a62e0b4b9ea8162c9d77b38 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | Any: 16 | second: 17 | enabled: 1 18 | settings: {} 19 | - first: 20 | Editor: Editor 21 | second: 22 | enabled: 0 23 | settings: 24 | DefaultValueInitialized: true 25 | - first: 26 | Windows Store Apps: WindowsStoreApps 27 | second: 28 | enabled: 0 29 | settings: 30 | CPU: AnyCPU 31 | userData: 32 | assetBundleName: 33 | assetBundleVariant: 34 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/References/Newtonsoft.Json.xml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 302cbef169e60b146b1b6144471817a3 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/TextMesh Pro.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 420ce416f0669f7409f08f7b210960bb 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/TextMesh Pro/.gitattributes: -------------------------------------------------------------------------------- 1 | ** linguist-vendored 2 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/TextMesh Pro/Documentation.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8546f9f87f5a6ad469329a6eede9e464 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Technoguyfication/Minecraft-Unity3D/edf3ca819f379e6ef709ec29c78deb14d564dea4/Minecraft Client/Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf -------------------------------------------------------------------------------- /Minecraft Client/Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5f6b264cc394134458466b4101d771a4 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/TextMesh Pro/Fonts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bfe0ade8d65a9b64ebf20a755dd772e8 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/TextMesh Pro/Fonts/LiberationSans - OFL.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8b7c41f39f74a1f478b844286ed203cf 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/TextMesh Pro/Fonts/LiberationSans.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Technoguyfication/Minecraft-Unity3D/edf3ca819f379e6ef709ec29c78deb14d564dea4/Minecraft Client/Assets/TextMesh Pro/Fonts/LiberationSans.ttf -------------------------------------------------------------------------------- /Minecraft Client/Assets/TextMesh Pro/Fonts/LiberationSans.ttf.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c354991c332378e499a128cb5a257d9a 3 | TrueTypeFontImporter: 4 | externalObjects: {} 5 | serializedVersion: 4 6 | fontSize: 16 7 | forceTextureCase: -2 8 | characterSpacing: 0 9 | characterPadding: 1 10 | includeFontData: 1 11 | fontName: Liberation Sans 12 | fontNames: 13 | - Liberation Sans 14 | fallbackFontReferences: 15 | - {fileID: 12800000, guid: e3265ab4bf004d28a9537516768c1c75, type: 3} 16 | customCharacters: 17 | fontRenderingMode: 0 18 | ascentCalculationMode: 1 19 | useLegacyBoundsCalculation: 0 20 | shouldRoundAdvanceValue: 1 21 | userData: 22 | assetBundleName: 23 | assetBundleVariant: 24 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/TextMesh Pro/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a4fa450cb1ebe854bba547a7ddf0d2c4 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/TextMesh Pro/Resources/Fonts & Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 449441d779ba4984797b3c29bdf0fa13 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Drop Shadow.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ffaddae6f6dff3e4db15d93c0f809441 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5ceb097adb7d90e4fa365b654185481a 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Outline.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2412346fc9dd9f248bf8adabd49e293e 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 85e6fdcb20e227b4a968af64ad9a394f 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/TextMesh Pro/Resources/Fonts & Materials/Minecraft Regular SDF.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: aa5c9da56c3d5a0429db3019bb24bf3b 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/TextMesh Pro/Resources/LineBreaking Following Characters.txt: -------------------------------------------------------------------------------- 1 | )]}〕〉》」』】〙〗〟’”⦆»ヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻‐゠–〜?!‼⁇⁈⁉・、%,.:;。!?]):;=}¢°"†‡℃〆%,. -------------------------------------------------------------------------------- /Minecraft Client/Assets/TextMesh Pro/Resources/LineBreaking Following Characters.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 089d8b85fb5eed044b8bbcd5d48a1ad4 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/TextMesh Pro/Resources/LineBreaking Leading Characters.txt: -------------------------------------------------------------------------------- 1 | ([{〔〈《「『【〘〖〝‘“⦅«$—…‥〳〴〵\[({£¥"々〇〉》」$⦆¥₩ # -------------------------------------------------------------------------------- /Minecraft Client/Assets/TextMesh Pro/Resources/LineBreaking Leading Characters.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 84dcaf338def0204cbb290b2d6d01b23 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/TextMesh Pro/Resources/Shaders.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9a79dc8dc691fe4499fd58640590f0fe 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/TextMesh Pro/Resources/Shaders/TMP_Bitmap-Custom-Atlas.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: be914f4eb2d1acb408159cbf9bc01115 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/TextMesh Pro/Resources/Shaders/TMP_Bitmap-Mobile.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 06a8a52c89bc2ae4c98e27f3c3759362 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/TextMesh Pro/Resources/Shaders/TMP_Bitmap.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8178d623330649a4c8ebe2c51fb3b966 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/TextMesh Pro/Resources/Shaders/TMP_SDF Overlay.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1fc9f34cb2e1d1549a0904854cf4dd1b 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/TextMesh Pro/Resources/Shaders/TMP_SDF-Mobile Masking.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 74830263fe5c8ac4f9c220454e50f011 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/TextMesh Pro/Resources/Shaders/TMP_SDF-Mobile Overlay.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4b537c6848b41cd43840e8c9e541078b 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/TextMesh Pro/Resources/Shaders/TMP_SDF-Mobile.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9a5792db7c6f2a14f92bcfb1f8b4349a 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/TextMesh Pro/Resources/Shaders/TMP_SDF-Surface-Mobile.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0e804166adcd5ea45a6d472c530cb5f8 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/TextMesh Pro/Resources/Shaders/TMP_SDF-Surface.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d4afa011ab5b8b640af67f4656b48996 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/TextMesh Pro/Resources/Shaders/TMP_SDF.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 95e8bdedf5882c040a6fc75a46e75fca 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/TextMesh Pro/Resources/Shaders/TMP_Sprite.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 10aa1fefa66a71c49951acd31119aac7 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/TextMesh Pro/Resources/Shaders/TMPro.cginc: -------------------------------------------------------------------------------- 1 | float2 UnpackUV(float uv) 2 | { 3 | float2 output; 4 | output.x = floor(uv / 4096); 5 | output.y = uv - 4096 * output.x; 6 | 7 | return output * 0.001953125; 8 | } 9 | 10 | fixed4 GetColor(half d, fixed4 faceColor, fixed4 outlineColor, half outline, half softness) 11 | { 12 | half faceAlpha = 1-saturate((d - outline * 0.5 + softness * 0.5) / (1.0 + softness)); 13 | half outlineAlpha = saturate((d + outline * 0.5)) * sqrt(min(1.0, outline)); 14 | 15 | faceColor.rgb *= faceColor.a; 16 | outlineColor.rgb *= outlineColor.a; 17 | 18 | faceColor = lerp(faceColor, outlineColor, outlineAlpha); 19 | 20 | faceColor *= faceAlpha; 21 | 22 | return faceColor; 23 | } 24 | 25 | float3 GetSurfaceNormal(float4 h, float bias) 26 | { 27 | bool raisedBevel = step(1, fmod(_ShaderFlags, 2)); 28 | 29 | h += bias+_BevelOffset; 30 | 31 | float bevelWidth = max(.01, _OutlineWidth+_BevelWidth); 32 | 33 | // Track outline 34 | h -= .5; 35 | h /= bevelWidth; 36 | h = saturate(h+.5); 37 | 38 | if(raisedBevel) h = 1 - abs(h*2.0 - 1.0); 39 | h = lerp(h, sin(h*3.141592/2.0), _BevelRoundness); 40 | h = min(h, 1.0-_BevelClamp); 41 | h *= _Bevel * bevelWidth * _GradientScale * -2.0; 42 | 43 | float3 va = normalize(float3(1.0, 0.0, h.y - h.x)); 44 | float3 vb = normalize(float3(0.0, -1.0, h.w - h.z)); 45 | 46 | return cross(va, vb); 47 | } 48 | 49 | float3 GetSurfaceNormal(float2 uv, float bias, float3 delta) 50 | { 51 | // Read "height field" 52 | float4 h = {tex2D(_MainTex, uv - delta.xz).a, 53 | tex2D(_MainTex, uv + delta.xz).a, 54 | tex2D(_MainTex, uv - delta.zy).a, 55 | tex2D(_MainTex, uv + delta.zy).a}; 56 | 57 | return GetSurfaceNormal(h, bias); 58 | } 59 | 60 | float3 GetSpecular(float3 n, float3 l) 61 | { 62 | float spec = pow(max(0.0, dot(n, l)), _Reflectivity); 63 | return _SpecularColor.rgb * spec * _SpecularPower; 64 | } 65 | 66 | float4 GetGlowColor(float d, float scale) 67 | { 68 | float glow = d - (_GlowOffset*_ScaleRatioB) * 0.5 * scale; 69 | float t = lerp(_GlowInner, (_GlowOuter * _ScaleRatioB), step(0.0, glow)) * 0.5 * scale; 70 | glow = saturate(abs(glow/(1.0 + t))); 71 | glow = 1.0-pow(glow, _GlowPower); 72 | glow *= sqrt(min(1.0, t)); // Fade off glow thinner than 1 screen pixel 73 | return float4(_GlowColor.rgb, saturate(_GlowColor.a * glow * 2)); 74 | } 75 | 76 | float4 BlendARGB(float4 overlying, float4 underlying) 77 | { 78 | overlying.rgb *= overlying.a; 79 | underlying.rgb *= underlying.a; 80 | float3 blended = overlying.rgb + ((1-overlying.a)*underlying.rgb); 81 | float alpha = underlying.a + (1-underlying.a)*overlying.a; 82 | return float4(blended, alpha); 83 | } 84 | 85 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/TextMesh Pro/Resources/Shaders/TMPro.cginc.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b632c74f438f7e142be2545fc6f38fe9 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/TextMesh Pro/Resources/Shaders/TMPro_Properties.cginc.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eebb41b7e59151b4cab46069a80a4818 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/TextMesh Pro/Resources/Shaders/TMPro_Surface.cginc.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d0acf2d19dd63e4408d5a1f9835d2086 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/TextMesh Pro/Resources/Sprite Assets.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 880606c660724794ca3d03873e93d47c 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/TextMesh Pro/Resources/Sprite Assets/EmojiOne.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1021bc6490c73924ab67ebd679f9b374 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/TextMesh Pro/Resources/Style Sheets.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5ccc7ac8958a6e94e83d54a4b83e4116 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/TextMesh Pro/Resources/Style Sheets/Default Style Sheet.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 54b59a9ee3d17234aa7a3f5162a22227 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/TextMesh Pro/Resources/TMP Settings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 2705215ac5b84b70bacc50632be6e391, type: 3} 13 | m_Name: TMP Settings 14 | m_EditorClassIdentifier: 15 | m_enableWordWrapping: 1 16 | m_enableKerning: 1 17 | m_enableExtraPadding: 0 18 | m_enableTintAllSprites: 0 19 | m_enableParseEscapeCharacters: 1 20 | m_EnableRaycastTarget: 1 21 | m_GetFontFeaturesAtRuntime: 1 22 | m_missingGlyphCharacter: 0 23 | m_warningsDisabled: 1 24 | m_defaultFontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} 25 | m_defaultFontAssetPath: Fonts & Materials/ 26 | m_defaultFontSize: 36 27 | m_defaultAutoSizeMinRatio: 0.5 28 | m_defaultAutoSizeMaxRatio: 2 29 | m_defaultTextMeshProTextContainerSize: {x: 20, y: 5} 30 | m_defaultTextMeshProUITextContainerSize: {x: 200, y: 50} 31 | m_autoSizeTextContainer: 0 32 | m_fallbackFontAssets: [] 33 | m_matchMaterialPreset: 1 34 | m_defaultSpriteAsset: {fileID: 11400000, guid: c41005c129ba4d66911b75229fd70b45, 35 | type: 2} 36 | m_defaultSpriteAssetPath: Sprite Assets/ 37 | m_defaultColorGradientPresetsPath: Color Gradient Presets/ 38 | m_enableEmojiSupport: 1 39 | m_defaultStyleSheet: {fileID: 11400000, guid: f952c082cb03451daed3ee968ac6c63e, 40 | type: 2} 41 | m_leadingCharacters: {fileID: 4900000, guid: d82c1b31c7e74239bff1220585707d2b, type: 3} 42 | m_followingCharacters: {fileID: 4900000, guid: fade42e8bc714b018fac513c043d323b, 43 | type: 3} 44 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/TextMesh Pro/Resources/TMP Settings.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: df199d1fec634894faf7efa6e9604761 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/TextMesh Pro/Sprites.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 256cda99e9bb1984fa5be3c282adc5ff 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/TextMesh Pro/Sprites/EmojiOne Attribution.txt: -------------------------------------------------------------------------------- 1 | This sample of beautiful emojis are provided by EmojiOne https://www.emojione.com/ 2 | 3 | Please visit their website to view the complete set of their emojis and review their licensing terms. -------------------------------------------------------------------------------- /Minecraft Client/Assets/TextMesh Pro/Sprites/EmojiOne Attribution.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d6f8eb9290d5628458753b5c3e54b282 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/TextMesh Pro/Sprites/EmojiOne.json.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b62a3c2f20186034bb4ff6f1cca65f6f 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/TextMesh Pro/Sprites/EmojiOne.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Technoguyfication/Minecraft-Unity3D/edf3ca819f379e6ef709ec29c78deb14d564dea4/Minecraft Client/Assets/TextMesh Pro/Sprites/EmojiOne.png -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: aed3dffbdca25324e896e10d8628befa 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Fonts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ccef96278379d9e44a063f1ad236172e 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Fonts/Minecraft Bold.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Technoguyfication/Minecraft-Unity3D/edf3ca819f379e6ef709ec29c78deb14d564dea4/Minecraft Client/Assets/_Project/Fonts/Minecraft Bold.otf -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Fonts/Minecraft Bold.otf.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 581774f35be7d3d45bee782a47460e1d 3 | TrueTypeFontImporter: 4 | externalObjects: {} 5 | serializedVersion: 4 6 | fontSize: 16 7 | forceTextureCase: -2 8 | characterSpacing: 0 9 | characterPadding: 1 10 | includeFontData: 1 11 | fontName: Minecraft 12 | fontNames: 13 | - Minecraft 14 | fallbackFontReferences: 15 | - {fileID: 12800000, guid: 1e69a92297563264f8f01739a1dcbd93, type: 3} 16 | - {fileID: 12800000, guid: 01c13b58c3d15fc408ddef59482b604a, type: 3} 17 | customCharacters: 18 | fontRenderingMode: 0 19 | ascentCalculationMode: 1 20 | useLegacyBoundsCalculation: 0 21 | shouldRoundAdvanceValue: 1 22 | userData: 23 | assetBundleName: 24 | assetBundleVariant: 25 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Fonts/Minecraft BoldItalic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Technoguyfication/Minecraft-Unity3D/edf3ca819f379e6ef709ec29c78deb14d564dea4/Minecraft Client/Assets/_Project/Fonts/Minecraft BoldItalic.otf -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Fonts/Minecraft BoldItalic.otf.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1e69a92297563264f8f01739a1dcbd93 3 | TrueTypeFontImporter: 4 | externalObjects: {} 5 | serializedVersion: 4 6 | fontSize: 16 7 | forceTextureCase: -2 8 | characterSpacing: 0 9 | characterPadding: 1 10 | includeFontData: 1 11 | fontName: Minecraft 12 | fontNames: 13 | - Minecraft 14 | fallbackFontReferences: 15 | - {fileID: 12800000, guid: 01c13b58c3d15fc408ddef59482b604a, type: 3} 16 | customCharacters: 17 | fontRenderingMode: 0 18 | ascentCalculationMode: 1 19 | useLegacyBoundsCalculation: 0 20 | shouldRoundAdvanceValue: 1 21 | userData: 22 | assetBundleName: 23 | assetBundleVariant: 24 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Fonts/Minecraft Italic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Technoguyfication/Minecraft-Unity3D/edf3ca819f379e6ef709ec29c78deb14d564dea4/Minecraft Client/Assets/_Project/Fonts/Minecraft Italic.otf -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Fonts/Minecraft Italic.otf.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 01c13b58c3d15fc408ddef59482b604a 3 | TrueTypeFontImporter: 4 | externalObjects: {} 5 | serializedVersion: 4 6 | fontSize: 16 7 | forceTextureCase: -2 8 | characterSpacing: 0 9 | characterPadding: 1 10 | includeFontData: 1 11 | fontName: Minecraft 12 | fontNames: 13 | - Minecraft 14 | fallbackFontReferences: [] 15 | customCharacters: 16 | fontRenderingMode: 0 17 | ascentCalculationMode: 1 18 | useLegacyBoundsCalculation: 0 19 | shouldRoundAdvanceValue: 1 20 | userData: 21 | assetBundleName: 22 | assetBundleVariant: 23 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Fonts/Minecraft Regular.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Technoguyfication/Minecraft-Unity3D/edf3ca819f379e6ef709ec29c78deb14d564dea4/Minecraft Client/Assets/_Project/Fonts/Minecraft Regular.otf -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Fonts/Minecraft Regular.otf.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b942bb4b81a14d444bb96e662b3797b8 3 | TrueTypeFontImporter: 4 | externalObjects: {} 5 | serializedVersion: 4 6 | fontSize: 16 7 | forceTextureCase: -2 8 | characterSpacing: 0 9 | characterPadding: 1 10 | includeFontData: 1 11 | fontName: Minecraft 12 | fontNames: 13 | - Minecraft 14 | fallbackFontReferences: 15 | - {fileID: 12800000, guid: 1e69a92297563264f8f01739a1dcbd93, type: 3} 16 | - {fileID: 12800000, guid: 581774f35be7d3d45bee782a47460e1d, type: 3} 17 | - {fileID: 12800000, guid: 01c13b58c3d15fc408ddef59482b604a, type: 3} 18 | customCharacters: 19 | fontRenderingMode: 0 20 | ascentCalculationMode: 1 21 | useLegacyBoundsCalculation: 0 22 | shouldRoundAdvanceValue: 1 23 | userData: 24 | assetBundleName: 25 | assetBundleVariant: 26 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Fonts/Minecrafter.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Technoguyfication/Minecraft-Unity3D/edf3ca819f379e6ef709ec29c78deb14d564dea4/Minecraft Client/Assets/_Project/Fonts/Minecrafter.ttf -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Fonts/Minecrafter.ttf.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 750d143775c109c46b66570810d5fe11 3 | TrueTypeFontImporter: 4 | externalObjects: {} 5 | serializedVersion: 4 6 | fontSize: 16 7 | forceTextureCase: -2 8 | characterSpacing: 0 9 | characterPadding: 1 10 | includeFontData: 1 11 | fontName: Minecrafter 12 | fontNames: 13 | - Minecrafter 14 | fallbackFontReferences: [] 15 | customCharacters: 16 | fontRenderingMode: 0 17 | ascentCalculationMode: 1 18 | useLegacyBoundsCalculation: 0 19 | shouldRoundAdvanceValue: 1 20 | userData: 21 | assetBundleName: 22 | assetBundleVariant: 23 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Meshes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 10f87fbf07b11814280002ec394043cd 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Meshes/BlenderImporter.preset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 207f239304cb9d84486008ebed84a68c 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2655988077585873504 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Meshes/Cone.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Technoguyfication/Minecraft-Unity3D/edf3ca819f379e6ef709ec29c78deb14d564dea4/Minecraft Client/Assets/_Project/Meshes/Cone.fbx -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Meshes/Entity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 02b999c9e4168db4d9b6f638d0b1cdbc 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Meshes/Entity/Cow.blend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Technoguyfication/Minecraft-Unity3D/edf3ca819f379e6ef709ec29c78deb14d564dea4/Minecraft Client/Assets/_Project/Meshes/Entity/Cow.blend -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Meshes/Entity/Creeper.blend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Technoguyfication/Minecraft-Unity3D/edf3ca819f379e6ef709ec29c78deb14d564dea4/Minecraft Client/Assets/_Project/Meshes/Entity/Creeper.blend -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Meshes/Entity/Pig.blend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Technoguyfication/Minecraft-Unity3D/edf3ca819f379e6ef709ec29c78deb14d564dea4/Minecraft Client/Assets/_Project/Meshes/Entity/Pig.blend -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Meshes/Entity/Player.blend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Technoguyfication/Minecraft-Unity3D/edf3ca819f379e6ef709ec29c78deb14d564dea4/Minecraft Client/Assets/_Project/Meshes/Entity/Player.blend -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Meshes/PlayerCollider.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Technoguyfication/Minecraft-Unity3D/edf3ca819f379e6ef709ec29c78deb14d564dea4/Minecraft Client/Assets/_Project/Meshes/PlayerCollider.fbx -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Misc.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 578f1eec45641d749906e0e986f186ff 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Misc/Generic.physicMaterial: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!134 &13400000 4 | PhysicMaterial: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_Name: Generic 9 | dynamicFriction: 0 10 | staticFriction: 0 11 | bounciness: 0 12 | frictionCombine: 0 13 | bounceCombine: 0 14 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Misc/Generic.physicMaterial.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cfc40cb768c73bf42be6c0216ec798dd 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 13400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Prefabs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 70b8275d29e49b044b892a913b7925f8 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Prefabs/Entities.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f8e106c4d48bb224ba844d98e1875a15 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Prefabs/Entities/Facing Arrow.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bc86448d68cf3b94e851d318d5752497 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Prefabs/Entities/Mob.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9211a7a35c0d14045bf10e39c2ddc457 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Prefabs/Entities/Mob/Cow.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 39ad4773c32735d48bbd8bc2cc7cc2d8 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Prefabs/Entities/Mob/Creeper.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ec4e6fd0fcf61ff4fbaa8fb9dbef4c08 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Prefabs/Entities/Mob/DefaultMob.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ccbceba490bb3184989291ebeca02c4c 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Prefabs/Entities/Mob/Pig.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f39a986edda0959459ca0e7424d41190 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Prefabs/Entities/Player.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2d4be1ad25c8c184fb560edea678ed21 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Prefabs/Entities/Player/Player Controller.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ffb5e1644d8734445a6a2cb825bde442 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Prefabs/Entities/Player/Player.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9491017758607d74c814f7b89d3a3829 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 100100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Prefabs/Terrain.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e4a3dd198b990ef428c3def2e95c6d58 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Prefabs/Terrain/Chunk Renderer.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1001 &100100000 4 | Prefab: 5 | m_ObjectHideFlags: 1 6 | serializedVersion: 2 7 | m_Modification: 8 | m_TransformParent: {fileID: 0} 9 | m_Modifications: [] 10 | m_RemovedComponents: [] 11 | m_SourcePrefab: {fileID: 0} 12 | m_RootGameObject: {fileID: 1373419148536406} 13 | m_IsPrefabAsset: 1 14 | --- !u!1 &1373419148536406 15 | GameObject: 16 | m_ObjectHideFlags: 0 17 | m_CorrespondingSourceObject: {fileID: 0} 18 | m_PrefabInternal: {fileID: 100100000} 19 | serializedVersion: 6 20 | m_Component: 21 | - component: {fileID: 4135744078864134} 22 | - component: {fileID: 114391013277877292} 23 | m_Layer: 0 24 | m_Name: Chunk Renderer 25 | m_TagString: Chunk Renderer 26 | m_Icon: {fileID: 0} 27 | m_NavMeshLayer: 0 28 | m_StaticEditorFlags: 0 29 | m_IsActive: 1 30 | --- !u!4 &4135744078864134 31 | Transform: 32 | m_ObjectHideFlags: 1 33 | m_CorrespondingSourceObject: {fileID: 0} 34 | m_PrefabInternal: {fileID: 100100000} 35 | m_GameObject: {fileID: 1373419148536406} 36 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 37 | m_LocalPosition: {x: 1.0657454, y: 1.3214766, z: 2.63594} 38 | m_LocalScale: {x: 1, y: 1, z: 1} 39 | m_Children: [] 40 | m_Father: {fileID: 0} 41 | m_RootOrder: 0 42 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 43 | --- !u!114 &114391013277877292 44 | MonoBehaviour: 45 | m_ObjectHideFlags: 1 46 | m_CorrespondingSourceObject: {fileID: 0} 47 | m_PrefabInternal: {fileID: 100100000} 48 | m_GameObject: {fileID: 1373419148536406} 49 | m_Enabled: 1 50 | m_EditorHideFlags: 0 51 | m_Script: {fileID: 11500000, guid: 518e96a225bec534da1e19efc1a2f38c, type: 3} 52 | m_Name: 53 | m_EditorClassIdentifier: 54 | ChunkMeshPrefab: {fileID: 1229087290721328, guid: 53e8788c50ab80540b69554a355f288f, 55 | type: 2} 56 | DebugCanvas: {fileID: 0} 57 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Prefabs/Terrain/Chunk Renderer.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3ed795cc8aaa4484da1c4aa8a115fc40 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 100100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Prefabs/Terrain/PhysicalChunkColumn.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &1229087290721328 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | serializedVersion: 6 10 | m_Component: 11 | - component: {fileID: 4425343747927496} 12 | - component: {fileID: 114251133323878112} 13 | m_Layer: 0 14 | m_Name: PhysicalChunkColumn 15 | m_TagString: Untagged 16 | m_Icon: {fileID: 0} 17 | m_NavMeshLayer: 0 18 | m_StaticEditorFlags: 0 19 | m_IsActive: 1 20 | --- !u!4 &4425343747927496 21 | Transform: 22 | m_ObjectHideFlags: 0 23 | m_CorrespondingSourceObject: {fileID: 0} 24 | m_PrefabInstance: {fileID: 0} 25 | m_PrefabAsset: {fileID: 0} 26 | m_GameObject: {fileID: 1229087290721328} 27 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 28 | m_LocalPosition: {x: 0, y: 0, z: 0} 29 | m_LocalScale: {x: 1, y: 1, z: 1} 30 | m_Children: [] 31 | m_Father: {fileID: 0} 32 | m_RootOrder: 0 33 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 34 | --- !u!114 &114251133323878112 35 | MonoBehaviour: 36 | m_ObjectHideFlags: 0 37 | m_CorrespondingSourceObject: {fileID: 0} 38 | m_PrefabInstance: {fileID: 0} 39 | m_PrefabAsset: {fileID: 0} 40 | m_GameObject: {fileID: 1229087290721328} 41 | m_Enabled: 1 42 | m_EditorHideFlags: 0 43 | m_Script: {fileID: 11500000, guid: 3b8e158dfed88684b88b08138080635c, type: 3} 44 | m_Name: 45 | m_EditorClassIdentifier: 46 | SectionPrefab: {fileID: 8829864419214592564, guid: 0e4a8e33b34b6aa4b8995e881287e948, 47 | type: 3} 48 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Prefabs/Terrain/PhysicalChunkColumn.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 53e8788c50ab80540b69554a355f288f 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 100100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Prefabs/Terrain/PhysicalChunkSection.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0e4a8e33b34b6aa4b8995e881287e948 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Prefabs/UI.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3d8d6de881ff95244acf3146efe23f07 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Prefabs/UI/Player Entry.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d610fd759a537ab43806c0ff5b3b2396 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scenes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4f704ae4b4f98ae41a0bce26658850c1 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scenes/Game.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b087d8dad5a9fdb4cb4d7bb3e9b2f7ed 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scenes/LoadingScreen.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cc3e96c45b7b81c49877a4e9e4948039 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scenes/MainMenu.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c087114f37c965140928b9d2f0dc7019 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scenes/TestScene.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d2f42942bb89e994196d981d2a43295d 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3bf7cadaefc1f4b45b1b565b790f8b9d 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Chat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 801713296c33afd4a921f55d39bf1899 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Chat/ChatClickEvent.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | #pragma warning disable CS0649 // field never assigned to 8 | 9 | [Serializable] 10 | public class ChatClickEvent 11 | { 12 | public string open_url; 13 | public string run_command; 14 | public string suggest_command; 15 | public int change_page; 16 | } 17 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Chat/ChatClickEvent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c23bc679bf82f2244ba5f20250406bf7 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Chat/ChatComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fcc7e81dbb3f17d4a929815bd22482da 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Chat/ChatHistoryManager.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using TMPro; 4 | using UnityEngine; 5 | 6 | public class ChatHistoryManager : MonoBehaviour 7 | { 8 | private static TMP_Text _chatText; 9 | private static readonly Queue _messages = new Queue(); 10 | public const int MaxMessages = 8; 11 | public void Awake() 12 | { 13 | _chatText = GetComponent(); 14 | ClearHistory(); 15 | } 16 | 17 | /// 18 | /// Use this method to add to the chat history window, text can be in rich text format. 19 | /// 20 | /// The message to add, can be rich text. 21 | public static void AddMessage(string message) 22 | { 23 | _messages.Enqueue(message); 24 | if (_messages.Count > MaxMessages) 25 | _messages.Dequeue(); 26 | RewriteToUI(); 27 | } 28 | 29 | /// 30 | /// Clears the chat history, and adds "Chat History Ready" 31 | /// 32 | public static void ClearHistory() 33 | { 34 | _messages.Clear(); 35 | AddMessage("Chat History Ready"); 36 | RewriteToUI(); 37 | } 38 | 39 | private static void RewriteToUI() 40 | { 41 | _chatText.text = ""; 42 | foreach (string entry in _messages) 43 | { 44 | _chatText.text += (_chatText.text.Length != 0 ? "\n" : ""); 45 | _chatText.text += entry; 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Chat/ChatHistoryManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 13ec0f539b2fffa4391a3ad804ae84ec 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Chat/ChatMessage.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using Newtonsoft.Json; 4 | using UnityEngine; 5 | 6 | /// 7 | /// Represents a chat message from the server. Uses for formatting and styling 8 | /// 9 | public class ChatMessage 10 | { 11 | /// 12 | /// Gets the message with no styling information 13 | /// 14 | public string PlaintextMessage { get; } 15 | 16 | /// 17 | /// For use in TextMeshPro dialogs 18 | /// 19 | public string HtmlFormattedMessage { get; } 20 | 21 | /// 22 | /// The position of the message on the screen 23 | /// 24 | public Position ChatPosition { get; set; } 25 | 26 | public ChatMessage(ChatMessagePacket pkt) 27 | { 28 | var chatComponent = ChatComponent.FromJson(pkt.Json); 29 | 30 | // use .ToString() for plaintext and components will output text with no formatting 31 | PlaintextMessage = chatComponent.ToString(); 32 | 33 | HtmlFormattedMessage = ChatComponent.GetFormattedString(chatComponent, null); 34 | } 35 | 36 | public enum Position : byte 37 | { 38 | CHAT = 0x00, 39 | SYSTEM_MESSAGE = 0x01, 40 | ABOVE_HOTBAR = 0x02 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Chat/ChatMessage.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 050870486ac84df48a61416626337124 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Chat/ChatTranslation.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | class ChatTranslation 8 | { 9 | private static readonly Dictionary _translationTable = new Dictionary(); 10 | 11 | static ChatTranslation() 12 | { 13 | _translationTable.Add("chat.type.text", "<{0}> {1}"); 14 | _translationTable.Add("gameMode.spectator", "Spectator Mode"); 15 | } 16 | 17 | /// 18 | /// Translates message and adds plaintext insertions 19 | /// 20 | /// 21 | /// 22 | /// 23 | public static string TranslateString(string key, string[] insertions) 24 | { 25 | if (_translationTable.ContainsKey(key)) 26 | { 27 | return string.Format(_translationTable[key], insertions); 28 | } 29 | else 30 | { 31 | // if there are insertions, add them after the raw key name 32 | if (insertions != null && insertions.Length > 0) 33 | return $"{key}: [\"{string.Join("\", \"", insertions)}\"]"; // chat.type.text: "PlayerName", "message here" 34 | else 35 | return $"{key}: []"; 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Chat/ChatTranslation.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 14f0642d7dafd734cad2bdcf516c9bd6 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Chat/Components.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 11517ae91b1722748b0c61753e2809bf 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Chat/Components/StringComponent.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | #pragma warning disable CS0649 // field never assigned to 8 | 9 | [Serializable] 10 | class StringComponent : ChatComponent 11 | { 12 | public string text; 13 | 14 | public override string ToString() 15 | { 16 | return text + base.ToString(); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Chat/Components/StringComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 413b9ed05c5c1d542ba103bafbbbf4a0 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Chat/Components/TranslateComponent.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using Newtonsoft.Json; 7 | 8 | #pragma warning disable CS0649 // field never assigned to 9 | 10 | [Serializable] 11 | class TranslateComponent : ChatComponent 12 | { 13 | public string translate; 14 | 15 | [JsonConverter(typeof(ChatComponentJsonConverter))] 16 | public ChatComponent[] with = new ChatComponent[0]; 17 | 18 | public override string ToString() 19 | { 20 | string translatedString = ChatTranslation.TranslateString(translate, with?.Select((c) => 21 | { 22 | return c.ToString(); 23 | })?.ToArray()); 24 | 25 | return translatedString + base.ToString(); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Chat/Components/TranslateComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6bacf4adf56d5434a93afe8cf7cf2585 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Entity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ac71ff49d6031c241892feaf44178207 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Entity/Entity.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7e81604f067ba2349be257eee771ac3f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Entity/EntityLibrary.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using EntityType = Entity.EntityType; 5 | 6 | public class EntityLibrary : MonoBehaviour 7 | { 8 | public GameObject DefaultEntity; 9 | [Space(10)] 10 | public GameObject Creeper; 11 | public GameObject Cow; 12 | public GameObject Pig; 13 | public GameObject Player; 14 | 15 | // todo: use reflection to generate this as a dictionary dynamically at runtime 16 | public GameObject GetEntityPrefab(EntityType type) 17 | { 18 | switch (type) 19 | { 20 | case EntityType.Creeper: 21 | return Creeper; 22 | case EntityType.Cow: 23 | return Cow; 24 | case EntityType.Pig: 25 | return Pig; 26 | case EntityType.Player: 27 | return Player; 28 | default: 29 | return DefaultEntity; 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Entity/EntityLibrary.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 64fdf463445f02c4baf4586159bba055 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Entity/EntityManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 52be607520f229d4f89ce35fdca134d8 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Entity/LivingEntity.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | /// 6 | /// Defines an entity with a head 7 | /// 8 | public class LivingEntity : Entity 9 | { 10 | public GameObject Head; 11 | 12 | protected readonly float HeadMinX = -89.9f; 13 | protected readonly float HeadMaxX = 89.9f; 14 | 15 | public float HeadPitch 16 | { 17 | get => Pitch; 18 | set 19 | { 20 | SetHeadAndBodyAngles(); 21 | Pitch = value; 22 | } 23 | } 24 | 25 | public float HeadYaw 26 | { 27 | get => headYaw; 28 | set 29 | { 30 | SetHeadAndBodyAngles(); 31 | headYaw = value; 32 | } 33 | } 34 | 35 | new public float Yaw 36 | { 37 | get => base.Yaw; 38 | set 39 | { 40 | SetHeadAndBodyAngles(); 41 | base.Yaw = value; 42 | } 43 | } 44 | 45 | public GameObject Body; 46 | private float headYaw; 47 | 48 | /// 49 | /// Sets the angles of the head and body of the entity 50 | /// 51 | private void SetHeadAndBodyAngles() 52 | { 53 | // subtract yaw from head yaw because head is parented to body 54 | Head.transform.localEulerAngles = new Vector3(HeadPitch, 0, HeadYaw - Yaw); 55 | Body.transform.localEulerAngles = new Vector3(0, Yaw, 0); 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Entity/LivingEntity.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e2d8b73b6f5d035459037a0ceb91382f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Entity/Mob.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | /// 6 | /// Base class for mobs 7 | /// 8 | public abstract class Mob : LivingEntity 9 | { 10 | 11 | } 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Entity/Mob.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f65e786f5de5c1b4f91c983ec9846728 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Entity/Mob.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4589541988ed11a49af655f1ea67a1f6 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Entity/Mob/EntityCow.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | public class EntityCow : Mob 6 | { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Entity/Mob/EntityCow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5a881773c3ada8247866753b7c431f41 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Entity/Mob/EntityCreeper.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | public class EntityCreeper : Mob 6 | { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Entity/Mob/EntityCreeper.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dbb6b783111d1794eaf8c76b3c43515c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Entity/Mob/EntityDefaultMob.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | public class EntityDefaultMob : Mob 6 | { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Entity/Mob/EntityDefaultMob.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4b7c2e1bd474ac548adb220e3fb798a6 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Entity/Mob/EntityPig.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | public class EntityPig : Mob 6 | { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Entity/Mob/EntityPig.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 100cdfd11610b1846b5d90114c89dfea 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Entity/Particle.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c05e9fdbdd546b84d8a32a55df177bf9 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Entity/Player.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e6c6272ec44eef544a5c611ba2562e14 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Entity/Player/EntityPlayer.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using UnityEngine; 5 | 6 | /// 7 | /// A player in game 8 | /// 9 | public class EntityPlayer : LivingEntity 10 | { 11 | public Player Player { get; set; } 12 | 13 | public override Guid UUID 14 | { 15 | get 16 | { 17 | return Player.UUID; 18 | } 19 | set 20 | { 21 | Player.UUID = value; 22 | } 23 | } 24 | 25 | public EntityPlayer() 26 | { 27 | Type = EntityType.Player; 28 | } 29 | 30 | protected void Update() 31 | { 32 | // simplify pitch degrees 33 | if (Pitch > 90f) 34 | { 35 | Pitch %= 90f; 36 | Pitch -= 90f; 37 | } 38 | else 39 | { 40 | Pitch %= 90f; 41 | } 42 | 43 | // simplify yaw degrees 44 | if (Yaw > 180f) 45 | { 46 | Yaw %= 360f; 47 | Yaw -= 360f; 48 | } 49 | else if (Yaw < -180f) 50 | { 51 | Yaw %= 360f; 52 | Yaw += 360f; 53 | } 54 | else 55 | { 56 | Yaw %= 360f; 57 | } 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Entity/Player/EntityPlayer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cdac97a4ad2c3bd47904f88962089395 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Entity/Player/PlayerController.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d02e270cc3969d241adaead885b7a820 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/GameManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c5c2cee27529eb744ac03b3ce7eb0ce3 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: -99 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/MojangAPI.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bf658083a2c830e47ab581c686b5515b 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/MojangAPI/MojangAPI.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7a035a255c4bf2c46bd6149c5d44ca43 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/MojangAPI/SerializableJson.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8919669b9fbeb3e4e8803da29a652ccf 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/MojangAPI/SerializableJson/AuthenticatePayload.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using AuthenticationPayloads; 7 | 8 | #pragma warning disable IDE1006 9 | 10 | [Serializable] 11 | public class AuthenticatePayload 12 | { 13 | public AuthenticatePayload() 14 | { } 15 | 16 | public AuthenticatePayload(string username, string password) 17 | { 18 | this.username = username; 19 | this.password = password; 20 | } 21 | 22 | public Agent agent = new Agent(); 23 | public string username; 24 | public string password; 25 | public string clientToken = MojangAPI.GetClientToken(); 26 | public bool requestUser = false; 27 | } 28 | 29 | // create a new namespace so we aren't cluttering the default namespace with json data 30 | namespace AuthenticationPayloads 31 | { 32 | [Serializable] 33 | public class Agent 34 | { 35 | public string name = "Minecraft"; 36 | public int version = 1; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/MojangAPI/SerializableJson/AuthenticatePayload.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 97d72b6185a96c24bad684e45aee3ee7 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/MojangAPI/SerializableJson/InvalidatePayload.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | #pragma warning disable IDE1006 8 | 9 | [Serializable] 10 | public class InvalidatePayload 11 | { 12 | public InvalidatePayload() 13 | { } 14 | 15 | public InvalidatePayload(string accessToken) 16 | { 17 | this.accessToken = accessToken; 18 | } 19 | 20 | public string accessToken; 21 | public string clientToken = MojangAPI.GetClientToken(); 22 | } 23 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/MojangAPI/SerializableJson/InvalidatePayload.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4b2c3c0a8987f4c46a8cbaa7c36840fc 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/MojangAPI/SerializableJson/JoinServerPayload.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | #pragma warning disable IDE1006 8 | 9 | [Serializable] 10 | public class JoinServerPayload 11 | { 12 | public JoinServerPayload() 13 | { } 14 | 15 | public JoinServerPayload(string accessToken, string playerUuid, string serverHash) 16 | { 17 | this.accessToken = accessToken; 18 | selectedProfile = playerUuid; 19 | serverId = serverHash; 20 | } 21 | 22 | public string accessToken; 23 | public string selectedProfile; 24 | public string serverId; 25 | } 26 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/MojangAPI/SerializableJson/JoinServerPayload.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5aacb62493a56f84da3f4728d91f1f1c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/MojangAPI/SerializableJson/RefreshPayload.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | #pragma warning disable IDE1006 8 | 9 | [Serializable] 10 | public class RefreshPayload 11 | { 12 | public RefreshPayload() 13 | { } 14 | 15 | public RefreshPayload(string accessToken) 16 | { 17 | this.accessToken = accessToken; 18 | } 19 | 20 | public string accessToken; 21 | public string clientToken = MojangAPI.GetClientToken(); 22 | public bool requestUser = false; 23 | } 24 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/MojangAPI/SerializableJson/RefreshPayload.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f12294f9c36f0b7418a40bb8378ba135 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/MojangAPI/SerializableJson/RefreshResponse.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | [Serializable] 8 | public class RefreshResponse 9 | { 10 | // there's a bunch more crap we could put here but this is all we care about 11 | // see: https://wiki.vg/Authentication#Response 12 | public string accessToken; 13 | public AuthenticationPayloads.Profile selectedProfile; 14 | } 15 | 16 | 17 | namespace AuthenticationPayloads 18 | { 19 | [Serializable] 20 | public class Profile 21 | { 22 | public string id; 23 | public string name; 24 | public bool legacy; 25 | } 26 | } -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/MojangAPI/SerializableJson/RefreshResponse.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b862c1128e693894c9118b65ffc742dd 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/MojangAPI/SerializableJson/ServerErrorResponse.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | [Serializable] 8 | public class ServerErrorResponse 9 | { 10 | public ServerErrorResponse() 11 | { } 12 | 13 | public ServerErrorResponse(Exception ex) 14 | { 15 | error = ex.GetType().Name; 16 | errorMessage = ex.Message; 17 | } 18 | 19 | public ServerErrorResponse(string message) 20 | { 21 | error = "Unhandled Exception"; 22 | errorMessage = message; 23 | } 24 | 25 | public string error; 26 | public string errorMessage; 27 | public string cause; 28 | 29 | public override string ToString() 30 | { 31 | // this mess returns the error + message and the cause, if it exists 32 | return $"{error}: {errorMessage}" + ((cause != null) ? $"({cause})" : ""); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/MojangAPI/SerializableJson/ServerErrorResponse.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 72205dbade11935408f1ed3382bab307 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Player.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fbc99b7b47122b64888ee6071b788995 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Player/Player.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using UnityEngine; 7 | 8 | /// 9 | /// Represents a player on the server. Not physically, that's 10 | /// 11 | public class Player 12 | { 13 | public delegate void SkinDataUpdatedEventHandler(object sender, PlayerSkinUpdatedEventArgs e); 14 | public event SkinDataUpdatedEventHandler SkinDataUpdated; 15 | 16 | /// 17 | /// Player name if it has formatting (colors, etc.) 18 | /// 19 | public ChatComponent DisplayName { get; set; } 20 | 21 | /// 22 | /// The skin data of the player. To update, use 23 | /// 24 | public PlayerSkinData SkinTexture { get; private set; } 25 | 26 | public byte SkinBitmask { get; set; } 27 | public GameMode GameMode { get; set; } 28 | public int Ping { get; set; } 29 | public string Name { get; set; } 30 | public Guid UUID { get; set; } 31 | 32 | /// 33 | /// Updates a player's skin data and invokes 34 | /// 35 | /// 36 | public void UpdateSkinData(PlayerSkinData skinData) 37 | { 38 | SkinTexture = skinData; 39 | SkinDataUpdated?.Invoke(this, new PlayerSkinUpdatedEventArgs() 40 | { 41 | SkinData = skinData 42 | }); 43 | } 44 | } 45 | 46 | public class PlayerSkinUpdatedEventArgs : EventArgs 47 | { 48 | public PlayerSkinData SkinData { get; set; } 49 | } 50 | 51 | /// 52 | /// Represent's a player's skin + cape 53 | /// 54 | public class PlayerSkinData 55 | { 56 | public Texture2D Body { get; set; } 57 | public Texture2D Cape { get; set; } 58 | } 59 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Player/Player.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 41aa41b9f2ba58e43958fb0f6374f212 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Player/PlayerLibrary.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 425db1f41cf388c4d94b998d3e2ad97b 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 483f7d805acb4644599da3deedc06172 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Crypto.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f056afc00f697434280ea4759437abc2 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Crypto/AesStream.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 99af4b26be221d84aa15ccb30eab2a09 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Crypto/CryptoHandler.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d2260462cf0ab72499332835e5b8237f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/NetworkClient.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0779753950df0d240a970059db3a0aeb 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packet.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using UnityEngine; 5 | 6 | public abstract class Packet 7 | { 8 | public int Length => (VarInt.GetBytes(PacketID).Length + Payload.Length); 9 | public int PacketID { get; set; } 10 | public abstract byte[] Payload { get; set; } 11 | 12 | public Packet() { } 13 | 14 | /// 15 | /// Create a packet using a object 16 | /// 17 | /// 18 | protected Packet(PacketData data) 19 | { 20 | PacketID = data.ID; 21 | Payload = data.Payload; 22 | } 23 | 24 | public override string ToString() 25 | { 26 | return $"Length: {Length} ID: {PacketID} Data (raw): {BitConverter.ToString(Payload)}"; 27 | } 28 | } 29 | 30 | /// 31 | /// States are assumed to be PLAY unless prepended e.x. STATUS_RESPONSE vs CHUNK_DATA 32 | /// 33 | public enum ClientboundIDs : int 34 | { 35 | // Status 36 | Status_Response = 0x00, 37 | Status_Pong = 0x01, 38 | 39 | // Login 40 | LogIn_Disconnect = 0x00, 41 | LogIn_EncryptionRequest = 0x01, 42 | LogIn_Success = 0x02, 43 | LogIn_SetCompression = 0x03, 44 | 45 | // Play 46 | ChunkData = 0x22, 47 | UnloadChunk = 0x1f, 48 | KeepAlive = 0x21, 49 | JoinGame = 0x25, 50 | Disconnect = 0x1b, 51 | PlayerPositionAndLook = 0x32, 52 | Entity = 0x27, 53 | SpawnMob = 0x03, 54 | DestroyEntities = 0x35, 55 | EntityRelativeMove = 0x28, 56 | EntityLookAndRelativeMove = 0x29, 57 | EntityMove = 0x2A, 58 | EntityTeleport = 0x50, 59 | EntityHeadLook = 0x39, 60 | PlayerInfo = 0x30, 61 | EntityMetadata = 0x3F, 62 | ChatMessage = 0x0E, 63 | SpawnPlayer = 0x05 64 | } 65 | 66 | public enum ServerboundIDs : int 67 | { 68 | // Status 69 | Status_Request = 0x00, 70 | Status_Ping = 0x01, 71 | 72 | // Login 73 | LogIn_Start = 0x00, 74 | LogIn_EncryptionResponse = 0x01, 75 | 76 | // Play 77 | TeleportConfirm = 0x00, 78 | KeepAlive = 0x0E, 79 | Player = 0x0F, 80 | PlayerPositionAndLook = 0x11, 81 | ChatMessage = 0x02 82 | 83 | } 84 | 85 | 86 | [Serializable] 87 | public class MalformedPacketException : Exception 88 | { 89 | public MalformedPacketException() { } 90 | public MalformedPacketException(string message) : base(message) { } 91 | public MalformedPacketException(string message, Exception inner) : base(message, inner) { } 92 | protected MalformedPacketException( 93 | System.Runtime.Serialization.SerializationInfo info, 94 | System.Runtime.Serialization.StreamingContext context) : base(info, context) { } 95 | } 96 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packet.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 90a528e745c6d0649aa991e3ec5d4587 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/PacketData.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | public struct PacketData 6 | { 7 | public int ID; 8 | public byte[] Payload; 9 | } 10 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/PacketData.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 72eaa3ad50673ef439d8377d851e54d3 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/PacketHelper.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5718831b3900e4941bd98327b296cd6f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/PacketReader.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4d711485d3bd33247b1ef101ed18a539 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/PacketWriter.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 441650fabcc1ae148b323d1132a16d05 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d09cd574df9ff2341a7fcae11a9d67ec 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Clientbound.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e0a548f01cce02b4d9a16e8489f20b72 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Clientbound/ChatMessagePacket.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | /// 9 | /// Chat message packet https://wiki.vg/Chat 10 | /// 11 | public class ChatMessagePacket : Packet 12 | { 13 | public ChatMessagePacket() 14 | { 15 | PacketID = (int)ClientboundIDs.ChatMessage; 16 | } 17 | 18 | public ChatMessagePacket(PacketData data) : base(data) { } 19 | 20 | public override byte[] Payload 21 | { 22 | get => throw new NotImplementedException(); 23 | set 24 | { 25 | using (MemoryStream stream = new MemoryStream(value)) 26 | { 27 | using (BinaryReader reader = new BinaryReader(stream)) 28 | { 29 | Json = PacketReader.ReadString(reader); 30 | Position = (ChatMessage.Position)PacketReader.ReadByte(reader); 31 | } 32 | } 33 | } 34 | } 35 | 36 | public string Json { get; protected set; } 37 | public ChatMessage.Position Position { get; protected set; } 38 | } 39 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Clientbound/ChatMessagePacket.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 569b1855fcb97c74191fb6ca67acbb61 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Clientbound/ChunkDataPacket.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using System.IO; 5 | using System.Linq; 6 | using System.Text; 7 | using System.Threading.Tasks; 8 | 9 | public class ChunkDataPacket : Packet 10 | { 11 | public int ChunkX { get; set; } 12 | public int ChunkZ { get; set; } 13 | public ChunkColumnPos Position => new ChunkColumnPos(ChunkX, ChunkZ); 14 | public bool GroundUpContinuous { get; set; } 15 | public int PrimaryBitmask { get; set; } 16 | public byte[] Data { get; set; } 17 | 18 | public ChunkDataPacket() 19 | { 20 | PacketID = (int)ClientboundIDs.ChunkData; 21 | } 22 | 23 | public ChunkDataPacket(PacketData data) : base(data) { } 24 | 25 | public override byte[] Payload 26 | { 27 | get => throw new NotImplementedException(); 28 | set 29 | { 30 | using (MemoryStream stream = new MemoryStream(value)) 31 | { 32 | using (BinaryReader reader = new BinaryReader(stream)) 33 | { 34 | ChunkX = PacketReader.ReadInt32(reader); 35 | ChunkZ = PacketReader.ReadInt32(reader); 36 | 37 | GroundUpContinuous = PacketReader.ReadBoolean(reader); 38 | PrimaryBitmask = PacketReader.ReadVarInt(reader); 39 | 40 | int byteCount = PacketReader.ReadVarInt(reader); 41 | Data = PacketReader.ReadBytes(reader, byteCount); 42 | } 43 | } 44 | 45 | // todo support block entities 46 | } 47 | } 48 | 49 | public override string ToString() 50 | { 51 | return $"Chunk at {ChunkX}, {ChunkZ}: Ground Up Continuous: {GroundUpContinuous}, Primary Bitmask: {BitConverter.ToString(BitConverter.GetBytes(PrimaryBitmask))}, Data Length: {Data.Length}"; 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Clientbound/ChunkDataPacket.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 913fd034f5e25b04eb1062de43029906 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Clientbound/ClientKeepAlivePacket.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | public class ClientKeepAlivePacket : Packet 9 | { 10 | public long KeepAliveID { get; set; } 11 | 12 | public override byte[] Payload 13 | { 14 | set 15 | { 16 | using (MemoryStream stream = new MemoryStream(value)) 17 | { 18 | using (BinaryReader reader = new BinaryReader(stream)) 19 | { 20 | KeepAliveID = PacketReader.ReadInt64(reader); 21 | } 22 | } 23 | } 24 | get => throw new NotImplementedException(); 25 | } 26 | 27 | public ClientKeepAlivePacket() 28 | { 29 | PacketID = (int)ClientboundIDs.KeepAlive; 30 | } 31 | 32 | public ClientKeepAlivePacket(PacketData data) : base(data) { } // packet id should be set correctly if this ctor is used 33 | } 34 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Clientbound/ClientKeepAlivePacket.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 18987f7148e8f1044b20674aa2d991f9 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Clientbound/ClientPlayerPositionAndLookPacket.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | public class ClientPlayerPositionAndLookPacket : Packet 9 | { 10 | public double X { get; set; } 11 | public double Y { get; set; } 12 | public double Z { get; set; } 13 | public float Yaw { get; set; } 14 | public float Pitch { get; set; } 15 | public byte Flags { get; set; } 16 | public int TeleportID { get; set; } 17 | 18 | public ClientPlayerPositionAndLookPacket() 19 | { 20 | PacketID = (int)ClientboundIDs.PlayerPositionAndLook; 21 | } 22 | 23 | public ClientPlayerPositionAndLookPacket(PacketData data) : base(data) { } // packet id should be set correctly if this ctor is used 24 | 25 | public override byte[] Payload 26 | { 27 | set 28 | { 29 | using (MemoryStream stream = new MemoryStream(value)) 30 | { 31 | using (BinaryReader reader = new BinaryReader(stream)) 32 | { 33 | X = PacketReader.ReadDouble(reader); 34 | Y = PacketReader.ReadDouble(reader); 35 | Z = PacketReader.ReadDouble(reader); 36 | 37 | Yaw = PacketReader.ReadSingle(reader); 38 | Pitch = PacketReader.ReadSingle(reader); 39 | 40 | Flags = PacketReader.ReadByte(reader); 41 | 42 | TeleportID = PacketReader.ReadVarInt(reader); 43 | } 44 | } 45 | } 46 | get => throw new NotImplementedException(); 47 | } 48 | 49 | } 50 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Clientbound/ClientPlayerPositionAndLookPacket.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 801a1c9c65789b94a82263610b58b8e2 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Clientbound/DestroyEntitiesPacket.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | public class DestroyEntitiesPacket : Packet 9 | { 10 | public int EntitiesCount { get; set; } 11 | public int[] EntityIDs { get; set; } 12 | 13 | public DestroyEntitiesPacket() 14 | { 15 | PacketID = (int)ClientboundIDs.DestroyEntities; 16 | } 17 | 18 | public DestroyEntitiesPacket(PacketData data) : base(data) { } // packet id should be set correctly if this ctor is used 19 | 20 | public override byte[] Payload 21 | { 22 | set 23 | { 24 | using (MemoryStream stream = new MemoryStream(value)) 25 | { 26 | using (BinaryReader reader = new BinaryReader(stream)) 27 | { 28 | EntityIDs = new int[PacketReader.ReadVarInt(reader)]; 29 | for (int i = 0; i < EntityIDs.Length; i++) 30 | { 31 | EntityIDs[i] = PacketReader.ReadVarInt(reader); 32 | } 33 | } 34 | } 35 | } 36 | get => throw new NotImplementedException(); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Clientbound/DestroyEntitiesPacket.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7c724fe00956dac4c85af5dc79bbdf26 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Clientbound/DisconnectPacket.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | public class DisconnectPacket : Packet 9 | { 10 | public string JSONResponse { get; set; } 11 | 12 | public DisconnectPacket() 13 | { 14 | PacketID = (int)ClientboundIDs.Disconnect; 15 | } 16 | 17 | public DisconnectPacket(PacketData data) : base(data) { } // packet id should be set correctly if this ctor is used 18 | 19 | public override byte[] Payload 20 | { 21 | set 22 | { 23 | using (MemoryStream stream = new MemoryStream(value)) 24 | { 25 | using (BinaryReader reader = new BinaryReader(stream)) 26 | { 27 | JSONResponse = PacketReader.ReadString(reader); 28 | } 29 | } 30 | } 31 | get => throw new NotImplementedException(); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Clientbound/DisconnectPacket.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3ba1955c54cd7304e8c2f0f58b37f235 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Clientbound/EncryptionRequestPacket.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | public class EncryptionRequestPacket : Packet 9 | { 10 | public byte[] PublicKey { get; set; } 11 | public byte[] VerifyToken { get; set; } 12 | public string ServerID { get; set; } 13 | 14 | public EncryptionRequestPacket() 15 | { 16 | PacketID = (int)ClientboundIDs.Disconnect; 17 | } 18 | 19 | public EncryptionRequestPacket(PacketData data) : base(data) { } // packet id should be set correctly if this ctor is used 20 | 21 | public override byte[] Payload 22 | { 23 | set 24 | { 25 | using (MemoryStream stream = new MemoryStream(value)) 26 | { 27 | using (BinaryReader reader = new BinaryReader(stream)) 28 | { 29 | ServerID = PacketReader.ReadString(reader); 30 | int publicKeyLength = PacketReader.ReadVarInt(reader); 31 | PublicKey = PacketReader.ReadBytes(reader, publicKeyLength); 32 | int verifyTokenLength = PacketReader.ReadVarInt(reader); 33 | VerifyToken = PacketReader.ReadBytes(reader, verifyTokenLength); 34 | } 35 | } 36 | } 37 | get => throw new NotImplementedException(); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Clientbound/EncryptionRequestPacket.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 35dad5d24f3048b4bbf503f34200a430 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Clientbound/EntityHeadLookPacket.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | using UnityEngine; 8 | 9 | public class EntityHeadLookPacket : Packet 10 | { 11 | public int EntityID { get; set; } 12 | public sbyte HeadYaw { get; set; } 13 | 14 | public EntityHeadLookPacket() 15 | { 16 | PacketID = (int)ClientboundIDs.EntityHeadLook; 17 | } 18 | 19 | public EntityHeadLookPacket(PacketData data) : base(data) { } // packet id should be set correctly if this ctor is used 20 | 21 | public override byte[] Payload 22 | { 23 | set 24 | { 25 | using (MemoryStream stream = new MemoryStream(value)) 26 | { 27 | using (BinaryReader reader = new BinaryReader(stream)) 28 | { 29 | EntityID = PacketReader.ReadVarInt(reader); 30 | HeadYaw = (sbyte)PacketReader.ReadByte(reader); 31 | } 32 | } 33 | } 34 | get => throw new NotImplementedException(); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Clientbound/EntityHeadLookPacket.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a688120d67f59db459cfac5f64cd19b5 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Clientbound/EntityLookAndRelativeMovePacket.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | using UnityEngine; 8 | 9 | public class EntityLookAndRelativeMovePacket : Packet 10 | { 11 | public int EntityID { get; set; } 12 | public short DeltaX { get; set; } 13 | public short DeltaY { get; set; } 14 | public short DeltaZ { get; set; } 15 | public sbyte Yaw { get; set; } 16 | public sbyte Pitch { get; set; } 17 | public bool OnGround { get; set; } 18 | 19 | public EntityLookAndRelativeMovePacket() 20 | { 21 | PacketID = (int)ClientboundIDs.EntityLookAndRelativeMove; 22 | } 23 | 24 | public EntityLookAndRelativeMovePacket(PacketData data) : base(data) { } // packet id should be set correctly if this ctor is used 25 | 26 | public override byte[] Payload 27 | { 28 | set 29 | { 30 | using (MemoryStream stream = new MemoryStream(value)) 31 | { 32 | using (BinaryReader reader = new BinaryReader(stream)) 33 | { 34 | EntityID = PacketReader.ReadVarInt(reader); 35 | 36 | DeltaX = PacketReader.ReadInt16(reader); 37 | DeltaY = PacketReader.ReadInt16(reader); 38 | DeltaZ = PacketReader.ReadInt16(reader); 39 | 40 | Yaw = (sbyte)PacketReader.ReadByte(reader); 41 | Pitch = (sbyte)PacketReader.ReadByte(reader); 42 | 43 | OnGround = PacketReader.ReadBoolean(reader); 44 | } 45 | } 46 | } 47 | get => throw new NotImplementedException(); 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Clientbound/EntityLookAndRelativeMovePacket.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fb1563c9e1bcd91488dbc8a942a8454a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Clientbound/EntityLookPacket.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | using UnityEngine; 8 | 9 | public class EntityLookPacket : Packet 10 | { 11 | public int EntityID { get; set; } 12 | public sbyte Yaw { get; set; } 13 | public sbyte Pitch { get; set; } 14 | public bool OnGround { get; set; } 15 | 16 | public override byte[] Payload 17 | { 18 | set 19 | { 20 | using (MemoryStream stream = new MemoryStream(value)) 21 | { 22 | using (BinaryReader reader = new BinaryReader(stream)) 23 | { 24 | EntityID = PacketReader.ReadVarInt(reader); 25 | 26 | Yaw = (sbyte)PacketReader.ReadByte(reader); 27 | Pitch = (sbyte)PacketReader.ReadByte(reader); 28 | 29 | OnGround = PacketReader.ReadBoolean(reader); 30 | } 31 | } 32 | } 33 | get => throw new NotImplementedException(); 34 | } 35 | 36 | public EntityLookPacket() 37 | { 38 | PacketID = (int)ClientboundIDs.EntityMove; 39 | } 40 | 41 | public EntityLookPacket(PacketData data) : base(data) { } // packet id should be set correctly if this ctor is used 42 | 43 | } 44 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Clientbound/EntityLookPacket.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 47d58e0cbce4f0f4c847130bde82a8d5 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Clientbound/EntityMetadataPacket.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8d3fefdff177bd6438a099fd72ca1e4c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Clientbound/EntityRelativeMovePacket.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | using UnityEngine; 8 | 9 | public class EntityRelativeMovePacket : Packet 10 | { 11 | public int EntityID { get; set; } 12 | public short DeltaX { get; set; } 13 | public short DeltaY { get; set; } 14 | public short DeltaZ { get; set; } 15 | public bool OnGround { get; set; } 16 | 17 | public EntityRelativeMovePacket() 18 | { 19 | PacketID = (int)ClientboundIDs.EntityRelativeMove; 20 | } 21 | 22 | public EntityRelativeMovePacket(PacketData data) : base(data) { } // packet id should be set correctly if this ctor is used 23 | 24 | public override byte[] Payload 25 | { 26 | set 27 | { 28 | using (MemoryStream stream = new MemoryStream(value)) 29 | { 30 | using (BinaryReader reader = new BinaryReader(stream)) 31 | { 32 | EntityID = PacketReader.ReadVarInt(reader); 33 | 34 | DeltaX = PacketReader.ReadInt16(reader); 35 | DeltaY = PacketReader.ReadInt16(reader); 36 | DeltaZ = PacketReader.ReadInt16(reader); 37 | 38 | OnGround = PacketReader.ReadBoolean(reader); 39 | } 40 | } 41 | } 42 | get => throw new NotImplementedException(); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Clientbound/EntityRelativeMovePacket.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 097b15bfed4e6fd4ba4b0c8763bc0717 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Clientbound/EntityTeleportPacket.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | using UnityEngine; 8 | 9 | public class EntityTeleportPacket : Packet 10 | { 11 | public int EntityID { get; set; } 12 | public double X { get; set; } 13 | public double Y { get; set; } 14 | public double Z { get; set; } 15 | public byte Yaw { get; set; } 16 | public byte Pitch { get; set; } 17 | public bool OnGround { get; set; } 18 | 19 | public EntityTeleportPacket() 20 | { 21 | PacketID = (int)ClientboundIDs.EntityTeleport; 22 | } 23 | 24 | public EntityTeleportPacket(PacketData data) : base(data) { } // packet id should be set correctly if this ctor is used 25 | 26 | public override byte[] Payload 27 | { 28 | set 29 | { 30 | using (MemoryStream stream = new MemoryStream(value)) 31 | { 32 | using (BinaryReader reader = new BinaryReader(stream)) 33 | { 34 | EntityID = PacketReader.ReadVarInt(reader); 35 | 36 | X = PacketReader.ReadDouble(reader); 37 | Y = PacketReader.ReadDouble(reader); 38 | Z = PacketReader.ReadDouble(reader); 39 | 40 | Yaw = PacketReader.ReadByte(reader); 41 | Pitch = PacketReader.ReadByte(reader); 42 | 43 | OnGround = PacketReader.ReadBoolean(reader); 44 | } 45 | } 46 | } 47 | get => throw new NotImplementedException(); 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Clientbound/EntityTeleportPacket.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1f51c4e990442354d97a54719b635d81 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Clientbound/JoinGamePacket.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | public class JoinGamePacket : Packet 9 | { 10 | public int PlayerEntityId { get; set; } 11 | public GameMode GameMode { get; set; } 12 | public World.DimensionType Dimension { get; set; } 13 | public Difficulty Difficulty { get; set; } 14 | public int MaxPlayers { get; set; } 15 | public LevelType LevelType { get; set; } 16 | public bool ReducedDebug { get; set; } 17 | 18 | public JoinGamePacket() 19 | { 20 | PacketID = (int)ClientboundIDs.JoinGame; 21 | } 22 | 23 | public JoinGamePacket(PacketData data) : base(data) { } // packet id should be set correctly if this ctor is used 24 | 25 | public override byte[] Payload 26 | { 27 | set 28 | { 29 | using (MemoryStream stream = new MemoryStream(value)) 30 | { 31 | using (BinaryReader reader = new BinaryReader(stream)) 32 | { 33 | PlayerEntityId = PacketReader.ReadInt32(reader); 34 | GameMode = (GameMode)PacketReader.ReadByte(reader); 35 | Dimension = (World.DimensionType)PacketReader.ReadInt32(reader); 36 | Difficulty = (Difficulty)PacketReader.ReadByte(reader); 37 | MaxPlayers = PacketReader.ReadByte(reader); 38 | 39 | string levelTypeString = PacketReader.ReadString(reader); 40 | switch (levelTypeString.ToLower()) 41 | { 42 | case "default": 43 | LevelType = LevelType.DEFAULT; 44 | break; 45 | case "flat": 46 | LevelType = LevelType.FLAT; 47 | break; 48 | case "largebiomes": 49 | LevelType = LevelType.LARGE_BIOMES; 50 | break; 51 | case "amplified": 52 | LevelType = LevelType.AMPLIFIED; 53 | break; 54 | case "default_1_1": 55 | LevelType = LevelType.DEFAULT_1_1; 56 | break; 57 | default: 58 | throw new MalformedPacketException($"Level type \"{levelTypeString}\" does not exist"); 59 | 60 | } 61 | 62 | ReducedDebug = PacketReader.ReadBoolean(reader); 63 | } 64 | } 65 | } 66 | get => throw new NotImplementedException(); 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Clientbound/JoinGamePacket.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c7941e6367e30994b8148392987ddf26 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Clientbound/LoginSuccessPacket.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | public class LoginSuccessPacket : Packet 9 | { 10 | public Guid UUID { get; set; } 11 | public string Username { get; set; } 12 | 13 | public LoginSuccessPacket() 14 | { 15 | PacketID = (int)ClientboundIDs.LogIn_Success; 16 | } 17 | 18 | public LoginSuccessPacket(PacketData data) : base(data) { } // packet id should be set correctly if this ctor is used 19 | 20 | public override byte[] Payload 21 | { 22 | set 23 | { 24 | using (MemoryStream stream = new MemoryStream(value)) 25 | { 26 | using (BinaryReader reader = new BinaryReader(stream)) 27 | { 28 | UUID = Guid.Parse(PacketReader.ReadString(reader)); 29 | Username = PacketReader.ReadString(reader); 30 | } 31 | } 32 | } 33 | get => throw new NotImplementedException(); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Clientbound/LoginSuccessPacket.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3cb6513dd6245bc41a28bc9eea91d227 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Clientbound/PlayerInfoPacket.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 04069197245ef3147b7a91aafaca6caf 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Clientbound/ResponsePacket.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | /// 9 | /// Server status response packet https://wiki.vg/Protocol#Response 10 | /// 11 | public class ResponsePacket : Packet 12 | { 13 | public ResponsePacket() 14 | { 15 | PacketID = (int)ClientboundIDs.Status_Response; 16 | } 17 | 18 | public ResponsePacket(PacketData data) : base(data) { } 19 | 20 | public override byte[] Payload 21 | { 22 | get => PacketHelper.GetBytes(JSONResponse); 23 | set 24 | { 25 | using (MemoryStream stream = new MemoryStream(value)) 26 | { 27 | using (BinaryReader reader = new BinaryReader(stream)) 28 | { 29 | JSONResponse = PacketReader.ReadString(reader); 30 | } 31 | } 32 | } 33 | } 34 | 35 | public string JSONResponse { get; set; } 36 | 37 | public override string ToString() 38 | { 39 | return JSONResponse; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Clientbound/ResponsePacket.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f60a755ab620b824a91b78aee1d86cf1 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Clientbound/SpawnMobPacket.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | /// 9 | /// Used for both ping and pong. 10 | /// 11 | public class SpawnMobPacket : Packet 12 | { 13 | public int EntityID { get; set; } 14 | public Guid UUID { get; set; } 15 | public Entity.EntityType Type { get; set; } 16 | public double X { get; set; } 17 | public double Y { get; set; } 18 | public double Z { get; set; } 19 | public byte Yaw { get; set; } 20 | public byte Pitch { get; set; } 21 | public byte HeadPitch { get; set; } 22 | public short VelocityX { get; set; } 23 | public short VelocityY { get; set; } 24 | public short VelocityZ { get; set; } 25 | 26 | // TODO: add entity metadata 27 | 28 | public SpawnMobPacket() 29 | { 30 | PacketID = (int)ClientboundIDs.SpawnMob; 31 | } 32 | 33 | public SpawnMobPacket(PacketData data) : base(data) { } 34 | 35 | public override byte[] Payload 36 | { 37 | set 38 | { 39 | using (MemoryStream stream = new MemoryStream(value)) 40 | { 41 | using (BinaryReader reader = new BinaryReader(stream)) 42 | { 43 | EntityID = PacketReader.ReadVarInt(reader); 44 | UUID = PacketReader.ReadGuid(reader); 45 | Type = (Entity.EntityType)PacketReader.ReadVarInt(reader); 46 | 47 | X = PacketReader.ReadDouble(reader); 48 | Y = PacketReader.ReadDouble(reader); 49 | Z = PacketReader.ReadDouble(reader); 50 | 51 | Yaw = PacketReader.ReadByte(reader); 52 | Pitch = PacketReader.ReadByte(reader); 53 | HeadPitch = PacketReader.ReadByte(reader); 54 | 55 | VelocityX = PacketReader.ReadInt16(reader); 56 | VelocityY = PacketReader.ReadInt16(reader); 57 | VelocityZ = PacketReader.ReadInt16(reader); 58 | } 59 | } 60 | } 61 | get => throw new NotImplementedException(); 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Clientbound/SpawnMobPacket.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ae8d10df0eebe844486ca5f65c288b5a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Clientbound/SpawnPlayerPacket.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | /// 9 | /// Spawns a player on the client 10 | /// 11 | public class SpawnPlayerPacket : Packet 12 | { 13 | public int EntityID { get; set; } 14 | public Guid PlayerUUID { get; set; } 15 | public double X { get; set; } 16 | public double Y { get; set; } 17 | public double Z { get; set; } 18 | public byte Yaw { get; set; } 19 | public byte Pitch { get; set; } 20 | 21 | // TODO: add entity metadata 22 | 23 | public SpawnPlayerPacket() 24 | { 25 | PacketID = (int)ClientboundIDs.SpawnPlayer; 26 | } 27 | 28 | public SpawnPlayerPacket(PacketData data) : base(data) { } 29 | 30 | public override byte[] Payload 31 | { 32 | set 33 | { 34 | using (MemoryStream stream = new MemoryStream(value)) 35 | { 36 | using (BinaryReader reader = new BinaryReader(stream)) 37 | { 38 | EntityID = PacketReader.ReadVarInt(reader); 39 | PlayerUUID = PacketReader.ReadGuid(reader); 40 | 41 | X = PacketReader.ReadDouble(reader); 42 | Y = PacketReader.ReadDouble(reader); 43 | Z = PacketReader.ReadDouble(reader); 44 | 45 | Yaw = PacketReader.ReadByte(reader); 46 | Pitch = PacketReader.ReadByte(reader); 47 | } 48 | } 49 | } 50 | get => throw new NotImplementedException(); 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Clientbound/SpawnPlayerPacket.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 77f7fed1c64d79d449ab694afbe9aeb8 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Clientbound/UnloadChunkPacket.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | /// 9 | /// Server status response packet https://wiki.vg/Protocol#Response 10 | /// 11 | public class UnloadChunkPacket : Packet 12 | { 13 | public UnloadChunkPacket() 14 | { 15 | PacketID = (int)ClientboundIDs.UnloadChunk; 16 | } 17 | 18 | public UnloadChunkPacket(PacketData data) : base(data) { } 19 | 20 | public override byte[] Payload 21 | { 22 | get => throw new NotImplementedException(); 23 | set 24 | { 25 | using (MemoryStream stream = new MemoryStream(value)) 26 | { 27 | using (BinaryReader reader = new BinaryReader(stream)) 28 | { 29 | X = PacketReader.ReadInt32(reader); 30 | Z = PacketReader.ReadInt32(reader); 31 | } 32 | } 33 | } 34 | } 35 | 36 | public int X { get; set; } 37 | public int Z { get; set; } 38 | 39 | public ChunkColumnPos Position => new ChunkColumnPos(X, Z); 40 | } 41 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Clientbound/UnloadChunkPacket.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 76e29a26198b5454a82bba68bfa10f87 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/GenericPacket.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | public class GenericPacket : Packet 8 | { 9 | public override byte[] Payload { get; set; } 10 | 11 | public GenericPacket() 12 | { 13 | PacketID = default; 14 | } 15 | 16 | public GenericPacket(PacketData data) : base(data) { } // packet id should be set correctly if this ctor is used 17 | 18 | } 19 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/GenericPacket.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ba4ed92a69b006143a7835228d8b9c3d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/PongPacket.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | /// 8 | /// Used for both ping and pong. 9 | /// 10 | public class PingPongPacket : Packet 11 | { 12 | public PingPongPacket() 13 | { 14 | PacketID = 0x01; 15 | } 16 | 17 | public override byte[] Payload 18 | { 19 | set => Number = BitConverter.ToInt64(value.ReverseIfLittleEndian(), 0); 20 | get => BitConverter.GetBytes(Number).ReverseIfLittleEndian(); 21 | } 22 | 23 | public long Number { get; set; } 24 | } 25 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/PongPacket.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6e1ae7a7e381bbb42be608fb30ff6f99 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Serverbound.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0c7ab1bd93117bd47aca548955a0a133 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Serverbound/ChatMessagePacket.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | public class CSChatMessagePacket : Packet 9 | { 10 | public string Message { get; set; } 11 | 12 | public CSChatMessagePacket() 13 | { 14 | PacketID = (int)ServerboundIDs.ChatMessage; 15 | } 16 | 17 | public CSChatMessagePacket(PacketData data) : base(data) { } // packet id should be set correctly if this ctor is used 18 | 19 | public override byte[] Payload 20 | { 21 | get 22 | { 23 | using (MemoryStream stream = new MemoryStream()) 24 | { 25 | using (BinaryWriter writer = new BinaryWriter(stream)) 26 | { 27 | PacketWriter.WriteString(writer, Message); 28 | 29 | return stream.ToArray(); 30 | } 31 | } 32 | } 33 | set => throw new NotImplementedException(); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Serverbound/ChatMessagePacket.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 16928e05df5969e48bfce9c27e569170 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Serverbound/EncryptionResponsePacket.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using System.IO; 5 | using UnityEngine; 6 | 7 | public class EncryptionResponsePacket : Packet 8 | { 9 | public EncryptionResponsePacket() 10 | { 11 | PacketID = (int)ServerboundIDs.LogIn_EncryptionResponse; 12 | } 13 | 14 | public EncryptionResponsePacket(PacketData data) : base(data) { } 15 | 16 | public byte[] SharedSecret { get; set; } 17 | public byte[] VerifyToken { get; set; } 18 | 19 | public override byte[] Payload 20 | { 21 | get 22 | { 23 | using (MemoryStream stream = new MemoryStream()) 24 | { 25 | using (BinaryWriter writer = new BinaryWriter(stream)) 26 | { 27 | PacketWriter.WriteVarInt(writer, SharedSecret.Length); 28 | PacketWriter.WriteBytes(writer, SharedSecret); 29 | PacketWriter.WriteVarInt(writer, VerifyToken.Length); 30 | PacketWriter.WriteBytes(writer, VerifyToken); 31 | 32 | return stream.ToArray(); 33 | } 34 | } 35 | } 36 | set => throw new NotImplementedException(); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Serverbound/EncryptionResponsePacket.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 979e584abce217f42b7b1efb5b1f05ba 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Serverbound/HandshakePacket.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using System.IO; 5 | using UnityEngine; 6 | 7 | public class HandshakePacket : Packet 8 | { 9 | public int ProtocolVersion { get; set; } = NetworkClient.PROTOCOL_VERSION; 10 | public string Address { get; set; } 11 | public int Port { get; set; } 12 | public NetworkClient.ProtocolState NextState { get; set; } 13 | 14 | public HandshakePacket() 15 | { 16 | PacketID = (int)ServerboundIDs.Status_Request; 17 | } 18 | 19 | public HandshakePacket(PacketData data) : base(data) { } 20 | 21 | public override byte[] Payload 22 | { 23 | get 24 | { 25 | using (MemoryStream stream = new MemoryStream()) 26 | { 27 | using (BinaryWriter writer = new BinaryWriter(stream)) 28 | { 29 | PacketWriter.WriteVarInt(writer, ProtocolVersion); 30 | PacketWriter.WriteString(writer, Address); 31 | PacketWriter.WriteInt16(writer, (ushort)Port); 32 | PacketWriter.WriteVarInt(writer, (int)NextState); 33 | 34 | return stream.ToArray(); 35 | } 36 | } 37 | } 38 | set => throw new NotImplementedException(); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Serverbound/HandshakePacket.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 27909a5968a893043a8a6f56e7d45b69 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Serverbound/LoginStartPacket.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | public class LoginStartPacket : Packet 9 | { 10 | public string Username { get; set; } 11 | 12 | public override byte[] Payload 13 | { 14 | get 15 | { 16 | using (MemoryStream stream = new MemoryStream()) 17 | { 18 | using (BinaryWriter writer = new BinaryWriter(stream)) 19 | { 20 | PacketWriter.WriteString(writer, Username); 21 | 22 | return stream.ToArray(); 23 | } 24 | } 25 | //PacketHelper.GetBytes(Username); 26 | } 27 | set => throw new NotImplementedException(); 28 | } 29 | 30 | public LoginStartPacket() 31 | { 32 | PacketID = 0x00; 33 | } 34 | 35 | public LoginStartPacket(PacketData data) : base(data) { } // packet id should be set correctly if this ctor is used 36 | 37 | } 38 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Serverbound/LoginStartPacket.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 38403ddf507748f40a46616b068f5166 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Serverbound/RequestPacket.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | /// 8 | /// An empty packet https://wiki.vg/Server_List_Ping#Request 9 | /// 10 | public class RequestPacket : Packet 11 | { 12 | public override byte[] Payload { get; set; } = new byte[0]; 13 | 14 | public RequestPacket() 15 | { 16 | PacketID = (int)ServerboundIDs.Status_Request; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Serverbound/RequestPacket.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 36169d332b220f94ea5b2339c76d2716 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Serverbound/ServerKeepAlivePacket.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | public class ServerKeepAlivePacket : Packet 9 | { 10 | public long KeepAliveID { get; set; } 11 | 12 | public override byte[] Payload 13 | { 14 | set => throw new NotImplementedException(); 15 | get 16 | { 17 | using (MemoryStream stream = new MemoryStream()) 18 | { 19 | using (BinaryWriter writer = new BinaryWriter(stream)) 20 | { 21 | PacketWriter.WriteInt64(writer, KeepAliveID); 22 | 23 | return stream.ToArray(); 24 | } 25 | } 26 | } 27 | } 28 | 29 | public ServerKeepAlivePacket() 30 | { 31 | PacketID = (int)ServerboundIDs.KeepAlive; 32 | } 33 | 34 | public ServerKeepAlivePacket(PacketData data) : base(data) { } // packet id should be set correctly if this ctor is used 35 | } 36 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Serverbound/ServerKeepAlivePacket.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 69f6915e5db869d45acfc4eaf9e929a9 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Serverbound/ServerPlayerPacket.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | public class ServerPlayerPacket : Packet 9 | { 10 | public bool OnGround { get; set; } 11 | 12 | public ServerPlayerPacket() 13 | { 14 | PacketID = (int)ServerboundIDs.Player; 15 | } 16 | 17 | public ServerPlayerPacket(PacketData data) : base(data) { } // packet id should be set correctly if this ctor is used 18 | 19 | public override byte[] Payload 20 | { 21 | get 22 | { 23 | using (MemoryStream stream = new MemoryStream()) 24 | { 25 | using (BinaryWriter writer = new BinaryWriter(stream)) 26 | { 27 | PacketWriter.WriteBoolean(writer, OnGround); 28 | 29 | return stream.ToArray(); 30 | } 31 | } 32 | } 33 | set => throw new NotImplementedException(); 34 | } 35 | 36 | public static ServerPlayerPacket FromPlayer(PlayerController player) 37 | { 38 | return new ServerPlayerPacket() 39 | { 40 | OnGround = player.OnGround 41 | }; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Serverbound/ServerPlayerPacket.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4b397d8d5c6646e439802f4f85b40d68 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Serverbound/ServerPlayerPositionAndLookPacket.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | public class ServerPlayerPositionAndLookPacket : Packet 9 | { 10 | public double X { get; set; } 11 | public double FeetY { get; set; } 12 | public double Z { get; set; } 13 | public float Yaw { get; set; } 14 | public float Pitch { get; set; } 15 | public bool OnGround { get; set; } 16 | 17 | public ServerPlayerPositionAndLookPacket(PacketData data) : base(data) { } // packet id should be set correctly if this ctor is used 18 | 19 | public ServerPlayerPositionAndLookPacket() 20 | { 21 | PacketID = (int)ServerboundIDs.PlayerPositionAndLook; 22 | } 23 | 24 | public override byte[] Payload 25 | { 26 | get 27 | { 28 | using (MemoryStream stream = new MemoryStream()) 29 | { 30 | using (BinaryWriter writer = new BinaryWriter(stream)) 31 | { 32 | PacketWriter.WriteDouble(writer, X); 33 | PacketWriter.WriteDouble(writer, FeetY); 34 | PacketWriter.WriteDouble(writer, Z); 35 | 36 | PacketWriter.WriteFloat(writer, Yaw); 37 | PacketWriter.WriteFloat(writer, Pitch); 38 | 39 | PacketWriter.WriteBoolean(writer, OnGround); 40 | 41 | return stream.ToArray(); 42 | } 43 | } 44 | } 45 | set => throw new NotImplementedException(); 46 | } 47 | 48 | public static ServerPlayerPositionAndLookPacket FromPlayer(PlayerController player) 49 | { 50 | return new ServerPlayerPositionAndLookPacket() 51 | { 52 | X = player.X, 53 | FeetY = player.Y, 54 | Z = player.Z, 55 | Yaw = player.Yaw - 90, 56 | Pitch = player.Pitch, 57 | OnGround = player.OnGround 58 | }; 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Serverbound/ServerPlayerPositionAndLookPacket.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bff3681f6266c7e42a0e44dd5bdec6ff 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Serverbound/TeleportConfirmPacket.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | public class TeleportConfirmPacket : Packet 9 | { 10 | public int TeleportID { get; set; } 11 | 12 | public TeleportConfirmPacket() 13 | { 14 | PacketID = (int)ServerboundIDs.TeleportConfirm; 15 | } 16 | 17 | public TeleportConfirmPacket(PacketData data) : base(data) { } // packet id should be set correctly if this ctor is used 18 | 19 | public override byte[] Payload 20 | { 21 | get 22 | { 23 | using (MemoryStream stream = new MemoryStream()) 24 | { 25 | using (BinaryWriter writer = new BinaryWriter(stream)) 26 | { 27 | PacketWriter.WriteVarInt(writer, TeleportID); 28 | 29 | return stream.ToArray(); 30 | } 31 | } 32 | } 33 | set => throw new NotImplementedException(); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/Packets/Serverbound/TeleportConfirmPacket.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 696e2d1ef93178b4a9b4cfbb49990008 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/SlotData.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using UnityEngine; 5 | 6 | public struct SlotData 7 | { 8 | public bool present; 9 | public int itemId; 10 | public byte itemCount; 11 | //public NbtTag nbtData; 12 | 13 | public SlotData(bool present, int itemId, byte itemCount)//, NbtTag nbtData) 14 | { 15 | this.present = present; 16 | this.itemId = itemId; 17 | this.itemCount = itemCount; 18 | //this.nbtData = nbtData; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/SlotData.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f7a5f42a7c96ea94ea06e890f07610d8 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/VarInt.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using System.IO; 5 | using UnityEngine; 6 | 7 | // https://wiki.vg/Protocol#Definitions 8 | public static class VarInt 9 | { 10 | /// 11 | /// Reads the next VarInt from a list 12 | /// 13 | /// 14 | /// 15 | public static int ReadNext(List bytes) 16 | { 17 | int value, numRead = 0, result = 0; 18 | byte read; 19 | while (true) 20 | { 21 | read = bytes.Read(1)[0]; 22 | value = (read & 0x7F); 23 | result |= (value << (7 * numRead)); 24 | 25 | numRead++; 26 | if (numRead > 5) 27 | throw new UnityException("VarInt too big!"); 28 | if ((read & 0x80) != 128) break; 29 | } 30 | return result; 31 | } 32 | 33 | /// 34 | /// Reads the next varint from an array of bytes (does not "seek", use for that) 35 | /// 36 | /// 37 | /// 38 | public static int ReadNext(byte[] bytes) 39 | { 40 | return ReadNext(new List(bytes)); 41 | } 42 | 43 | /// 44 | /// Reads the next VarInt from a stream 45 | /// 46 | /// 47 | public static int ReadNext(Utility.ReadBytes readFunction) 48 | { 49 | int value, numRead = 0, result = 0; 50 | byte read; 51 | while (true) 52 | { 53 | read = readFunction(1)[0]; 54 | value = (read & 0x7F); 55 | result |= (value << (7 * numRead)); 56 | 57 | numRead++; 58 | if (numRead > 5) 59 | throw new UnityException("VarInt too big!"); 60 | 61 | if ((read & 0x80) != 128) break; 62 | } 63 | return result; 64 | } 65 | 66 | /// 67 | /// Turns an int into varint bytes 68 | /// 69 | /// 70 | /// 71 | public static byte[] GetBytes(int value) 72 | { 73 | List bytes = new List(); 74 | while ((value & -0x80) != 0) 75 | { 76 | bytes.Add((byte)(value & 0x7F | 0x80)); 77 | value = (int)(((uint)value) >> 7); 78 | } 79 | bytes.Add((byte)value); 80 | return bytes.ToArray(); 81 | } 82 | } 83 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Protocol/VarInt.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 76f39093a91a50b4b94fefd56efc5a54 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Scenes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d97e16d77db148c4d9f97b9ac161a2c3 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Scenes/Game.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b465cf7217df8a943a6756da255f0cb0 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Scenes/Game/DestroyOnStart.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | public class DestroyOnStart : MonoBehaviour 6 | { 7 | 8 | // Start is called before the first frame update 9 | void Start() 10 | { 11 | Destroy(gameObject); 12 | } 13 | 14 | // Update is called once per frame 15 | void Update() 16 | { 17 | 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Scenes/Game/DestroyOnStart.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0be5766949d4e08419b71505ae99d5f1 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Scenes/Game/ReferenceLinker.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | /// 6 | /// Used to hold referemces that the GameManager needs to use once the game is loaded. 7 | /// 8 | public class ReferenceLinker : MonoBehaviour 9 | { 10 | public Chat Chat; 11 | public PlayerList PlayerList; 12 | } 13 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Scenes/Game/ReferenceLinker.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2317d6a9c84834749aeccaf7a97b5fea 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Scenes/Loading Screen.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cd75406f463f0dd4ab25c76a1492d69c 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Scenes/Loading Screen/LoadingScreenController.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEngine.UI; 5 | 6 | public class LoadingScreenController : MonoBehaviour 7 | { 8 | 9 | public GameObject LoadingScreenCanvas; 10 | public GameObject LoadingScreenCamera; 11 | public Text SubtitleText; 12 | 13 | // Use this for initialization 14 | void Start() 15 | { 16 | 17 | } 18 | 19 | // Update is called once per frame 20 | void Update() 21 | { 22 | 23 | } 24 | 25 | public void HideLoadingScreen() 26 | { 27 | LoadingScreenCanvas.SetActive(false); 28 | Destroy(LoadingScreenCamera); 29 | } 30 | 31 | public void UpdateSubtitleText(string text) 32 | { 33 | Debug.Log($"Loading screen: {text}"); 34 | SubtitleText.text = text; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Scenes/Loading Screen/LoadingScreenController.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 02ea3fbb6803d4e4dbfb22f35661817b 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Scenes/TestScene.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dd779e42936dbc14d9dc1a9f381a424d 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Scenes/TestScene/SimpleMobLook.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | public class SimpleMobLook : MonoBehaviour 6 | { 7 | public Mob TestMob; 8 | public float CycleSpeed = 5f; 9 | private float _pitch; 10 | 11 | // Start is called before the first frame update 12 | void Start() 13 | { 14 | 15 | } 16 | 17 | // Update is called once per frame 18 | void Update() 19 | { 20 | _pitch = (CycleSpeed * Time.time); 21 | _pitch %= 180; 22 | _pitch -= 90; 23 | TestMob.Pitch = _pitch; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Scenes/TestScene/SimpleMobLook.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a7bfdda7e4f8c8b40a6189aa316ef007 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Terrain.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e68ce734074fbaa4ab6659f7b8a68819 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Terrain/Biome.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | /// 8 | /// Represents a biome in-game 9 | /// 10 | public struct Biome 11 | { 12 | public int BiomeID { get; set; } 13 | } 14 | 15 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Terrain/Biome.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8db71e8c6475beb43985a54b758c436f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Terrain/Block.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 21010bcf8c4e6554aaa39ef195fb7921 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Terrain/Block/BlockState.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | 5 | /// 6 | /// Represents a single state of a block. Can be casted to and from 7 | /// 8 | public struct BlockState 9 | { 10 | public BlockState(BlockType type) 11 | { 12 | State = type; 13 | } 14 | 15 | /// 16 | /// Gets if the block is solid in all four corners, for use in rendering 17 | /// 18 | public bool IsSolid => State != BlockType.AIR && State != BlockType.CAVE_AIR && State != BlockType.VOID_AIR /*&& State != BlockType.WATER*/; 19 | 20 | /// 21 | /// Whether this block can be rendered I.E. not air, etc. 22 | /// 23 | public bool IsRendered => IsSolid; 24 | 25 | public BlockType State { get; set; } 26 | 27 | public static explicit operator uint(BlockState s) 28 | { 29 | return (uint)s.State; 30 | } 31 | 32 | public static explicit operator BlockState(uint i) 33 | { 34 | return new BlockState() { State = (BlockType)i }; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Terrain/Block/BlockState.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6158bd9b85b50d341a4dcef727b3b3a2 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Terrain/Block/BlockType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | public enum BlockType : uint 8 | { 9 | GENERIC_SOLID, 10 | 11 | AIR = 0, 12 | VOID_AIR = 8591, 13 | CAVE_AIR = 8592, 14 | STONE = 1, 15 | WATER = 34, 16 | } 17 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Terrain/Block/BlockType.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 019e781339ff8c44ab4bde6e1ecb1724 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Terrain/BlockPos.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0d9c9e8649db10f479f5cadf18ec7e03 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Terrain/Chunk.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1bfbf5921fbd760449507aba078d7706 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Terrain/ChunkColumnPos.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | public struct ChunkColumnPos 8 | { 9 | public int X { get; } 10 | public int Z { get; } 11 | 12 | public ChunkColumnPos(int x, int z) 13 | { 14 | X = x; 15 | Z = z; 16 | } 17 | 18 | public override string ToString() 19 | { 20 | return $"{X}, {Z}"; 21 | } 22 | 23 | public override int GetHashCode() 24 | { 25 | return $"{X} + {Z}".GetHashCode(); 26 | } 27 | 28 | public override bool Equals(object obj) 29 | { 30 | ChunkColumnPos? pos = obj as ChunkColumnPos?; 31 | if (pos == null) 32 | return false; 33 | else 34 | return (((ChunkColumnPos)pos).X == X) && (((ChunkColumnPos)pos).Z == Z); 35 | } 36 | 37 | public static ChunkColumnPos operator +(ChunkColumnPos left, ChunkColumnPos right) 38 | { 39 | return new ChunkColumnPos( 40 | left.X + right.X, 41 | left.Z + right.Z); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Terrain/ChunkColumnPos.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4e6cb94f00556654f917340f898c5a04 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Terrain/ChunkRenderer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 518e96a225bec534da1e19efc1a2f38c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Terrain/ChunkSectionPos.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | public struct ChunkSectionPos 8 | { 9 | public ChunkColumnPos ChunkColumnPos { get; set; } 10 | public int X => ChunkColumnPos.X; 11 | public int Y { get; } 12 | public int Z => ChunkColumnPos.Z; 13 | 14 | public ChunkSectionPos(int x, int y, int z) 15 | { 16 | ChunkColumnPos = new ChunkColumnPos(x, z); 17 | Y = y; 18 | } 19 | 20 | public ChunkSectionPos(ChunkColumnPos cPos, int y) 21 | { 22 | ChunkColumnPos = cPos; 23 | Y = y; 24 | } 25 | 26 | public override string ToString() 27 | { 28 | return $"{X}, {Z}"; 29 | } 30 | 31 | public override int GetHashCode() 32 | { 33 | return $"{X} + {Z}".GetHashCode(); 34 | } 35 | 36 | public override bool Equals(object obj) 37 | { 38 | ChunkSectionPos? pos = obj as ChunkSectionPos?; 39 | if (pos == null) 40 | return false; 41 | else 42 | return (((ChunkSectionPos)pos).X == X) && (((ChunkSectionPos)pos).Z == Z); 43 | } 44 | 45 | public static ChunkSectionPos operator +(ChunkSectionPos left, ChunkSectionPos right) 46 | { 47 | return new ChunkSectionPos( 48 | left.X + right.X, 49 | left.Y + right.Y, 50 | left.Z + right.Z); 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Terrain/ChunkSectionPos.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 740f9bce959277a4eb6a51f72d809e35 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Terrain/DirectChunkPalette.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | public class DirectChunkPalette : IChunkPalette 8 | { 9 | public int Length { get; } = 0; 10 | 11 | public uint GetBlockState(uint id) 12 | { 13 | return id; 14 | } 15 | 16 | public void Read(List buffer) 17 | { 18 | 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Terrain/DirectChunkPalette.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 30e5b4cd3a955b7419c6492c684eef90 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Terrain/IChunkPalette.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | public interface IChunkPalette 8 | { 9 | uint GetBlockState(uint id); 10 | int Length { get; } 11 | void Read(List buffer); 12 | } 13 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Terrain/IChunkPalette.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7a36d06010a51aa419e34b509784f61a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Terrain/IndirectChunkPalette.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using UnityEngine; 7 | 8 | public class IndirectChunkPalette : IChunkPalette 9 | { 10 | private readonly Dictionary _blockStates = new Dictionary(); 11 | 12 | public int Length => _blockStates.Count; 13 | 14 | public void Read(List buffer) 15 | { 16 | int paletteLength = VarInt.ReadNext(buffer); 17 | 18 | for (int i = 0; i < paletteLength; i++) 19 | { 20 | uint blockState = (uint)VarInt.ReadNext(buffer); 21 | _blockStates.Add((uint)i, blockState); 22 | } 23 | } 24 | 25 | public uint GetBlockState(uint i) 26 | { 27 | return _blockStates[i]; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Terrain/IndirectChunkPalette.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e7c018803546b3844af3c144c4da2d4b 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Terrain/PhysicalChunk.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3b8e158dfed88684b88b08138080635c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Terrain/PhysicalChunkSection.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using UnityEngine; 5 | 6 | /// 7 | /// The physical representation of a chunk column in-game 8 | /// 9 | [RequireComponent(typeof(MeshFilter))] 10 | [RequireComponent(typeof(MeshCollider))] 11 | [RequireComponent(typeof(MeshRenderer))] 12 | public class PhysicalChunkSection : MonoBehaviour 13 | { 14 | /// 15 | /// Whether the initial generation of the chunk is complete 16 | /// 17 | public bool IsGenerated = false; 18 | 19 | public void SetMesh(Mesh mesh) 20 | { 21 | GetComponent().mesh = mesh; 22 | GetComponent().sharedMesh = mesh; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Terrain/PhysicalChunkSection.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: aad2decc4e21ae04ebb1db19fff69e99 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Terrain/World.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: aea70736ad7fd0443b08eebde405a270 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/UI.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e8dc7e5c11a6f7e4598d1f4f6debc388 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/UI/Chat.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3d1c6d11521c50648a58b943f51f9f22 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/UI/DebugCanvas.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 54b18a4d97426b843ace82f0e63fce23 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/UI/MainMenuController.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3cc5367566779d7428aa8411c09d840e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: 7 | - AddressInput: {instanceID: 0} 8 | - PortInput: {instanceID: 0} 9 | - LoginWindow: {instanceID: 0} 10 | - EmailInput: {instanceID: 0} 11 | - PasswordInput: {instanceID: 0} 12 | - WindowLoginButton: {instanceID: 0} 13 | - AuthStatusImage: {instanceID: 0} 14 | - AuthStatusImageGood: {fileID: 21300000, guid: f4a784deb3748ce4b943312f67e024de, 15 | type: 3} 16 | - AuthStatusImageBad: {fileID: 21300000, guid: 25df84cd581d8d540bb81ab965ab491f, 17 | type: 3} 18 | - AuthStatusImageLoading: {fileID: 21300000, guid: bbb8917080bca704a868b5c1eef4aa59, 19 | type: 3} 20 | - AuthStatusText: {instanceID: 0} 21 | - WidgetLoginButton: {instanceID: 0} 22 | - LogoutButton: {instanceID: 0} 23 | - GameManager: {instanceID: 0} 24 | - ModalDimmer: {instanceID: 0} 25 | executionOrder: 0 26 | icon: {instanceID: 0} 27 | userData: 28 | assetBundleName: 29 | assetBundleVariant: 30 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/UI/PlayerEntry.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using TMPro; 4 | using UnityEngine; 5 | using UnityEngine.UI; 6 | 7 | public class PlayerEntry : MonoBehaviour 8 | { 9 | public TextMeshProUGUI DisplayName; 10 | 11 | public void UpdateEntry(Player player) 12 | { 13 | // set display name 14 | if (player.DisplayName != null) 15 | DisplayName.text = ChatComponent.GetFormattedString(player.DisplayName, null); 16 | else 17 | DisplayName.text = player.Name; 18 | 19 | DisplayName.text += $" {player.Ping.ToString()}ms"; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/UI/PlayerEntry.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8b58a6fec67e67e4385a416cf3e3db80 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/UI/PlayerList.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using UnityEngine; 5 | 6 | public class PlayerList : MonoBehaviour 7 | { 8 | public GameObject PlayerListPanel; 9 | public KeyCode PlayerListKey = KeyCode.Tab; 10 | 11 | public GameObject PlayerEntryPrefab; 12 | 13 | // Start is called before the first frame update 14 | void Start() 15 | { 16 | PlayerListPanel.SetActive(false); 17 | } 18 | 19 | // Update is called once per frame 20 | void Update() 21 | { 22 | if (Input.GetKeyDown(PlayerListKey)) 23 | { 24 | PlayerListPanel.SetActive(true); 25 | } 26 | else if (Input.GetKeyUp(PlayerListKey)) 27 | { 28 | PlayerListPanel.SetActive(false); 29 | } 30 | } 31 | 32 | /// 33 | /// Updates the in game player list (tab menu) with a new collection of players 34 | /// 35 | /// 36 | public void UpdatePlayerList(Player[] players) 37 | { 38 | // clear all player entries 39 | foreach (Transform child in PlayerListPanel.transform) 40 | { 41 | Destroy(child.gameObject); 42 | } 43 | 44 | // create player entries 45 | foreach (var player in players) 46 | { 47 | var playerEntry = Instantiate(PlayerEntryPrefab, PlayerListPanel.transform).GetComponent(); 48 | playerEntry.UpdateEntry(player); 49 | } 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/UI/PlayerList.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 09440b5b6c9cfd94dab6846dbddd0df8 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Utility.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using UnityEngine; 6 | 7 | public static class Utility 8 | { 9 | 10 | /// 11 | /// Used to read bytes from a stream 12 | /// 13 | /// 14 | /// 15 | public delegate byte[] ReadBytes(int amount); 16 | 17 | /// 18 | /// Concatentates two or more byte arrays 19 | /// 20 | /// 21 | /// 22 | /// 23 | /// 24 | public static byte[] Concat(this byte[] a1, params byte[][] a2) 25 | { 26 | byte[] dst = new byte[a1.Length + a2.Sum(a => a.Length)]; 27 | Buffer.BlockCopy(a1, 0, dst, 0, a1.Length); 28 | int offset = a1.Length; 29 | foreach (var arr in a2) 30 | { 31 | Buffer.BlockCopy(arr, 0, dst, offset, arr.Length); 32 | offset += arr.Length; 33 | } 34 | return dst; 35 | } 36 | 37 | /// 38 | /// returns entries from the source list in a new list, removing them from the original 39 | /// 40 | /// 41 | /// 42 | /// 43 | public static List Read(this List data, int amount, int index) 44 | { 45 | if (data.Count < amount + index) 46 | throw new IndexOutOfRangeException("Requested data out of range of List"); 47 | 48 | List subset = new List(); 49 | subset.AddRange(data.GetRange(index, amount)); 50 | data.RemoveRange(index, amount); 51 | 52 | return subset; 53 | } 54 | 55 | public static List Read(this List data, int amount) 56 | { 57 | return data.Read(amount, 0); 58 | } 59 | 60 | public static T[] ReverseIfLittleEndian(this T[] array) 61 | { 62 | if (BitConverter.IsLittleEndian) 63 | Array.Reverse(array); 64 | 65 | return array; 66 | } 67 | 68 | public static T[] Reverse(this T[] array) 69 | { 70 | Array.Reverse(array); 71 | return array; 72 | } 73 | 74 | public static List ReverseIfLittleEndian(this List list) 75 | { 76 | if (BitConverter.IsLittleEndian) 77 | list.Reverse(); 78 | 79 | return list; 80 | } 81 | 82 | public static int Mod(int x, int m) 83 | { 84 | return (x % m + m) % m; 85 | } 86 | 87 | public static float Mod(float x, float m) 88 | { 89 | return (x % m + m) % m; 90 | } 91 | } 92 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Scripts/Utility.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d2af12d060bd5814c95d83874f4e8a88 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Textures.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5c72ad8bc24a9dc469d1969f365a6dc7 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Textures/Pixel.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 997e99d696444fa498c1ea6044a894d5 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Textures/Pixel/Entity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9123397aed9052f40b83c2d1b0d45b8f 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Textures/Pixel/Entity/Cow.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Technoguyfication/Minecraft-Unity3D/edf3ca819f379e6ef709ec29c78deb14d564dea4/Minecraft Client/Assets/_Project/Textures/Pixel/Entity/Cow.psd -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Textures/Pixel/Entity/Creeper.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Technoguyfication/Minecraft-Unity3D/edf3ca819f379e6ef709ec29c78deb14d564dea4/Minecraft Client/Assets/_Project/Textures/Pixel/Entity/Creeper.psd -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Textures/Pixel/Entity/Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b38ddfcd4bd9fc04da725da88ca3843b 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Textures/Pixel/Entity/Materials/Cow.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 6 6 | m_ObjectHideFlags: 0 7 | m_CorrespondingSourceObject: {fileID: 0} 8 | m_PrefabInstance: {fileID: 0} 9 | m_PrefabAsset: {fileID: 0} 10 | m_Name: Cow 11 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} 12 | m_ShaderKeywords: 13 | m_LightmapFlags: 4 14 | m_EnableInstancingVariants: 0 15 | m_DoubleSidedGI: 0 16 | m_CustomRenderQueue: -1 17 | stringTagMap: {} 18 | disabledShaderPasses: [] 19 | m_SavedProperties: 20 | serializedVersion: 3 21 | m_TexEnvs: 22 | - _BumpMap: 23 | m_Texture: {fileID: 0} 24 | m_Scale: {x: 1, y: 1} 25 | m_Offset: {x: 0, y: 0} 26 | - _DetailAlbedoMap: 27 | m_Texture: {fileID: 0} 28 | m_Scale: {x: 1, y: 1} 29 | m_Offset: {x: 0, y: 0} 30 | - _DetailMask: 31 | m_Texture: {fileID: 0} 32 | m_Scale: {x: 1, y: 1} 33 | m_Offset: {x: 0, y: 0} 34 | - _DetailNormalMap: 35 | m_Texture: {fileID: 0} 36 | m_Scale: {x: 1, y: 1} 37 | m_Offset: {x: 0, y: 0} 38 | - _EmissionMap: 39 | m_Texture: {fileID: 0} 40 | m_Scale: {x: 1, y: 1} 41 | m_Offset: {x: 0, y: 0} 42 | - _MainTex: 43 | m_Texture: {fileID: 2800000, guid: 9dae5a8cec2b0874081f9c123fd71705, type: 3} 44 | m_Scale: {x: 1, y: 1} 45 | m_Offset: {x: 0, y: 0} 46 | - _MetallicGlossMap: 47 | m_Texture: {fileID: 0} 48 | m_Scale: {x: 1, y: 1} 49 | m_Offset: {x: 0, y: 0} 50 | - _OcclusionMap: 51 | m_Texture: {fileID: 0} 52 | m_Scale: {x: 1, y: 1} 53 | m_Offset: {x: 0, y: 0} 54 | - _ParallaxMap: 55 | m_Texture: {fileID: 0} 56 | m_Scale: {x: 1, y: 1} 57 | m_Offset: {x: 0, y: 0} 58 | m_Floats: 59 | - _BumpScale: 1 60 | - _Cutoff: 0.5 61 | - _DetailNormalMapScale: 1 62 | - _DstBlend: 0 63 | - _GlossMapScale: 1 64 | - _Glossiness: 0 65 | - _GlossyReflections: 1 66 | - _Metallic: 0 67 | - _Mode: 0 68 | - _OcclusionStrength: 1 69 | - _Parallax: 0.02 70 | - _SmoothnessTextureChannel: 0 71 | - _SpecularHighlights: 1 72 | - _SrcBlend: 1 73 | - _UVSec: 0 74 | - _ZWrite: 1 75 | m_Colors: 76 | - _Color: {r: 1, g: 1, b: 1, a: 1} 77 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 78 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Textures/Pixel/Entity/Materials/Cow.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ba9c0fa56d0a0b343b9995aadc190f3a 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Textures/Pixel/Entity/Materials/Creeper.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 6 6 | m_ObjectHideFlags: 0 7 | m_CorrespondingSourceObject: {fileID: 0} 8 | m_PrefabInstance: {fileID: 0} 9 | m_PrefabAsset: {fileID: 0} 10 | m_Name: Creeper 11 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} 12 | m_ShaderKeywords: 13 | m_LightmapFlags: 4 14 | m_EnableInstancingVariants: 0 15 | m_DoubleSidedGI: 0 16 | m_CustomRenderQueue: -1 17 | stringTagMap: {} 18 | disabledShaderPasses: [] 19 | m_SavedProperties: 20 | serializedVersion: 3 21 | m_TexEnvs: 22 | - _BumpMap: 23 | m_Texture: {fileID: 0} 24 | m_Scale: {x: 1, y: 1} 25 | m_Offset: {x: 0, y: 0} 26 | - _DetailAlbedoMap: 27 | m_Texture: {fileID: 0} 28 | m_Scale: {x: 1, y: 1} 29 | m_Offset: {x: 0, y: 0} 30 | - _DetailMask: 31 | m_Texture: {fileID: 0} 32 | m_Scale: {x: 1, y: 1} 33 | m_Offset: {x: 0, y: 0} 34 | - _DetailNormalMap: 35 | m_Texture: {fileID: 0} 36 | m_Scale: {x: 1, y: 1} 37 | m_Offset: {x: 0, y: 0} 38 | - _EmissionMap: 39 | m_Texture: {fileID: 0} 40 | m_Scale: {x: 1, y: 1} 41 | m_Offset: {x: 0, y: 0} 42 | - _MainTex: 43 | m_Texture: {fileID: 2800000, guid: 96d4bb237d7dafd4aae5c5145fbda700, type: 3} 44 | m_Scale: {x: 1, y: 1} 45 | m_Offset: {x: 0, y: 0} 46 | - _MetallicGlossMap: 47 | m_Texture: {fileID: 0} 48 | m_Scale: {x: 1, y: 1} 49 | m_Offset: {x: 0, y: 0} 50 | - _OcclusionMap: 51 | m_Texture: {fileID: 0} 52 | m_Scale: {x: 1, y: 1} 53 | m_Offset: {x: 0, y: 0} 54 | - _ParallaxMap: 55 | m_Texture: {fileID: 0} 56 | m_Scale: {x: 1, y: 1} 57 | m_Offset: {x: 0, y: 0} 58 | m_Floats: 59 | - _BumpScale: 1 60 | - _Cutoff: 0.5 61 | - _DetailNormalMapScale: 1 62 | - _DstBlend: 0 63 | - _GlossMapScale: 1 64 | - _Glossiness: 0 65 | - _GlossyReflections: 1 66 | - _Metallic: 0 67 | - _Mode: 0 68 | - _OcclusionStrength: 1 69 | - _Parallax: 0.02 70 | - _SmoothnessTextureChannel: 0 71 | - _SpecularHighlights: 1 72 | - _SrcBlend: 1 73 | - _UVSec: 0 74 | - _ZWrite: 1 75 | m_Colors: 76 | - _Color: {r: 1, g: 1, b: 1, a: 1} 77 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 78 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Textures/Pixel/Entity/Materials/Creeper.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8f180444015cadb4b8d8f018f0ea2fb5 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Textures/Pixel/Entity/Materials/Pig.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 6 6 | m_ObjectHideFlags: 0 7 | m_CorrespondingSourceObject: {fileID: 0} 8 | m_PrefabInstance: {fileID: 0} 9 | m_PrefabAsset: {fileID: 0} 10 | m_Name: Pig 11 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} 12 | m_ShaderKeywords: 13 | m_LightmapFlags: 4 14 | m_EnableInstancingVariants: 0 15 | m_DoubleSidedGI: 0 16 | m_CustomRenderQueue: -1 17 | stringTagMap: {} 18 | disabledShaderPasses: [] 19 | m_SavedProperties: 20 | serializedVersion: 3 21 | m_TexEnvs: 22 | - _BumpMap: 23 | m_Texture: {fileID: 0} 24 | m_Scale: {x: 1, y: 1} 25 | m_Offset: {x: 0, y: 0} 26 | - _DetailAlbedoMap: 27 | m_Texture: {fileID: 0} 28 | m_Scale: {x: 1, y: 1} 29 | m_Offset: {x: 0, y: 0} 30 | - _DetailMask: 31 | m_Texture: {fileID: 0} 32 | m_Scale: {x: 1, y: 1} 33 | m_Offset: {x: 0, y: 0} 34 | - _DetailNormalMap: 35 | m_Texture: {fileID: 0} 36 | m_Scale: {x: 1, y: 1} 37 | m_Offset: {x: 0, y: 0} 38 | - _EmissionMap: 39 | m_Texture: {fileID: 0} 40 | m_Scale: {x: 1, y: 1} 41 | m_Offset: {x: 0, y: 0} 42 | - _MainTex: 43 | m_Texture: {fileID: 2800000, guid: 0059c8ef1d327cb45bfec6fdb43d18f9, type: 3} 44 | m_Scale: {x: 1, y: 1} 45 | m_Offset: {x: 0, y: 0} 46 | - _MetallicGlossMap: 47 | m_Texture: {fileID: 0} 48 | m_Scale: {x: 1, y: 1} 49 | m_Offset: {x: 0, y: 0} 50 | - _OcclusionMap: 51 | m_Texture: {fileID: 0} 52 | m_Scale: {x: 1, y: 1} 53 | m_Offset: {x: 0, y: 0} 54 | - _ParallaxMap: 55 | m_Texture: {fileID: 0} 56 | m_Scale: {x: 1, y: 1} 57 | m_Offset: {x: 0, y: 0} 58 | m_Floats: 59 | - _BumpScale: 1 60 | - _Cutoff: 0.5 61 | - _DetailNormalMapScale: 1 62 | - _DstBlend: 0 63 | - _GlossMapScale: 1 64 | - _Glossiness: 0 65 | - _GlossyReflections: 1 66 | - _Metallic: 0 67 | - _Mode: 0 68 | - _OcclusionStrength: 1 69 | - _Parallax: 0.02 70 | - _SmoothnessTextureChannel: 0 71 | - _SpecularHighlights: 1 72 | - _SrcBlend: 1 73 | - _UVSec: 0 74 | - _ZWrite: 1 75 | m_Colors: 76 | - _Color: {r: 1, g: 1, b: 1, a: 1} 77 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 78 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Textures/Pixel/Entity/Materials/Pig.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cc8062a5e2c0804409c92b336c7f7807 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Textures/Pixel/Entity/Pig.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Technoguyfication/Minecraft-Unity3D/edf3ca819f379e6ef709ec29c78deb14d564dea4/Minecraft Client/Assets/_Project/Textures/Pixel/Entity/Pig.psd -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Textures/Pixel/Entity/Player.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: de2d057a821a20441aa10cc21bea8743 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Textures/Pixel/Entity/Player/Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 32aeeea4129831c4288b4314f53cf99b 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Textures/Pixel/Entity/Player/Materials/Player.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 6 6 | m_ObjectHideFlags: 0 7 | m_CorrespondingSourceObject: {fileID: 0} 8 | m_PrefabInstance: {fileID: 0} 9 | m_PrefabAsset: {fileID: 0} 10 | m_Name: Player 11 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} 12 | m_ShaderKeywords: _ALPHATEST_ON 13 | m_LightmapFlags: 4 14 | m_EnableInstancingVariants: 0 15 | m_DoubleSidedGI: 0 16 | m_CustomRenderQueue: 2450 17 | stringTagMap: 18 | RenderType: TransparentCutout 19 | disabledShaderPasses: [] 20 | m_SavedProperties: 21 | serializedVersion: 3 22 | m_TexEnvs: 23 | - _BumpMap: 24 | m_Texture: {fileID: 0} 25 | m_Scale: {x: 1, y: 1} 26 | m_Offset: {x: 0, y: 0} 27 | - _DetailAlbedoMap: 28 | m_Texture: {fileID: 0} 29 | m_Scale: {x: 1, y: 1} 30 | m_Offset: {x: 0, y: 0} 31 | - _DetailMask: 32 | m_Texture: {fileID: 0} 33 | m_Scale: {x: 1, y: 1} 34 | m_Offset: {x: 0, y: 0} 35 | - _DetailNormalMap: 36 | m_Texture: {fileID: 0} 37 | m_Scale: {x: 1, y: 1} 38 | m_Offset: {x: 0, y: 0} 39 | - _EmissionMap: 40 | m_Texture: {fileID: 0} 41 | m_Scale: {x: 1, y: 1} 42 | m_Offset: {x: 0, y: 0} 43 | - _MainTex: 44 | m_Texture: {fileID: 2800000, guid: e1bb4d41ba26eaa4083b18d99b50d95f, type: 3} 45 | m_Scale: {x: 1, y: 1} 46 | m_Offset: {x: 0, y: 0} 47 | - _MetallicGlossMap: 48 | m_Texture: {fileID: 0} 49 | m_Scale: {x: 1, y: 1} 50 | m_Offset: {x: 0, y: 0} 51 | - _OcclusionMap: 52 | m_Texture: {fileID: 0} 53 | m_Scale: {x: 1, y: 1} 54 | m_Offset: {x: 0, y: 0} 55 | - _ParallaxMap: 56 | m_Texture: {fileID: 0} 57 | m_Scale: {x: 1, y: 1} 58 | m_Offset: {x: 0, y: 0} 59 | m_Floats: 60 | - _BumpScale: 1 61 | - _Cutoff: 0.5 62 | - _DetailNormalMapScale: 1 63 | - _DstBlend: 0 64 | - _GlossMapScale: 1 65 | - _Glossiness: 0 66 | - _GlossyReflections: 1 67 | - _Metallic: 0 68 | - _Mode: 1 69 | - _OcclusionStrength: 1 70 | - _Parallax: 0.02 71 | - _SmoothnessTextureChannel: 0 72 | - _SpecularHighlights: 1 73 | - _SrcBlend: 1 74 | - _UVSec: 0 75 | - _ZWrite: 1 76 | m_Colors: 77 | - _Color: {r: 1, g: 1, b: 1, a: 1} 78 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 79 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Textures/Pixel/Entity/Player/Materials/Player.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a8fdeda9f421b154d9319ac6cc3a3fd0 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Textures/Pixel/Entity/Player/Skin Template.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Technoguyfication/Minecraft-Unity3D/edf3ca819f379e6ef709ec29c78deb14d564dea4/Minecraft Client/Assets/_Project/Textures/Pixel/Entity/Player/Skin Template.png -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Textures/Pixel/Entity/Player/Xalili.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Technoguyfication/Minecraft-Unity3D/edf3ca819f379e6ef709ec29c78deb14d564dea4/Minecraft Client/Assets/_Project/Textures/Pixel/Entity/Player/Xalili.png -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Textures/Pixel/PixelTextureImporter.preset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 18e962d08208f7942b075c2273cc8a7d 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2655988077585873504 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Textures/UI.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3879c9634d9d21b4aa2cdae9faa95955 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Textures/UI/checkmark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Technoguyfication/Minecraft-Unity3D/edf3ca819f379e6ef709ec29c78deb14d564dea4/Minecraft Client/Assets/_Project/Textures/UI/checkmark.png -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Textures/UI/cross.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Technoguyfication/Minecraft-Unity3D/edf3ca819f379e6ef709ec29c78deb14d564dea4/Minecraft Client/Assets/_Project/Textures/UI/cross.png -------------------------------------------------------------------------------- /Minecraft Client/Assets/_Project/Textures/UI/refreshing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Technoguyfication/Minecraft-Unity3D/edf3ca819f379e6ef709ec29c78deb14d564dea4/Minecraft Client/Assets/_Project/Textures/UI/refreshing.png -------------------------------------------------------------------------------- /Minecraft Client/Packages/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "com.unity.ads": "2.0.8", 4 | "com.unity.analytics": "3.3.2", 5 | "com.unity.collab-proxy": "1.2.16", 6 | "com.unity.package-manager-ui": "2.1.2", 7 | "com.unity.purchasing": "2.0.6", 8 | "com.unity.textmeshpro": "2.0.1", 9 | "com.unity.timeline": "1.0.0", 10 | "com.unity.modules.ai": "1.0.0", 11 | "com.unity.modules.animation": "1.0.0", 12 | "com.unity.modules.assetbundle": "1.0.0", 13 | "com.unity.modules.audio": "1.0.0", 14 | "com.unity.modules.cloth": "1.0.0", 15 | "com.unity.modules.director": "1.0.0", 16 | "com.unity.modules.imageconversion": "1.0.0", 17 | "com.unity.modules.imgui": "1.0.0", 18 | "com.unity.modules.jsonserialize": "1.0.0", 19 | "com.unity.modules.particlesystem": "1.0.0", 20 | "com.unity.modules.physics": "1.0.0", 21 | "com.unity.modules.physics2d": "1.0.0", 22 | "com.unity.modules.screencapture": "1.0.0", 23 | "com.unity.modules.terrain": "1.0.0", 24 | "com.unity.modules.terrainphysics": "1.0.0", 25 | "com.unity.modules.tilemap": "1.0.0", 26 | "com.unity.modules.ui": "1.0.0", 27 | "com.unity.modules.uielements": "1.0.0", 28 | "com.unity.modules.umbra": "1.0.0", 29 | "com.unity.modules.unityanalytics": "1.0.0", 30 | "com.unity.modules.unitywebrequest": "1.0.0", 31 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0", 32 | "com.unity.modules.unitywebrequestaudio": "1.0.0", 33 | "com.unity.modules.unitywebrequesttexture": "1.0.0", 34 | "com.unity.modules.unitywebrequestwww": "1.0.0", 35 | "com.unity.modules.vehicles": "1.0.0", 36 | "com.unity.modules.video": "1.0.0", 37 | "com.unity.modules.vr": "1.0.0", 38 | "com.unity.modules.wind": "1.0.0", 39 | "com.unity.modules.xr": "1.0.0" 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /Minecraft Client/ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!11 &1 4 | AudioManager: 5 | m_ObjectHideFlags: 0 6 | m_Volume: 1 7 | Rolloff Scale: 1 8 | Doppler Factor: 1 9 | Default Speaker Mode: 2 10 | m_SampleRate: 0 11 | m_DSPBufferSize: 1024 12 | m_VirtualVoiceCount: 512 13 | m_RealVoiceCount: 32 14 | m_SpatializerPlugin: 15 | m_AmbisonicDecoderPlugin: 16 | m_DisableAudio: 0 17 | m_VirtualizeEffects: 1 18 | -------------------------------------------------------------------------------- /Minecraft Client/ProjectSettings/ClusterInputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!236 &1 4 | ClusterInputManager: 5 | m_ObjectHideFlags: 0 6 | m_Inputs: [] 7 | -------------------------------------------------------------------------------- /Minecraft Client/ProjectSettings/DynamicsManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!55 &1 4 | PhysicsManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 10 7 | m_Gravity: {x: 0, y: -28, z: 0} 8 | m_DefaultMaterial: {fileID: 13400000, guid: cfc40cb768c73bf42be6c0216ec798dd, type: 2} 9 | m_BounceThreshold: 2 10 | m_SleepThreshold: 0.005 11 | m_DefaultContactOffset: 0.01 12 | m_DefaultSolverIterations: 6 13 | m_DefaultSolverVelocityIterations: 1 14 | m_QueriesHitBackfaces: 0 15 | m_QueriesHitTriggers: 1 16 | m_EnableAdaptiveForce: 0 17 | m_ClothInterCollisionDistance: 0 18 | m_ClothInterCollisionStiffness: 0 19 | m_ContactsGeneration: 1 20 | m_LayerCollisionMatrix: fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 21 | m_AutoSimulation: 1 22 | m_AutoSyncTransforms: 1 23 | m_ReuseCollisionCallbacks: 0 24 | m_ClothInterCollisionSettingsToggle: 0 25 | m_ContactPairsMode: 0 26 | m_BroadphaseType: 0 27 | m_WorldBounds: 28 | m_Center: {x: 0, y: 0, z: 0} 29 | m_Extent: {x: 250, y: 250, z: 250} 30 | m_WorldSubdivisions: 8 31 | m_FrictionType: 0 32 | m_EnableEnhancedDeterminism: 0 33 | m_EnableUnifiedHeightmaps: 1 34 | -------------------------------------------------------------------------------- /Minecraft Client/ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1045 &1 4 | EditorBuildSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Scenes: 8 | - enabled: 1 9 | path: Assets/_Project/Scenes/MainMenu.unity 10 | guid: c087114f37c965140928b9d2f0dc7019 11 | - enabled: 1 12 | path: Assets/_Project/Scenes/LoadingScreen.unity 13 | guid: cc3e96c45b7b81c49877a4e9e4948039 14 | - enabled: 1 15 | path: Assets/_Project/Scenes/Game.unity 16 | guid: b087d8dad5a9fdb4cb4d7bb3e9b2f7ed 17 | m_configObjects: {} 18 | -------------------------------------------------------------------------------- /Minecraft Client/ProjectSettings/EditorSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!159 &1 4 | EditorSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 7 7 | m_ExternalVersionControlSupport: Visible Meta Files 8 | m_SerializationMode: 2 9 | m_LineEndingsForNewScripts: 2 10 | m_DefaultBehaviorMode: 0 11 | m_SpritePackerMode: 0 12 | m_SpritePackerPaddingPower: 1 13 | m_EtcTextureCompressorBehavior: 1 14 | m_EtcTextureFastCompressor: 1 15 | m_EtcTextureNormalCompressor: 2 16 | m_EtcTextureBestCompressor: 4 17 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd 18 | m_ProjectGenerationRootNamespace: 19 | m_UserGeneratedProjectSuffix: 20 | m_CollabEditorSettings: 21 | inProgressEnabled: 1 22 | -------------------------------------------------------------------------------- /Minecraft Client/ProjectSettings/GraphicsSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!30 &1 4 | GraphicsSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 12 7 | m_Deferred: 8 | m_Mode: 1 9 | m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} 10 | m_DeferredReflections: 11 | m_Mode: 1 12 | m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} 13 | m_ScreenSpaceShadows: 14 | m_Mode: 1 15 | m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} 16 | m_LegacyDeferred: 17 | m_Mode: 1 18 | m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} 19 | m_DepthNormals: 20 | m_Mode: 1 21 | m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} 22 | m_MotionVectors: 23 | m_Mode: 1 24 | m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} 25 | m_LightHalo: 26 | m_Mode: 1 27 | m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} 28 | m_LensFlare: 29 | m_Mode: 1 30 | m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} 31 | m_AlwaysIncludedShaders: 32 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} 33 | - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} 34 | - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} 35 | - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} 36 | - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} 37 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} 38 | - {fileID: 16000, guid: 0000000000000000f000000000000000, type: 0} 39 | - {fileID: 17000, guid: 0000000000000000f000000000000000, type: 0} 40 | - {fileID: 16001, guid: 0000000000000000f000000000000000, type: 0} 41 | m_PreloadedShaders: [] 42 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, 43 | type: 0} 44 | m_CustomRenderPipeline: {fileID: 0} 45 | m_TransparencySortMode: 0 46 | m_TransparencySortAxis: {x: 0, y: 0, z: 1} 47 | m_DefaultRenderingPath: 1 48 | m_DefaultMobileRenderingPath: 1 49 | m_TierSettings: [] 50 | m_LightmapStripping: 0 51 | m_FogStripping: 0 52 | m_InstancingStripping: 0 53 | m_LightmapKeepPlain: 1 54 | m_LightmapKeepDirCombined: 1 55 | m_LightmapKeepDynamicPlain: 1 56 | m_LightmapKeepDynamicDirCombined: 1 57 | m_LightmapKeepShadowMask: 1 58 | m_LightmapKeepSubtractive: 1 59 | m_FogKeepLinear: 1 60 | m_FogKeepExp: 1 61 | m_FogKeepExp2: 1 62 | m_AlbedoSwatchInfos: [] 63 | m_LightsUseLinearIntensity: 0 64 | m_LightsUseColorTemperature: 0 65 | -------------------------------------------------------------------------------- /Minecraft Client/ProjectSettings/NavMeshAreas.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!126 &1 4 | NavMeshProjectSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | areas: 8 | - name: Walkable 9 | cost: 1 10 | - name: Not Walkable 11 | cost: 1 12 | - name: Jump 13 | cost: 2 14 | - name: 15 | cost: 1 16 | - name: 17 | cost: 1 18 | - name: 19 | cost: 1 20 | - name: 21 | cost: 1 22 | - name: 23 | cost: 1 24 | - name: 25 | cost: 1 26 | - name: 27 | cost: 1 28 | - name: 29 | cost: 1 30 | - name: 31 | cost: 1 32 | - name: 33 | cost: 1 34 | - name: 35 | cost: 1 36 | - name: 37 | cost: 1 38 | - name: 39 | cost: 1 40 | - name: 41 | cost: 1 42 | - name: 43 | cost: 1 44 | - name: 45 | cost: 1 46 | - name: 47 | cost: 1 48 | - name: 49 | cost: 1 50 | - name: 51 | cost: 1 52 | - name: 53 | cost: 1 54 | - name: 55 | cost: 1 56 | - name: 57 | cost: 1 58 | - name: 59 | cost: 1 60 | - name: 61 | cost: 1 62 | - name: 63 | cost: 1 64 | - name: 65 | cost: 1 66 | - name: 67 | cost: 1 68 | - name: 69 | cost: 1 70 | - name: 71 | cost: 1 72 | m_LastAgentTypeID: -887442657 73 | m_Settings: 74 | - serializedVersion: 2 75 | agentTypeID: 0 76 | agentRadius: 0.5 77 | agentHeight: 2 78 | agentSlope: 45 79 | agentClimb: 0.75 80 | ledgeDropHeight: 0 81 | maxJumpAcrossDistance: 0 82 | minRegionArea: 2 83 | manualCellSize: 0 84 | cellSize: 0.16666667 85 | manualTileSize: 0 86 | tileSize: 256 87 | accuratePlacement: 0 88 | debug: 89 | m_Flags: 0 90 | m_SettingNames: 91 | - Humanoid 92 | -------------------------------------------------------------------------------- /Minecraft Client/ProjectSettings/NetworkManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!149 &1 4 | NetworkManager: 5 | m_ObjectHideFlags: 0 6 | m_DebugLevel: 0 7 | m_Sendrate: 15 8 | m_AssetToPrefab: {} 9 | -------------------------------------------------------------------------------- /Minecraft Client/ProjectSettings/Physics2DSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!19 &1 4 | Physics2DSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 3 7 | m_Gravity: {x: 0, y: -9.81} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_VelocityIterations: 8 10 | m_PositionIterations: 3 11 | m_VelocityThreshold: 1 12 | m_MaxLinearCorrection: 0.2 13 | m_MaxAngularCorrection: 8 14 | m_MaxTranslationSpeed: 100 15 | m_MaxRotationSpeed: 360 16 | m_BaumgarteScale: 0.2 17 | m_BaumgarteTimeOfImpactScale: 0.75 18 | m_TimeToSleep: 0.5 19 | m_LinearSleepTolerance: 0.01 20 | m_AngularSleepTolerance: 2 21 | m_DefaultContactOffset: 0.01 22 | m_AutoSimulation: 1 23 | m_QueriesHitTriggers: 1 24 | m_QueriesStartInColliders: 1 25 | m_ChangeStopsCallbacks: 0 26 | m_CallbacksOnDisable: 1 27 | m_AutoSyncTransforms: 1 28 | m_AlwaysShowColliders: 0 29 | m_ShowColliderSleep: 1 30 | m_ShowColliderContacts: 0 31 | m_ShowColliderAABB: 0 32 | m_ContactArrowScale: 0.2 33 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412} 34 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} 35 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} 36 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804} 37 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 38 | -------------------------------------------------------------------------------- /Minecraft Client/ProjectSettings/PresetManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1386491679 &1 4 | PresetManager: 5 | m_ObjectHideFlags: 0 6 | m_DefaultList: 7 | - type: 8 | m_NativeTypeID: 108 9 | m_ManagedTypePPtr: {fileID: 0} 10 | m_ManagedTypeFallback: 11 | defaultPresets: 12 | - m_Preset: {fileID: 2655988077585873504, guid: c1cf8506f04ef2c4a88b64b6c4202eea, 13 | type: 2} 14 | - type: 15 | m_NativeTypeID: 1020 16 | m_ManagedTypePPtr: {fileID: 0} 17 | m_ManagedTypeFallback: 18 | defaultPresets: 19 | - m_Preset: {fileID: 2655988077585873504, guid: 0cd792cc87e492d43b4e95b205fc5cc6, 20 | type: 2} 21 | - type: 22 | m_NativeTypeID: 1006 23 | m_ManagedTypePPtr: {fileID: 0} 24 | m_ManagedTypeFallback: 25 | defaultPresets: 26 | - m_Preset: {fileID: 2655988077585873504, guid: 18e962d08208f7942b075c2273cc8a7d, 27 | type: 2} 28 | - type: 29 | m_NativeTypeID: 1041 30 | m_ManagedTypePPtr: {fileID: 0} 31 | m_ManagedTypeFallback: 32 | defaultPresets: 33 | - m_Preset: {fileID: 2655988077585873504, guid: 207f239304cb9d84486008ebed84a68c, 34 | type: 2} 35 | -------------------------------------------------------------------------------- /Minecraft Client/ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 2019.1.8f1 2 | m_EditorVersionWithRevision: 2019.1.8f1 (7938dd008a75) 3 | -------------------------------------------------------------------------------- /Minecraft Client/ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!78 &1 4 | TagManager: 5 | serializedVersion: 2 6 | tags: 7 | - Loading Screen Controller 8 | - ReferenceLinker 9 | - Chunk Renderer 10 | layers: 11 | - Default 12 | - TransparentFX 13 | - Ignore Raycast 14 | - 15 | - Water 16 | - UI 17 | - 18 | - 19 | - PostProcessing 20 | - Entities 21 | - PlayerCamera 22 | - 23 | - 24 | - 25 | - 26 | - 27 | - 28 | - 29 | - 30 | - 31 | - 32 | - 33 | - 34 | - 35 | - 36 | - 37 | - 38 | - 39 | - 40 | - 41 | - 42 | - 43 | m_SortingLayers: 44 | - name: Default 45 | uniqueID: 0 46 | locked: 0 47 | -------------------------------------------------------------------------------- /Minecraft Client/ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!5 &1 4 | TimeManager: 5 | m_ObjectHideFlags: 0 6 | Fixed Timestep: 0.0167 7 | Maximum Allowed Timestep: 0.1 8 | m_TimeScale: 1 9 | Maximum Particle Timestep: 0.03 10 | -------------------------------------------------------------------------------- /Minecraft Client/ProjectSettings/UnityConnectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!310 &1 4 | UnityConnectSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 1 7 | m_Enabled: 1 8 | m_TestMode: 0 9 | m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events 10 | m_EventUrl: https://cdp.cloud.unity3d.com/v1/events 11 | m_ConfigUrl: https://config.uca.cloud.unity3d.com 12 | m_TestInitMode: 0 13 | CrashReportingSettings: 14 | m_EventUrl: https://perf-events.cloud.unity3d.com 15 | m_Enabled: 0 16 | m_LogBufferSize: 10 17 | m_CaptureEditorExceptions: 1 18 | UnityPurchasingSettings: 19 | m_Enabled: 0 20 | m_TestMode: 0 21 | UnityAnalyticsSettings: 22 | m_Enabled: 1 23 | m_TestMode: 0 24 | m_InitializeOnStartup: 1 25 | UnityAdsSettings: 26 | m_Enabled: 0 27 | m_InitializeOnStartup: 1 28 | m_TestMode: 0 29 | m_IosGameId: 30 | m_AndroidGameId: 31 | m_GameIds: {} 32 | m_GameId: 33 | PerformanceReportingSettings: 34 | m_Enabled: 0 35 | -------------------------------------------------------------------------------- /Minecraft Client/ProjectSettings/VFXManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!937362698 &1 4 | VFXManager: 5 | m_ObjectHideFlags: 0 6 | m_IndirectShader: {fileID: 0} 7 | m_CopyBufferShader: {fileID: 0} 8 | m_SortShader: {fileID: 0} 9 | m_RenderPipeSettingsPath: 10 | m_FixedTimeStep: 0.016666668 11 | m_MaxDeltaTime: 0.05 12 | -------------------------------------------------------------------------------- /Minecraft Client/ProjectSettings/XRSettings.asset: -------------------------------------------------------------------------------- 1 | { 2 | "m_SettingKeys": [ 3 | "VR Device Disabled", 4 | "VR Device User Alert" 5 | ], 6 | "m_SettingValues": [ 7 | "False", 8 | "False" 9 | ] 10 | } -------------------------------------------------------------------------------- /Minecraft Client/app.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Minecraft-Unity3D 2 | 3 | ### See the Trello board [here](https://trello.com/b/O2Dzeo22/unity-minecraft-client) 4 | 5 | I want to recreate the vanilla Minecraft client in Unity to a degree that the game is mostly playable. The idea is you can connect to a server and play with your friends like normal, and have a very close to vanilla experience. I might also add in some client-side modifications in the future ;) 6 | 7 | 8 | Adding some screenshots to better explain where the project is at right now: 9 | 10 | And if you click [here](https://tkno.pw/2UilKrJ) you can see a GIF 11 | 12 | ![](https://tkno.pw/2Uls6a8) 13 | ![](https://tkno.pw/2Ufs7Mt) 14 | --------------------------------------------------------------------------------