├── .gitattributes ├── .github └── workflows │ └── build.yml ├── .gitignore ├── .gitlab-ci.yml ├── .idea └── copyright │ ├── GPLv3.xml │ └── profiles_settings.xml ├── Contributing.md ├── Credits.md ├── LICENSE.md ├── ReadMe.md ├── build.gradle.kts ├── doc ├── Architecture.md ├── Assets.md ├── AssetsManager.md ├── Bannability.md ├── CLI.md ├── Headless.md ├── MinecraftVersions.md ├── Modding2.md ├── Performance.md ├── Physics.md ├── Roadmap.txt ├── Shader.md ├── Sky.md ├── Updater.md ├── VersionSupport.md ├── contributing │ └── Development.md ├── img │ ├── Minosoft_logo.png │ ├── afk_pool.png │ ├── eros.png │ ├── hypixel_lobby.png │ ├── hypixel_skyblock.png │ ├── rendering1.png │ ├── rendering5.png │ └── sunset.png ├── modding │ └── Container.md ├── rendering │ ├── Entities.md │ ├── GUI.md │ ├── Meshes.md │ ├── ReadMe.md │ └── world_renderer.md └── snapSupportToDo.txt ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── release ├── create.sh └── release.sh ├── run.cmd ├── schemas ├── assets_properties.json └── atlas.json ├── settings.gradle.kts ├── src ├── benchmark │ └── kotlin │ │ └── de │ │ └── bixilon │ │ └── minosoft │ │ └── data │ │ ├── registries │ │ └── blocks │ │ │ └── types │ │ │ └── TestBlock.kt │ │ └── world │ │ └── chunk │ │ ├── LightTestingUtil.kt │ │ └── light │ │ └── LightBenchmark.kt ├── integration-test │ ├── kotlin │ │ └── de │ │ │ └── bixilon │ │ │ └── minosoft │ │ │ ├── MinosoftSIT.kt │ │ │ ├── assets │ │ │ ├── MemoryAssetsManager.kt │ │ │ └── TestAssetsManager.kt │ │ │ ├── camera │ │ │ └── target │ │ │ │ └── TargetHandlerTest.kt │ │ │ ├── commands │ │ │ ├── MsgCommandIT.kt │ │ │ ├── TPCommandIT.kt │ │ │ └── nodes │ │ │ │ └── ChatNodeTest.kt │ │ │ ├── config │ │ │ └── profile │ │ │ │ ├── Boxed.kt │ │ │ │ ├── ProfileTestUtil.kt │ │ │ │ ├── profiles │ │ │ │ └── resources │ │ │ │ │ └── ResourceProfileMigrationTest.kt │ │ │ │ ├── storage │ │ │ │ ├── ProfileIOManagerTest.kt │ │ │ │ └── StorageProfileManagerTest.kt │ │ │ │ └── test │ │ │ │ ├── ProfileManagerTest.kt │ │ │ │ ├── TestProfile.kt │ │ │ │ ├── TestProfileManager.kt │ │ │ │ └── config │ │ │ │ └── ConfigC.kt │ │ │ ├── data │ │ │ ├── accounts │ │ │ │ └── types │ │ │ │ │ └── test │ │ │ │ │ └── TestAccount.kt │ │ │ ├── chat │ │ │ │ └── signature │ │ │ │ │ ├── SignatureSIT.kt │ │ │ │ │ ├── SignatureTestUtil.kt │ │ │ │ │ ├── command │ │ │ │ │ └── SignCommandTest.kt │ │ │ │ │ └── signer │ │ │ │ │ ├── DummyMessageSigner.kt │ │ │ │ │ ├── MessageSigner1Test.kt │ │ │ │ │ ├── MessageSigner2Test.kt │ │ │ │ │ └── MessageSigner3Test.kt │ │ │ ├── container │ │ │ │ ├── ContainerTestUtil.kt │ │ │ │ ├── actions │ │ │ │ │ ├── CloneContainerActionTest.kt │ │ │ │ │ ├── DropContainerActionTest.kt │ │ │ │ │ ├── FastMoveContainerActionTest.kt │ │ │ │ │ ├── PickAllContainerActionTest.kt │ │ │ │ │ └── SimpleContainerActionTest.kt │ │ │ │ ├── locking │ │ │ │ │ └── ContainerLockingTest.kt │ │ │ │ ├── slots │ │ │ │ │ └── FuelSlotTypeTest.kt │ │ │ │ └── stack │ │ │ │ │ └── ItemStackTest.kt │ │ │ ├── entities │ │ │ │ ├── EntityTestUtil.kt │ │ │ │ ├── block │ │ │ │ │ └── sign │ │ │ │ │ │ └── SignBlockEntityTest.kt │ │ │ │ └── entities │ │ │ │ │ ├── EntityTest.kt │ │ │ │ │ └── player │ │ │ │ │ ├── RemotePlayerEntityTest.kt │ │ │ │ │ ├── additional │ │ │ │ │ └── PlayerAdditionalTest.kt │ │ │ │ │ └── properties │ │ │ │ │ └── textures │ │ │ │ │ └── PlayerTexturesTest.kt │ │ │ ├── physics │ │ │ │ ├── ElytraFlyIT.kt │ │ │ │ ├── EmptyWorldView.kt │ │ │ │ ├── PhysicsTestUtil.kt │ │ │ │ ├── SpectatorTest.kt │ │ │ │ ├── attribute │ │ │ │ │ └── AttributeIT.kt │ │ │ │ ├── blocks │ │ │ │ │ ├── bouncing │ │ │ │ │ │ ├── BedBounceIT.kt │ │ │ │ │ │ ├── BounceIT.kt │ │ │ │ │ │ ├── HoneyBounceIT.kt │ │ │ │ │ │ └── SlimeBounceIT.kt │ │ │ │ │ ├── climbing │ │ │ │ │ │ ├── ClimbingIT.kt │ │ │ │ │ │ ├── LadderIT.kt │ │ │ │ │ │ ├── ScaffoldingIT.kt │ │ │ │ │ │ └── TwistedVinesIT.kt │ │ │ │ │ ├── slow │ │ │ │ │ │ ├── CobwebIT.kt │ │ │ │ │ │ ├── PowderSnowIT.kt │ │ │ │ │ │ ├── SlowMovementIT.kt │ │ │ │ │ │ └── SweetBerryBushIT.kt │ │ │ │ │ └── walking │ │ │ │ │ │ ├── HoneyWalkIT.kt │ │ │ │ │ │ ├── IceWalkIT.kt │ │ │ │ │ │ ├── PackedIceWalkIT.kt │ │ │ │ │ │ ├── SlimeWalkIT.kt │ │ │ │ │ │ ├── SoulSandWalkIT.kt │ │ │ │ │ │ ├── SpeedGrassWalkIT.kt │ │ │ │ │ │ ├── StoneWalkIT.kt │ │ │ │ │ │ └── WalkIT.kt │ │ │ │ ├── enchantments │ │ │ │ │ ├── EnchantmentTestUtil.kt │ │ │ │ │ ├── NoEnchantmentTest.kt │ │ │ │ │ └── SwiftSneakTest.kt │ │ │ │ ├── fluid │ │ │ │ │ ├── flowing │ │ │ │ │ │ ├── FlowingFluidIT.kt │ │ │ │ │ │ ├── LavaFlowingIT.kt │ │ │ │ │ │ ├── ULavaFlowingIT.kt │ │ │ │ │ │ └── WaterFlowingIT.kt │ │ │ │ │ └── still │ │ │ │ │ │ ├── BubbleColumnIT.kt │ │ │ │ │ │ ├── LavaStillIT.kt │ │ │ │ │ │ ├── MixedFluidIT.kt │ │ │ │ │ │ ├── StillFluidIT.kt │ │ │ │ │ │ └── WaterStillIT.kt │ │ │ │ ├── gravity │ │ │ │ │ ├── CollisionIT.kt │ │ │ │ │ └── GravityPhysicsIT.kt │ │ │ │ ├── health │ │ │ │ │ └── DamageMovementIT.kt │ │ │ │ ├── input │ │ │ │ │ ├── FlyIT.kt │ │ │ │ │ ├── JumpIT.kt │ │ │ │ │ ├── RotatingTest.kt │ │ │ │ │ ├── SneakIT.kt │ │ │ │ │ └── SprintIT.kt │ │ │ │ ├── item │ │ │ │ │ └── ItemEntityIT.kt │ │ │ │ ├── parkour │ │ │ │ │ ├── ParkourTick.kt │ │ │ │ │ └── ParkourUtil.kt │ │ │ │ ├── potion │ │ │ │ │ ├── BlindnessIT.kt │ │ │ │ │ ├── JumpBoostIT.kt │ │ │ │ │ ├── LevitationIT.kt │ │ │ │ │ ├── PotionExpireIT.kt │ │ │ │ │ ├── SlowFallingIT.kt │ │ │ │ │ └── SpeedIT.kt │ │ │ │ ├── precision │ │ │ │ │ └── VelocityFlatteningIT.kt │ │ │ │ ├── riding │ │ │ │ │ ├── AbstractRidingTest.kt │ │ │ │ │ ├── HorseRidingTest.kt │ │ │ │ │ └── PigRidingTest.kt │ │ │ │ ├── server │ │ │ │ │ ├── AbilitiesIT.kt │ │ │ │ │ └── ServerVelocityIT.kt │ │ │ │ └── stub │ │ │ │ │ └── StubPhysicsIT.kt │ │ │ ├── registries │ │ │ │ ├── VersionRegistry.kt │ │ │ │ ├── blocks │ │ │ │ │ ├── BlockTest.kt │ │ │ │ │ ├── DirtTest.kt │ │ │ │ │ ├── GlassTest.kt │ │ │ │ │ ├── LeavesTest.kt │ │ │ │ │ ├── SlabTest.kt │ │ │ │ │ ├── SlimeTest.kt │ │ │ │ │ ├── StairsTest.kt │ │ │ │ │ ├── TorchTest.kt │ │ │ │ │ ├── WaterTest.kt │ │ │ │ │ ├── factory │ │ │ │ │ │ └── VerifyIntegratedBlockRegistry.kt │ │ │ │ │ ├── properties │ │ │ │ │ │ └── list │ │ │ │ │ │ │ └── MapPropertyListTest.kt │ │ │ │ │ └── types │ │ │ │ │ │ ├── pvp │ │ │ │ │ │ └── CobwebTest.kt │ │ │ │ │ │ └── stone │ │ │ │ │ │ └── StoneTest.kt │ │ │ │ ├── fluid │ │ │ │ │ └── fluids │ │ │ │ │ │ └── WaterFluidTest.kt │ │ │ │ ├── integrated │ │ │ │ │ └── IntegratedRegistryIT.kt │ │ │ │ ├── item │ │ │ │ │ └── items │ │ │ │ │ │ └── tool │ │ │ │ │ │ ├── ToolTest.kt │ │ │ │ │ │ ├── axe │ │ │ │ │ │ └── AxeItemTest.kt │ │ │ │ │ │ ├── hoe │ │ │ │ │ │ └── HoeItemTest.kt │ │ │ │ │ │ ├── pickaxe │ │ │ │ │ │ ├── PickaxeItemTest.kt │ │ │ │ │ │ └── PickaxeTagsTest.kt │ │ │ │ │ │ ├── shears │ │ │ │ │ │ └── ShearsTest.kt │ │ │ │ │ │ ├── shovel │ │ │ │ │ │ └── ShovelTest.kt │ │ │ │ │ │ └── sword │ │ │ │ │ │ └── SwordTest.kt │ │ │ │ ├── items │ │ │ │ │ ├── AppleTest.kt │ │ │ │ │ ├── CoalTest.kt │ │ │ │ │ ├── EggTest.kt │ │ │ │ │ ├── ItemTest.kt │ │ │ │ │ ├── LavaBucketTest.kt │ │ │ │ │ └── WaterBucketTest.kt │ │ │ │ ├── registries │ │ │ │ │ └── registry │ │ │ │ │ │ ├── BlockStateRegistryTest.kt │ │ │ │ │ │ └── RegistryTest.kt │ │ │ │ └── versions │ │ │ │ │ ├── ProtocolVersionIT.kt │ │ │ │ │ └── registries │ │ │ │ │ ├── RegistryLoadingTest.kt │ │ │ │ │ ├── legacy │ │ │ │ │ ├── 1_12_2.kt │ │ │ │ │ ├── 1_7_10.kt │ │ │ │ │ ├── 1_8_9.kt │ │ │ │ │ └── LegacyLoadingTest.kt │ │ │ │ │ └── pixlyzer │ │ │ │ │ ├── 1_13.kt │ │ │ │ │ ├── 1_13_1.kt │ │ │ │ │ ├── 1_13_2.kt │ │ │ │ │ ├── 1_14.kt │ │ │ │ │ ├── 1_14_1.kt │ │ │ │ │ ├── 1_14_2.kt │ │ │ │ │ ├── 1_14_3.kt │ │ │ │ │ ├── 1_14_4.kt │ │ │ │ │ ├── 1_15.kt │ │ │ │ │ ├── 1_15_1.kt │ │ │ │ │ ├── 1_15_2.kt │ │ │ │ │ ├── 1_16.kt │ │ │ │ │ ├── 1_16_1.kt │ │ │ │ │ ├── 1_16_2.kt │ │ │ │ │ ├── 1_16_3.kt │ │ │ │ │ ├── 1_16_5.kt │ │ │ │ │ ├── 1_17_1.kt │ │ │ │ │ ├── 1_18_1.kt │ │ │ │ │ ├── 1_18_2.kt │ │ │ │ │ ├── 1_19.kt │ │ │ │ │ ├── 1_19_2.kt │ │ │ │ │ ├── 1_19_3.kt │ │ │ │ │ ├── 1_19_4.kt │ │ │ │ │ ├── 1_20_1.kt │ │ │ │ │ ├── 1_20_2.kt │ │ │ │ │ ├── 1_20_4.kt │ │ │ │ │ ├── Latest.kt │ │ │ │ │ └── PixLyzerLoadingTest.kt │ │ │ └── world │ │ │ │ ├── WorldTestUtil.kt │ │ │ │ ├── biome │ │ │ │ ├── WorldBiomesTest.kt │ │ │ │ └── accessor │ │ │ │ │ └── VoronoiBiomeAccessorTest.kt │ │ │ │ ├── chunk │ │ │ │ ├── LightTestingUtil.kt │ │ │ │ ├── light │ │ │ │ │ ├── GeneralHeightmapTest.kt │ │ │ │ │ ├── LightTestUtil.kt │ │ │ │ │ ├── SkyLightTraceIT.kt │ │ │ │ │ ├── breaking │ │ │ │ │ │ ├── BlockLightBreakIT.kt │ │ │ │ │ │ └── HeightmapBreakTest.kt │ │ │ │ │ └── place │ │ │ │ │ │ ├── BlockLightPlaceIT.kt │ │ │ │ │ │ ├── HeightmapPlaceTest.kt │ │ │ │ │ │ └── SkyLightPlaceIT.kt │ │ │ │ ├── manager │ │ │ │ │ └── ChunkManagerTest.kt │ │ │ │ └── neighbours │ │ │ │ │ └── ChunkNeighboursTest.kt │ │ │ │ ├── container │ │ │ │ └── block │ │ │ │ │ ├── BlockSectionDataProviderTest.kt │ │ │ │ │ └── SectionOcclusionTest.kt │ │ │ │ ├── entities │ │ │ │ └── WorldEntitiesTest.kt │ │ │ │ ├── iterator │ │ │ │ └── WorldIteratorTest.kt │ │ │ │ └── view │ │ │ │ └── TestWorldView.kt │ │ │ ├── gui │ │ │ └── rendering │ │ │ │ ├── RenderTestLoader.kt │ │ │ │ ├── RenderTestUtil.kt │ │ │ │ ├── camera │ │ │ │ ├── frustum │ │ │ │ │ └── FrustumTest.kt │ │ │ │ └── occlusion │ │ │ │ │ └── OcclusionTracerTest.kt │ │ │ │ ├── chunk │ │ │ │ ├── ChunkRendererTest.kt │ │ │ │ ├── entities │ │ │ │ │ └── renderer │ │ │ │ │ │ └── storage │ │ │ │ │ │ └── OpenCloseAnimationTest.kt │ │ │ │ └── mesher │ │ │ │ │ ├── FluidSectionMesherTest.kt │ │ │ │ │ └── SolidSectionMesherTest.kt │ │ │ │ ├── entities │ │ │ │ ├── EntityRendererManagerTest.kt │ │ │ │ ├── EntityRendererTestUtil.kt │ │ │ │ ├── feature │ │ │ │ │ ├── hitbox │ │ │ │ │ │ └── HitboxFeatureTest.kt │ │ │ │ │ └── text │ │ │ │ │ │ ├── BillbaordTextTestUtil.kt │ │ │ │ │ │ ├── BillboardTextFeatureTest.kt │ │ │ │ │ │ └── name │ │ │ │ │ │ ├── EntityNameFeatureTest.kt │ │ │ │ │ │ └── EntityScoreFeatureTest.kt │ │ │ │ └── visibility │ │ │ │ │ └── VisibilityManagerTest.kt │ │ │ │ ├── font │ │ │ │ ├── renderer │ │ │ │ │ ├── code │ │ │ │ │ │ └── RasterizedCodePointRendererTest.kt │ │ │ │ │ └── component │ │ │ │ │ │ ├── ChatComponentRendererTest.kt │ │ │ │ │ │ └── DummyComponentConsumer.kt │ │ │ │ └── types │ │ │ │ │ ├── bitmap │ │ │ │ │ └── BitmapFontTypeTest.kt │ │ │ │ │ ├── dummy │ │ │ │ │ ├── DummyCodePointRenderer.kt │ │ │ │ │ └── DummyFontType.kt │ │ │ │ │ └── unicode │ │ │ │ │ ├── legacy │ │ │ │ │ └── LegacyUnicodeFontTypeTest.kt │ │ │ │ │ └── unihex │ │ │ │ │ └── UnihexFontTypeTest.kt │ │ │ │ ├── gui │ │ │ │ ├── atlas │ │ │ │ │ └── textures │ │ │ │ │ │ └── AtlasTextureManagerTest.kt │ │ │ │ ├── elements │ │ │ │ │ └── text │ │ │ │ │ │ └── TextElementTest.kt │ │ │ │ ├── mesh │ │ │ │ │ └── DummyGUIVertexConsumer.kt │ │ │ │ └── test │ │ │ │ │ └── GuiRenderTestUtil.kt │ │ │ │ ├── input │ │ │ │ └── key │ │ │ │ │ └── manager │ │ │ │ │ ├── InputManagerTest.kt │ │ │ │ │ ├── InputTestUtil.kt │ │ │ │ │ └── binding │ │ │ │ │ ├── BindingManagerTest.kt │ │ │ │ │ └── actions │ │ │ │ │ └── KeyActionFilterTest.kt │ │ │ │ ├── models │ │ │ │ ├── BlockModelTest.kt │ │ │ │ ├── BlockStateApplyTest.kt │ │ │ │ ├── ModelTestUtil.kt │ │ │ │ ├── baked │ │ │ │ │ ├── BakedFaceTest.kt │ │ │ │ │ ├── BakedModelTestUtil.kt │ │ │ │ │ ├── CuboidBakeTest.kt │ │ │ │ │ ├── FaceRotationTest.kt │ │ │ │ │ ├── FullCubeBakeTest.kt │ │ │ │ │ ├── LightIndexTest.kt │ │ │ │ │ ├── UVLockTest.kt │ │ │ │ │ ├── WeightedModelTest.kt │ │ │ │ │ └── rotation │ │ │ │ │ │ ├── ElementRotationTest.kt │ │ │ │ │ │ ├── XRotationTest.kt │ │ │ │ │ │ ├── XYRotationTest.kt │ │ │ │ │ │ └── YRotationTest.kt │ │ │ │ ├── block │ │ │ │ │ └── state │ │ │ │ │ │ ├── baked │ │ │ │ │ │ ├── BakingUtilIT.kt │ │ │ │ │ │ └── cull │ │ │ │ │ │ │ ├── FaceCullingTest.kt │ │ │ │ │ │ │ └── FacePropertiesTest.kt │ │ │ │ │ │ ├── render │ │ │ │ │ │ ├── BlockGUIConsumerTest.kt │ │ │ │ │ │ └── WeightedBlockRenderTest.kt │ │ │ │ │ │ └── variant │ │ │ │ │ │ └── PropertyVariantBlockModelTest.kt │ │ │ │ ├── loader │ │ │ │ │ └── SkeletalLoaderTest.kt │ │ │ │ └── util │ │ │ │ │ └── CuboidUtilTest.kt │ │ │ │ ├── particle │ │ │ │ └── ParticleRendererTest.kt │ │ │ │ ├── renderer │ │ │ │ └── renderer │ │ │ │ │ └── pipeline │ │ │ │ │ └── world │ │ │ │ │ └── WorldRendererPipelineTest.kt │ │ │ │ ├── skeletal │ │ │ │ └── baked │ │ │ │ │ └── animation │ │ │ │ │ └── keyframe │ │ │ │ │ └── instance │ │ │ │ │ └── KeyframeInstanceTest.kt │ │ │ │ ├── system │ │ │ │ ├── base │ │ │ │ │ ├── RenderOrderTest.kt │ │ │ │ │ └── texture │ │ │ │ │ │ ├── data │ │ │ │ │ │ └── buffer │ │ │ │ │ │ │ ├── RGB8BufferTest.kt │ │ │ │ │ │ │ └── RGBA8BufferTest.kt │ │ │ │ │ │ └── skin │ │ │ │ │ │ └── SkinManagerTest.kt │ │ │ │ ├── dummy │ │ │ │ │ ├── DummyRenderSystem.kt │ │ │ │ │ ├── DummyVendor.kt │ │ │ │ │ ├── buffer │ │ │ │ │ │ ├── DummyFramebuffer.kt │ │ │ │ │ │ ├── DummyVertexBuffer.kt │ │ │ │ │ │ └── uniform │ │ │ │ │ │ │ ├── DummyFloatUniformBuffer.kt │ │ │ │ │ │ │ └── DummyIntUniformBuffer.kt │ │ │ │ │ ├── shader │ │ │ │ │ │ └── DummyNativeShader.kt │ │ │ │ │ └── texture │ │ │ │ │ │ ├── DummyDynamicTexture.kt │ │ │ │ │ │ ├── DummyDynamicTextureArray.kt │ │ │ │ │ │ ├── DummyFontTextureArray.kt │ │ │ │ │ │ ├── DummyStaticTextureArray.kt │ │ │ │ │ │ ├── DummyTexture.kt │ │ │ │ │ │ ├── DummyTextureManager.kt │ │ │ │ │ │ └── DummyTextureRenderData.kt │ │ │ │ └── window │ │ │ │ │ └── dummy │ │ │ │ │ └── DummyWindow.kt │ │ │ │ ├── textures │ │ │ │ ├── TextureAnimationTest.kt │ │ │ │ ├── TextureReadingTest.kt │ │ │ │ └── properties │ │ │ │ │ └── AnimationPropertiesTest.kt │ │ │ │ ├── tint │ │ │ │ └── tints │ │ │ │ │ ├── ColorMapTintTest.kt │ │ │ │ │ └── grass │ │ │ │ │ └── GrassTintCalculatorTest.kt │ │ │ │ └── util │ │ │ │ └── mesh │ │ │ │ └── uv │ │ │ │ └── PackedUVTest.kt │ │ │ ├── input │ │ │ └── interaction │ │ │ │ ├── AttackHandlerTest.kt │ │ │ │ ├── InteractionManagerTest.kt │ │ │ │ ├── InteractionTestUtil.kt │ │ │ │ ├── KeyHandlerUtil.kt │ │ │ │ ├── breaking │ │ │ │ ├── BreakHandlerInputTest.kt │ │ │ │ ├── BreakHandlerTest.kt │ │ │ │ └── executor │ │ │ │ │ ├── SequencedExecutorTest.kt │ │ │ │ │ └── TestExecutor.kt │ │ │ │ ├── long │ │ │ │ ├── LongUseBlockIT.kt │ │ │ │ ├── LongUseEntityIT.kt │ │ │ │ └── LongUseIT.kt │ │ │ │ ├── short │ │ │ │ ├── BlockPlaceIT.kt │ │ │ │ ├── BlockUseIT.kt │ │ │ │ ├── EntityUseIT.kt │ │ │ │ ├── ItemUseIT.kt │ │ │ │ ├── OnAirUseIT.kt │ │ │ │ └── ShortUseIT.kt │ │ │ │ └── use │ │ │ │ └── UseHandlerInputTest.kt │ │ │ ├── modding │ │ │ └── loader │ │ │ │ └── phase │ │ │ │ └── LoadingPhaseTest.kt │ │ │ ├── protocol │ │ │ ├── network │ │ │ │ ├── network │ │ │ │ │ └── client │ │ │ │ │ │ ├── netty │ │ │ │ │ │ └── packet │ │ │ │ │ │ │ ├── receiver │ │ │ │ │ │ │ └── PacketReceiverTest.kt │ │ │ │ │ │ │ └── sender │ │ │ │ │ │ │ └── PacketSenderTest.kt │ │ │ │ │ │ └── test │ │ │ │ │ │ └── TestNetwork.kt │ │ │ │ └── session │ │ │ │ │ └── play │ │ │ │ │ ├── PacketTestUtil.kt │ │ │ │ │ └── SessionTestUtil.kt │ │ │ ├── packets │ │ │ │ ├── registry │ │ │ │ │ └── PacketRegistryTest.kt │ │ │ │ └── s2c │ │ │ │ │ └── play │ │ │ │ │ ├── CommandsS2CPTest.kt │ │ │ │ │ ├── InitializeS2CPTest.kt │ │ │ │ │ ├── PacketReadingTestUtil.kt │ │ │ │ │ ├── chat │ │ │ │ │ └── SignedChatMessageS2CPTest.kt │ │ │ │ │ ├── chunk │ │ │ │ │ ├── ChunkS2CPTest.kt │ │ │ │ │ └── ChunksS2CPTest.kt │ │ │ │ │ └── tab │ │ │ │ │ └── TabListS2CPTest.kt │ │ │ └── protocol │ │ │ │ └── DefaultPacketMappingTest.kt │ │ │ ├── test │ │ │ ├── IT.kt │ │ │ └── ITUtil.kt │ │ │ ├── updater │ │ │ ├── MinosoftUpdateTest.kt │ │ │ └── MinosoftUpdaterTest.kt │ │ │ └── util │ │ │ └── yggdrasil │ │ │ └── YggdrasilUtilTest.kt │ └── resources │ │ ├── chunk │ │ └── occlusion_stack_overflow.txt │ │ ├── model │ │ └── skeletal │ │ │ └── dummy.smodel │ │ ├── mods │ │ ├── broken │ │ │ └── dummy │ │ │ │ └── manifest.json │ │ ├── dummy │ │ │ └── dummy │ │ │ │ ├── assets │ │ │ │ └── nothin │ │ │ │ │ └── flag.txt │ │ │ │ ├── de │ │ │ │ └── bixilon │ │ │ │ │ └── minosoft │ │ │ │ │ └── modding │ │ │ │ │ └── dummy │ │ │ │ │ ├── DummyMod.class │ │ │ │ │ └── DummyMod.kt │ │ │ │ └── manifest.json │ │ └── nocode │ │ │ └── dummy │ │ │ └── manifest.json │ │ ├── packets │ │ ├── chunk │ │ │ ├── cuberite_1_12_2.bin │ │ │ ├── cuberite_1_8_9.bin │ │ │ ├── feather_1_16_5.bin │ │ │ ├── hypixel_hub_1_19_3.bin │ │ │ ├── hypixel_registries.mbf │ │ │ └── vanilla_1_19_3.bin │ │ ├── chunks │ │ │ └── vanilla_1_7_10.bin │ │ ├── commands │ │ │ ├── vanilla_op_1_15_2.bin │ │ │ ├── vanilla_op_1_19_3.bin │ │ │ └── vanilla_op_1_20_1.bin │ │ ├── initialize │ │ │ ├── hypixel_1_19_4.bin │ │ │ ├── vanilla_1_15_2.bin │ │ │ ├── vanilla_1_16_5.bin │ │ │ ├── vanilla_1_20_1.bin │ │ │ ├── vanilla_1_20_2.bin │ │ │ └── vanilla_1_7_10.bin │ │ ├── signed_chat_message │ │ │ ├── vanilla_1_20_4.bin │ │ │ └── vanilla_23w40a.bin │ │ └── tab │ │ │ ├── greev_eu_1_15_2.bin │ │ │ ├── greev_eu_1_20_2.bin │ │ │ └── greev_eu_1_20_4.bin │ │ ├── parkour │ │ ├── ice_parkour_1.txt │ │ └── ice_walk_1.txt │ │ ├── skins │ │ ├── 180fce54ab949a1eada68bea6be02633a4c15fd0915f097a93fa6d3ca1e04623.png │ │ ├── 5065405b55a729be5a442832b895d4352b3fdcc61c8c57f4b8abad64344194d3.png │ │ ├── 7af7c07d1ded61b1d3312685b32e4568ffdda762ec8d808895cc329a93d606e0.png │ │ └── 7af7c07d1ded61b1d3312685b32e4568ffdda762ec8d808895cc329a93d606e0_fixed.png │ │ ├── texture_reading │ │ ├── gray_gray.png │ │ ├── gray_rgb.png │ │ └── sand.png │ │ └── tint │ │ ├── foliage.png │ │ └── grass.png ├── main │ ├── java │ │ ├── de │ │ │ └── bixilon │ │ │ │ └── minosoft │ │ │ │ ├── Minosoft.kt │ │ │ │ ├── advancements │ │ │ │ ├── Advancement.kt │ │ │ │ ├── AdvancementDisplay.kt │ │ │ │ ├── AdvancementFrames.kt │ │ │ │ └── AdvancementProgress.kt │ │ │ │ ├── assets │ │ │ │ ├── AssetsLoader.kt │ │ │ │ ├── AssetsManager.kt │ │ │ │ ├── IntegratedAssets.kt │ │ │ │ ├── InvalidAssetException.kt │ │ │ │ ├── directory │ │ │ │ │ └── DirectoryAssetsManager.kt │ │ │ │ ├── error │ │ │ │ │ ├── AssetCorruptedError.kt │ │ │ │ │ └── AssetNotFoundError.kt │ │ │ │ ├── file │ │ │ │ │ ├── FileAssetsManager.kt │ │ │ │ │ ├── ResourcesAssetsUtil.kt │ │ │ │ │ └── ZipAssetsManager.kt │ │ │ │ ├── meta │ │ │ │ │ ├── MetaObject.kt │ │ │ │ │ └── MinosoftMeta.kt │ │ │ │ ├── minecraft │ │ │ │ │ ├── JarAssetsManager.kt │ │ │ │ │ ├── MinecraftAssetsManager.kt │ │ │ │ │ ├── MinecraftPackFormat.kt │ │ │ │ │ └── index │ │ │ │ │ │ ├── AssetsProperty.kt │ │ │ │ │ │ ├── IndexAssetsManager.kt │ │ │ │ │ │ └── IndexAssetsType.kt │ │ │ │ ├── multi │ │ │ │ │ ├── MultiAssetsManager.kt │ │ │ │ │ └── PriorityAssetsManager.kt │ │ │ │ ├── properties │ │ │ │ │ ├── manager │ │ │ │ │ │ ├── AssetsManagerProperties.kt │ │ │ │ │ │ └── pack │ │ │ │ │ │ │ └── PackProperties.kt │ │ │ │ │ └── version │ │ │ │ │ │ ├── AssetsVersionProperties.kt │ │ │ │ │ │ ├── AssetsVersionProperty.kt │ │ │ │ │ │ ├── PreFlattening.kt │ │ │ │ │ │ └── generator │ │ │ │ │ │ └── AssetsPropertiesGenerator.kt │ │ │ │ ├── resource │ │ │ │ │ └── ResourceAssetsManager.kt │ │ │ │ ├── session │ │ │ │ │ └── SessionAssetsManager.kt │ │ │ │ └── util │ │ │ │ │ ├── AssetsOptions.kt │ │ │ │ │ ├── FileAssetsTypes.kt │ │ │ │ │ ├── FileAssetsUtil.kt │ │ │ │ │ ├── FileUtil.kt │ │ │ │ │ ├── HashTypes.kt │ │ │ │ │ ├── InputStreamUtil.kt │ │ │ │ │ ├── PathUtil.kt │ │ │ │ │ └── SavedAsset.kt │ │ │ │ ├── camera │ │ │ │ ├── SessionCamera.kt │ │ │ │ └── target │ │ │ │ │ ├── TargetHandler.kt │ │ │ │ │ └── targets │ │ │ │ │ ├── BlockTarget.kt │ │ │ │ │ ├── EntityTarget.kt │ │ │ │ │ ├── FluidTarget.kt │ │ │ │ │ └── GenericTarget.kt │ │ │ │ ├── commands │ │ │ │ ├── errors │ │ │ │ │ ├── DeadEndError.kt │ │ │ │ │ ├── ExpectedArgumentError.kt │ │ │ │ │ ├── ReaderError.kt │ │ │ │ │ ├── literal │ │ │ │ │ │ ├── ExpectedLiteralArgument.kt │ │ │ │ │ │ ├── InvalidLiteralArgumentError.kt │ │ │ │ │ │ └── TrailingTextError.kt │ │ │ │ │ ├── parser │ │ │ │ │ │ └── ParserError.kt │ │ │ │ │ ├── reader │ │ │ │ │ │ ├── ExpectedWhitespaceError.kt │ │ │ │ │ │ ├── InvalidPeekError.kt │ │ │ │ │ │ ├── InvalidReadError.kt │ │ │ │ │ │ ├── OutOfBoundsError.kt │ │ │ │ │ │ ├── UnexpectedBackslashError.kt │ │ │ │ │ │ ├── UnfinishedQuotedStringError.kt │ │ │ │ │ │ ├── map │ │ │ │ │ │ │ ├── DuplicatedKeyMapError.kt │ │ │ │ │ │ │ ├── ExpectedKeyMapError.kt │ │ │ │ │ │ │ ├── InvalidAssignCharMapError.kt │ │ │ │ │ │ │ └── InvalidMapSeparatorError.kt │ │ │ │ │ │ └── number │ │ │ │ │ │ │ └── NegativeNumberError.kt │ │ │ │ │ └── suggestion │ │ │ │ │ │ └── NoSuggestionError.kt │ │ │ │ ├── nodes │ │ │ │ │ ├── ArgumentNode.kt │ │ │ │ │ ├── ChatNode.kt │ │ │ │ │ ├── CommandNode.kt │ │ │ │ │ ├── ExecutableNode.kt │ │ │ │ │ ├── LiteralNode.kt │ │ │ │ │ ├── NamedNode.kt │ │ │ │ │ ├── RootNode.kt │ │ │ │ │ ├── SessionNode.kt │ │ │ │ │ ├── SignedNode.kt │ │ │ │ │ └── builder │ │ │ │ │ │ ├── ArgumentNodes.kt │ │ │ │ │ │ └── CommandNodeBuilder.kt │ │ │ │ ├── parser │ │ │ │ │ ├── ArgumentParser.kt │ │ │ │ │ ├── SignedParser.kt │ │ │ │ │ ├── brigadier │ │ │ │ │ │ ├── BrigadierParser.kt │ │ │ │ │ │ ├── _double │ │ │ │ │ │ │ ├── DoubleOutOfRangeError.kt │ │ │ │ │ │ │ ├── DoubleParseError.kt │ │ │ │ │ │ │ └── DoubleParser.kt │ │ │ │ │ │ ├── _float │ │ │ │ │ │ │ ├── FloatOutOfRangeError.kt │ │ │ │ │ │ │ ├── FloatParseError.kt │ │ │ │ │ │ │ └── FloatParser.kt │ │ │ │ │ │ ├── _int │ │ │ │ │ │ │ ├── IntOutOfRangeError.kt │ │ │ │ │ │ │ ├── IntParseError.kt │ │ │ │ │ │ │ └── IntParser.kt │ │ │ │ │ │ ├── _long │ │ │ │ │ │ │ ├── LongOutOfRangeError.kt │ │ │ │ │ │ │ ├── LongParseError.kt │ │ │ │ │ │ │ └── LongParser.kt │ │ │ │ │ │ ├── bool │ │ │ │ │ │ │ ├── BooleanParseError.kt │ │ │ │ │ │ │ └── BooleanParser.kt │ │ │ │ │ │ └── string │ │ │ │ │ │ │ ├── StringParseError.kt │ │ │ │ │ │ │ └── StringParser.kt │ │ │ │ │ ├── factory │ │ │ │ │ │ ├── ArgumentParserFactories.kt │ │ │ │ │ │ └── ArgumentParserFactory.kt │ │ │ │ │ ├── minecraft │ │ │ │ │ │ ├── color │ │ │ │ │ │ │ ├── ColorParseError.kt │ │ │ │ │ │ │ ├── ColorParser.kt │ │ │ │ │ │ │ └── HexNotSupportedError.kt │ │ │ │ │ │ ├── component │ │ │ │ │ │ │ └── ChatComponentParser.kt │ │ │ │ │ │ ├── coordinate │ │ │ │ │ │ │ ├── CaretNotAllowedError.kt │ │ │ │ │ │ │ ├── Coordinate.kt │ │ │ │ │ │ │ ├── CoordinateParserUtil.kt │ │ │ │ │ │ │ ├── CoordinateRelatives.kt │ │ │ │ │ │ │ ├── InvalidCoordinateError.kt │ │ │ │ │ │ │ ├── angle │ │ │ │ │ │ │ │ └── AngleParser.kt │ │ │ │ │ │ │ ├── block │ │ │ │ │ │ │ │ ├── BlockCoordinate.kt │ │ │ │ │ │ │ │ └── BlockPositionParser.kt │ │ │ │ │ │ │ ├── rotation │ │ │ │ │ │ │ │ ├── Rotation.kt │ │ │ │ │ │ │ │ └── RotationParser.kt │ │ │ │ │ │ │ ├── vec2 │ │ │ │ │ │ │ │ ├── Vec2Coordinate.kt │ │ │ │ │ │ │ │ └── Vec2Parser.kt │ │ │ │ │ │ │ └── vec3 │ │ │ │ │ │ │ │ ├── Vec3Coordinate.kt │ │ │ │ │ │ │ │ └── Vec3Parser.kt │ │ │ │ │ │ ├── message │ │ │ │ │ │ │ └── MessageParser.kt │ │ │ │ │ │ ├── range │ │ │ │ │ │ │ ├── Range.kt │ │ │ │ │ │ │ ├── RangeParserFactory.kt │ │ │ │ │ │ │ ├── _float │ │ │ │ │ │ │ │ ├── FloatRange.kt │ │ │ │ │ │ │ │ ├── FloatRangeParseError.kt │ │ │ │ │ │ │ │ └── FloatRangeParser.kt │ │ │ │ │ │ │ └── _int │ │ │ │ │ │ │ │ ├── IntRangeParseError.kt │ │ │ │ │ │ │ │ └── IntRangeParser.kt │ │ │ │ │ │ ├── resource │ │ │ │ │ │ │ ├── ResourceKeyParser.kt │ │ │ │ │ │ │ ├── ResourceParser.kt │ │ │ │ │ │ │ ├── location │ │ │ │ │ │ │ │ ├── InvalidResourceLocationError.kt │ │ │ │ │ │ │ │ └── ResourceLocationParser.kt │ │ │ │ │ │ │ └── tag │ │ │ │ │ │ │ │ ├── ResourceOrTagKeyParser.kt │ │ │ │ │ │ │ │ └── ResourceOrTagParser.kt │ │ │ │ │ │ ├── score │ │ │ │ │ │ │ └── holder │ │ │ │ │ │ │ │ ├── ScoreHolderParseError.kt │ │ │ │ │ │ │ │ └── ScoreHolderParser.kt │ │ │ │ │ │ ├── target │ │ │ │ │ │ │ ├── TargetParser.kt │ │ │ │ │ │ │ ├── TargetSelectors.kt │ │ │ │ │ │ │ └── targets │ │ │ │ │ │ │ │ ├── CommandEntityTarget.kt │ │ │ │ │ │ │ │ ├── identifier │ │ │ │ │ │ │ │ ├── TargetParseError.kt │ │ │ │ │ │ │ │ ├── name │ │ │ │ │ │ │ │ │ ├── InvalidNameError.kt │ │ │ │ │ │ │ │ │ └── NameEntityTarget.kt │ │ │ │ │ │ │ │ └── uuid │ │ │ │ │ │ │ │ │ └── UUIDEntityTarget.kt │ │ │ │ │ │ │ │ └── selector │ │ │ │ │ │ │ │ ├── EntitySelectorProperties.kt │ │ │ │ │ │ │ │ ├── SelectorEntityTarget.kt │ │ │ │ │ │ │ │ ├── SelectorParserError.kt │ │ │ │ │ │ │ │ ├── error │ │ │ │ │ │ │ │ ├── InvalidSelectorKeyError.kt │ │ │ │ │ │ │ │ └── InvalidTargetSelector.kt │ │ │ │ │ │ │ │ └── properties │ │ │ │ │ │ │ │ ├── EntityTargetProperties.kt │ │ │ │ │ │ │ │ ├── EntityTargetProperty.kt │ │ │ │ │ │ │ │ ├── EntityTargetPropertyFactory.kt │ │ │ │ │ │ │ │ ├── GamemodeProperty.kt │ │ │ │ │ │ │ │ ├── LevelProperty.kt │ │ │ │ │ │ │ │ ├── LimitProperty.kt │ │ │ │ │ │ │ │ ├── NameProperty.kt │ │ │ │ │ │ │ │ ├── TypeProperty.kt │ │ │ │ │ │ │ │ ├── position │ │ │ │ │ │ │ │ ├── center │ │ │ │ │ │ │ │ │ ├── CenterProperty.kt │ │ │ │ │ │ │ │ │ ├── XCenterProperty.kt │ │ │ │ │ │ │ │ │ ├── YCenterProperty.kt │ │ │ │ │ │ │ │ │ └── ZCenterProperty.kt │ │ │ │ │ │ │ │ └── distance │ │ │ │ │ │ │ │ │ ├── DistanceProperty.kt │ │ │ │ │ │ │ │ │ ├── InvalidMinDistanceError.kt │ │ │ │ │ │ │ │ │ └── MinGreaterThanMaxDistanceError.kt │ │ │ │ │ │ │ │ ├── rotation │ │ │ │ │ │ │ │ ├── PitchRotation.kt │ │ │ │ │ │ │ │ ├── RotationOutOfRangeError.kt │ │ │ │ │ │ │ │ ├── RotationProperty.kt │ │ │ │ │ │ │ │ └── YawRotation.kt │ │ │ │ │ │ │ │ └── sort │ │ │ │ │ │ │ │ ├── SortProperty.kt │ │ │ │ │ │ │ │ └── Sorting.kt │ │ │ │ │ │ ├── time │ │ │ │ │ │ │ ├── InvalidTimeUnitError.kt │ │ │ │ │ │ │ ├── TimeParser.kt │ │ │ │ │ │ │ └── TimeUnit.kt │ │ │ │ │ │ └── uuid │ │ │ │ │ │ │ ├── InvalidUUIDError.kt │ │ │ │ │ │ │ └── UUIDParser.kt │ │ │ │ │ ├── minosoft │ │ │ │ │ │ ├── account │ │ │ │ │ │ │ ├── AccountParser.kt │ │ │ │ │ │ │ ├── identifier │ │ │ │ │ │ │ │ └── AccountId.kt │ │ │ │ │ │ │ └── selector │ │ │ │ │ │ │ │ ├── AccountTargetProperties.kt │ │ │ │ │ │ │ │ ├── StateProperty.kt │ │ │ │ │ │ │ │ └── TypeProperty.kt │ │ │ │ │ │ ├── dummy │ │ │ │ │ │ │ └── DummyParser.kt │ │ │ │ │ │ ├── enums │ │ │ │ │ │ │ ├── EnumParseError.kt │ │ │ │ │ │ │ └── EnumParser.kt │ │ │ │ │ │ └── session │ │ │ │ │ │ │ ├── SessionParser.kt │ │ │ │ │ │ │ ├── identifier │ │ │ │ │ │ │ ├── SessionId.kt │ │ │ │ │ │ │ └── SessionIdError.kt │ │ │ │ │ │ │ └── selector │ │ │ │ │ │ │ └── properties │ │ │ │ │ │ │ ├── SessionTargetProperties.kt │ │ │ │ │ │ │ └── StateProperty.kt │ │ │ │ │ └── selector │ │ │ │ │ │ ├── AbstractTarget.kt │ │ │ │ │ │ ├── SelectorParser.kt │ │ │ │ │ │ ├── SelectorTarget.kt │ │ │ │ │ │ ├── TargetProperties.kt │ │ │ │ │ │ ├── TargetProperty.kt │ │ │ │ │ │ └── TargetPropertyFactory.kt │ │ │ │ ├── stack │ │ │ │ │ ├── CommandExecutor.kt │ │ │ │ │ ├── CommandStack.kt │ │ │ │ │ ├── CommandStackEntry.kt │ │ │ │ │ └── print │ │ │ │ │ │ ├── PlayerPrintTarget.kt │ │ │ │ │ │ ├── PrintTarget.kt │ │ │ │ │ │ └── SystemPrintTarget.kt │ │ │ │ ├── suggestion │ │ │ │ │ ├── Suggestion.kt │ │ │ │ │ ├── factory │ │ │ │ │ │ ├── SuggestionFactories.kt │ │ │ │ │ │ └── SuggestionFactory.kt │ │ │ │ │ ├── types │ │ │ │ │ │ └── SuggestionType.kt │ │ │ │ │ └── util │ │ │ │ │ │ └── SuggestionUtil.kt │ │ │ │ └── util │ │ │ │ │ ├── CommandReader.kt │ │ │ │ │ ├── JsonReader.kt │ │ │ │ │ ├── ReadResult.kt │ │ │ │ │ └── StringReader.kt │ │ │ │ ├── config │ │ │ │ ├── DebugOptions.kt │ │ │ │ ├── StaticConfiguration.kt │ │ │ │ ├── key │ │ │ │ │ ├── KeyActions.kt │ │ │ │ │ ├── KeyBinding.kt │ │ │ │ │ └── KeyCodes.kt │ │ │ │ └── profile │ │ │ │ │ ├── ProfileLoadException.kt │ │ │ │ │ ├── ProfileLock.kt │ │ │ │ │ ├── ProfileType.kt │ │ │ │ │ ├── ProfileUtil.kt │ │ │ │ │ ├── SelectedProfiles.kt │ │ │ │ │ ├── delegate │ │ │ │ │ ├── AbstractProfileDelegate.kt │ │ │ │ │ ├── SimpleDelegate.kt │ │ │ │ │ ├── primitive │ │ │ │ │ │ ├── BooleanDelegate.kt │ │ │ │ │ │ ├── DoubleDelegate.kt │ │ │ │ │ │ ├── FloatDelegate.kt │ │ │ │ │ │ └── IntDelegate.kt │ │ │ │ │ └── types │ │ │ │ │ │ ├── ColorDelegate.kt │ │ │ │ │ │ ├── EnumDelegate.kt │ │ │ │ │ │ ├── LanguageDelegate.kt │ │ │ │ │ │ ├── NullableStringDelegate.kt │ │ │ │ │ │ ├── StringDelegate.kt │ │ │ │ │ │ ├── list │ │ │ │ │ │ └── ListDelegate.kt │ │ │ │ │ │ ├── map │ │ │ │ │ │ └── MapDelegate.kt │ │ │ │ │ │ └── set │ │ │ │ │ │ └── SetDelegate.kt │ │ │ │ │ ├── manager │ │ │ │ │ └── ProfileManagers.kt │ │ │ │ │ ├── profiles │ │ │ │ │ ├── Profile.kt │ │ │ │ │ ├── account │ │ │ │ │ │ ├── AccountProfile.kt │ │ │ │ │ │ ├── AccountProfileManager.kt │ │ │ │ │ │ └── AccountProfileMigration.kt │ │ │ │ │ ├── audio │ │ │ │ │ │ ├── AudioProfile.kt │ │ │ │ │ │ ├── AudioProfileManager.kt │ │ │ │ │ │ ├── gui │ │ │ │ │ │ │ └── GuiC.kt │ │ │ │ │ │ ├── types │ │ │ │ │ │ │ └── TypesC.kt │ │ │ │ │ │ └── volume │ │ │ │ │ │ │ └── VolumeC.kt │ │ │ │ │ ├── block │ │ │ │ │ │ ├── BlockProfile.kt │ │ │ │ │ │ ├── BlockProfileManager.kt │ │ │ │ │ │ ├── outline │ │ │ │ │ │ │ └── OutlineC.kt │ │ │ │ │ │ └── rendering │ │ │ │ │ │ │ ├── RenderingC.kt │ │ │ │ │ │ │ └── entities │ │ │ │ │ │ │ ├── EntitiesC.kt │ │ │ │ │ │ │ └── sign │ │ │ │ │ │ │ └── SignC.kt │ │ │ │ │ ├── controls │ │ │ │ │ │ ├── ControlsProfile.kt │ │ │ │ │ │ ├── ControlsProfileManager.kt │ │ │ │ │ │ ├── interaction │ │ │ │ │ │ │ └── InteractionC.kt │ │ │ │ │ │ └── mouse │ │ │ │ │ │ │ └── MouseC.kt │ │ │ │ │ ├── entity │ │ │ │ │ │ ├── EntityProfile.kt │ │ │ │ │ │ ├── EntityProfileManager.kt │ │ │ │ │ │ ├── animal │ │ │ │ │ │ │ └── AnimalC.kt │ │ │ │ │ │ ├── features │ │ │ │ │ │ │ ├── FeaturesC.kt │ │ │ │ │ │ │ ├── hitbox │ │ │ │ │ │ │ │ └── HitboxC.kt │ │ │ │ │ │ │ ├── name │ │ │ │ │ │ │ │ └── NameC.kt │ │ │ │ │ │ │ ├── player │ │ │ │ │ │ │ │ └── PlayerC.kt │ │ │ │ │ │ │ └── score │ │ │ │ │ │ │ │ └── ScoreC.kt │ │ │ │ │ │ └── general │ │ │ │ │ │ │ └── GeneralC.kt │ │ │ │ │ ├── eros │ │ │ │ │ │ ├── ErosProfile.kt │ │ │ │ │ │ ├── ErosProfileManager.kt │ │ │ │ │ │ ├── general │ │ │ │ │ │ │ └── GeneralC.kt │ │ │ │ │ │ ├── server │ │ │ │ │ │ │ ├── ServerC.kt │ │ │ │ │ │ │ ├── entries │ │ │ │ │ │ │ │ ├── AbstractServer.kt │ │ │ │ │ │ │ │ ├── ErosServer.kt │ │ │ │ │ │ │ │ └── LANServer.kt │ │ │ │ │ │ │ ├── list │ │ │ │ │ │ │ │ └── ListC.kt │ │ │ │ │ │ │ └── modify │ │ │ │ │ │ │ │ └── ModifyC.kt │ │ │ │ │ │ ├── text │ │ │ │ │ │ │ └── TextC.kt │ │ │ │ │ │ └── theme │ │ │ │ │ │ │ └── ThemeC.kt │ │ │ │ │ ├── gui │ │ │ │ │ │ ├── GUIProfile.kt │ │ │ │ │ │ ├── GUIProfileManager.kt │ │ │ │ │ │ ├── chat │ │ │ │ │ │ │ ├── ChatC.kt │ │ │ │ │ │ │ └── internal │ │ │ │ │ │ │ │ └── InternalC.kt │ │ │ │ │ │ ├── confirmation │ │ │ │ │ │ │ └── ConfirmationC.kt │ │ │ │ │ │ ├── hud │ │ │ │ │ │ │ ├── HudC.kt │ │ │ │ │ │ │ ├── crosshair │ │ │ │ │ │ │ │ └── CrosshairC.kt │ │ │ │ │ │ │ ├── hotbar │ │ │ │ │ │ │ │ ├── HotbarC.kt │ │ │ │ │ │ │ │ └── hunger │ │ │ │ │ │ │ │ │ └── HungerC.kt │ │ │ │ │ │ │ └── wawla │ │ │ │ │ │ │ │ ├── WawlaC.kt │ │ │ │ │ │ │ │ ├── block │ │ │ │ │ │ │ │ └── BlockC.kt │ │ │ │ │ │ │ │ └── entity │ │ │ │ │ │ │ │ └── EntityC.kt │ │ │ │ │ │ └── sign │ │ │ │ │ │ │ └── SignC.kt │ │ │ │ │ ├── other │ │ │ │ │ │ ├── OtherProfile.kt │ │ │ │ │ │ ├── OtherProfileManager.kt │ │ │ │ │ │ ├── OtherProfileMigration.kt │ │ │ │ │ │ ├── log │ │ │ │ │ │ │ └── LogC.kt │ │ │ │ │ │ └── updater │ │ │ │ │ │ │ └── UpdaterC.kt │ │ │ │ │ ├── particle │ │ │ │ │ │ ├── ParticleProfile.kt │ │ │ │ │ │ ├── ParticleProfileManager.kt │ │ │ │ │ │ └── types │ │ │ │ │ │ │ └── TypesC.kt │ │ │ │ │ ├── rendering │ │ │ │ │ │ ├── RenderingProfile.kt │ │ │ │ │ │ ├── RenderingProfileManager.kt │ │ │ │ │ │ ├── advanced │ │ │ │ │ │ │ └── AdvancedC.kt │ │ │ │ │ │ ├── animations │ │ │ │ │ │ │ └── AnimationsC.kt │ │ │ │ │ │ ├── camera │ │ │ │ │ │ │ ├── CameraC.kt │ │ │ │ │ │ │ └── shaking │ │ │ │ │ │ │ │ └── ShakingC.kt │ │ │ │ │ │ ├── chunkborder │ │ │ │ │ │ │ └── ChunkBorderC.kt │ │ │ │ │ │ ├── experimental │ │ │ │ │ │ │ └── ExperimentalC.kt │ │ │ │ │ │ ├── fog │ │ │ │ │ │ │ └── FogC.kt │ │ │ │ │ │ ├── light │ │ │ │ │ │ │ └── LightC.kt │ │ │ │ │ │ ├── movement │ │ │ │ │ │ │ └── MovementC.kt │ │ │ │ │ │ ├── overlay │ │ │ │ │ │ │ ├── OverlayC.kt │ │ │ │ │ │ │ ├── arm │ │ │ │ │ │ │ │ └── ArmC.kt │ │ │ │ │ │ │ ├── fire │ │ │ │ │ │ │ │ └── FireC.kt │ │ │ │ │ │ │ └── weather │ │ │ │ │ │ │ │ └── WeatherC.kt │ │ │ │ │ │ ├── performance │ │ │ │ │ │ │ └── PerformanceC.kt │ │ │ │ │ │ ├── quality │ │ │ │ │ │ │ ├── QualityC.kt │ │ │ │ │ │ │ └── resolution │ │ │ │ │ │ │ │ └── ResolutionC.kt │ │ │ │ │ │ ├── sky │ │ │ │ │ │ │ ├── SkyC.kt │ │ │ │ │ │ │ └── cloud │ │ │ │ │ │ │ │ └── CloudC.kt │ │ │ │ │ │ └── textures │ │ │ │ │ │ │ └── TexturesC.kt │ │ │ │ │ ├── resources │ │ │ │ │ │ ├── ResourceProfileMigration.kt │ │ │ │ │ │ ├── ResourcesProfile.kt │ │ │ │ │ │ ├── ResourcesProfileManager.kt │ │ │ │ │ │ ├── assets │ │ │ │ │ │ │ ├── AssetsC.kt │ │ │ │ │ │ │ └── packs │ │ │ │ │ │ │ │ ├── ResourcePack.kt │ │ │ │ │ │ │ │ └── ResourcePackType.kt │ │ │ │ │ │ └── source │ │ │ │ │ │ │ └── SourceC.kt │ │ │ │ │ └── session │ │ │ │ │ │ ├── SessionProfile.kt │ │ │ │ │ │ ├── SessionProfileManager.kt │ │ │ │ │ │ ├── signature │ │ │ │ │ │ └── SignatureC.kt │ │ │ │ │ │ └── skin │ │ │ │ │ │ └── SkinC.kt │ │ │ │ │ └── storage │ │ │ │ │ ├── FileStorage.kt │ │ │ │ │ ├── ProfileIOManager.kt │ │ │ │ │ ├── ProfileStorage.kt │ │ │ │ │ └── StorageProfileManager.kt │ │ │ │ ├── data │ │ │ │ ├── Axes.kt │ │ │ │ ├── Rarities.kt │ │ │ │ ├── SoundCategories.kt │ │ │ │ ├── Tickable.kt │ │ │ │ ├── Trade.kt │ │ │ │ ├── abilities │ │ │ │ │ ├── Gamemodes.kt │ │ │ │ │ ├── InteractionAbilities.kt │ │ │ │ │ └── ItemCooldown.kt │ │ │ │ ├── accounts │ │ │ │ │ ├── Account.kt │ │ │ │ │ ├── AccountStates.kt │ │ │ │ │ └── types │ │ │ │ │ │ ├── AccountTypes.kt │ │ │ │ │ │ ├── microsoft │ │ │ │ │ │ ├── MicrosoftAccount.kt │ │ │ │ │ │ └── MicrosoftTokens.kt │ │ │ │ │ │ ├── mojang │ │ │ │ │ │ └── MojangAccount.kt │ │ │ │ │ │ └── offline │ │ │ │ │ │ └── OfflineAccount.kt │ │ │ │ ├── bossbar │ │ │ │ │ ├── Bossbar.kt │ │ │ │ │ ├── BossbarColors.kt │ │ │ │ │ ├── BossbarFlags.kt │ │ │ │ │ ├── BossbarManager.kt │ │ │ │ │ └── BossbarNotches.kt │ │ │ │ ├── chat │ │ │ │ │ ├── ChatTextPositions.kt │ │ │ │ │ ├── ChatUtil.kt │ │ │ │ │ ├── filter │ │ │ │ │ │ ├── ChatFilter.kt │ │ │ │ │ │ ├── Filter.kt │ │ │ │ │ │ ├── FullFilter.kt │ │ │ │ │ │ ├── PassFilter.kt │ │ │ │ │ │ └── SemiFilter.kt │ │ │ │ │ ├── message │ │ │ │ │ │ ├── ChatMessage.kt │ │ │ │ │ │ ├── FormattedChatMessage.kt │ │ │ │ │ │ ├── PlayerChatMessage.kt │ │ │ │ │ │ ├── PlayerSentMessage.kt │ │ │ │ │ │ ├── SignedChatMessage.kt │ │ │ │ │ │ ├── SimpleChatMessage.kt │ │ │ │ │ │ └── internal │ │ │ │ │ │ │ ├── DebugChatMessage.kt │ │ │ │ │ │ │ └── InternalChatMessage.kt │ │ │ │ │ ├── sender │ │ │ │ │ │ ├── InvalidSender.kt │ │ │ │ │ │ ├── MessageSender.kt │ │ │ │ │ │ ├── PlayerEntityMessageSender.kt │ │ │ │ │ │ ├── PlayerMessageSender.kt │ │ │ │ │ │ ├── UnknownMessageSender.kt │ │ │ │ │ │ └── UnspawnedMessageSender.kt │ │ │ │ │ ├── signature │ │ │ │ │ │ ├── Acknowledgement.kt │ │ │ │ │ │ ├── ChatSignatureProperties.kt │ │ │ │ │ │ ├── LastSeenMessageList.kt │ │ │ │ │ │ ├── MessageHeader.kt │ │ │ │ │ │ ├── errors │ │ │ │ │ │ │ ├── InvalidSignatureError.kt │ │ │ │ │ │ │ ├── KeyExpiredError.kt │ │ │ │ │ │ │ └── MessageExpiredError.kt │ │ │ │ │ │ ├── lastSeen │ │ │ │ │ │ │ ├── IndexedMessageSignatureData.kt │ │ │ │ │ │ │ └── MessageSignatureData.kt │ │ │ │ │ │ ├── signer │ │ │ │ │ │ │ ├── MessageSigner.kt │ │ │ │ │ │ │ ├── MessageSigner1.kt │ │ │ │ │ │ │ ├── MessageSigner2.kt │ │ │ │ │ │ │ ├── MessageSigner3.kt │ │ │ │ │ │ │ └── MessageSigningUtil.kt │ │ │ │ │ │ └── verifyer │ │ │ │ │ │ │ └── MessageVerifyUtil.kt │ │ │ │ │ └── type │ │ │ │ │ │ └── DefaultMessageTypes.kt │ │ │ │ ├── colors │ │ │ │ │ └── DyeColors.kt │ │ │ │ ├── container │ │ │ │ │ ├── ClientContainer.kt │ │ │ │ │ ├── Container.kt │ │ │ │ │ ├── ContainerEdit.kt │ │ │ │ │ ├── ContainerUtil.kt │ │ │ │ │ ├── DefaultInventoryTypes.kt │ │ │ │ │ ├── IncompleteContainer.kt │ │ │ │ │ ├── InventoryDelegate.kt │ │ │ │ │ ├── InventorySynchronizedContainer.kt │ │ │ │ │ ├── ItemStackUtil.kt │ │ │ │ │ ├── SlotEdit.kt │ │ │ │ │ ├── actions │ │ │ │ │ │ ├── ContainerAction.kt │ │ │ │ │ │ ├── ContainerActions.kt │ │ │ │ │ │ └── types │ │ │ │ │ │ │ ├── CloneContainerAction.kt │ │ │ │ │ │ │ ├── DistributeContainerAction.kt │ │ │ │ │ │ │ ├── DropContainerAction.kt │ │ │ │ │ │ │ ├── FastMoveContainerAction.kt │ │ │ │ │ │ │ ├── PickAllContainerAction.kt │ │ │ │ │ │ │ ├── SimpleContainerAction.kt │ │ │ │ │ │ │ └── SlotSwapContainerAction.kt │ │ │ │ │ ├── equipment │ │ │ │ │ │ ├── ArmorSlots.kt │ │ │ │ │ │ ├── EntityEquipment.kt │ │ │ │ │ │ └── EquipmentSlots.kt │ │ │ │ │ ├── sections │ │ │ │ │ │ ├── ContainerSection.kt │ │ │ │ │ │ ├── HotbarSection.kt │ │ │ │ │ │ ├── PassiveInventorySection.kt │ │ │ │ │ │ ├── RangeSection.kt │ │ │ │ │ │ └── SingleSlotSection.kt │ │ │ │ │ ├── slots │ │ │ │ │ │ ├── DefaultSlotType.kt │ │ │ │ │ │ ├── EnchantableSlotType.kt │ │ │ │ │ │ ├── FuelSlotType.kt │ │ │ │ │ │ ├── ReadOnlySlotType.kt │ │ │ │ │ │ ├── RemoveOnlySlotType.kt │ │ │ │ │ │ ├── SlotType.kt │ │ │ │ │ │ └── equipment │ │ │ │ │ │ │ ├── ChestSlotType.kt │ │ │ │ │ │ │ ├── EquipmentSlotType.kt │ │ │ │ │ │ │ ├── FeetSlotType.kt │ │ │ │ │ │ │ ├── HeadSlotType.kt │ │ │ │ │ │ │ ├── LegsSlotType.kt │ │ │ │ │ │ │ └── SingleItemSlotType.kt │ │ │ │ │ ├── stack │ │ │ │ │ │ ├── ItemStack.kt │ │ │ │ │ │ └── property │ │ │ │ │ │ │ ├── DisplayProperty.kt │ │ │ │ │ │ │ ├── DurabilityProperty.kt │ │ │ │ │ │ │ ├── EnchantingProperty.kt │ │ │ │ │ │ │ ├── HideProperty.kt │ │ │ │ │ │ │ ├── HolderProperty.kt │ │ │ │ │ │ │ ├── ItemProperty.kt │ │ │ │ │ │ │ ├── NbtProperty.kt │ │ │ │ │ │ │ └── Property.kt │ │ │ │ │ └── types │ │ │ │ │ │ ├── CraftingContainer.kt │ │ │ │ │ │ ├── EnchantingContainer.kt │ │ │ │ │ │ ├── PlayerInventory.kt │ │ │ │ │ │ ├── UnknownContainer.kt │ │ │ │ │ │ ├── generic │ │ │ │ │ │ ├── Generic9x1Container.kt │ │ │ │ │ │ ├── Generic9x2Container.kt │ │ │ │ │ │ ├── Generic9x3Container.kt │ │ │ │ │ │ ├── Generic9x4Container.kt │ │ │ │ │ │ ├── Generic9x5Container.kt │ │ │ │ │ │ ├── Generic9x6Container.kt │ │ │ │ │ │ ├── GenericContainer.kt │ │ │ │ │ │ ├── ShulkerBoxContainer.kt │ │ │ │ │ │ └── legacy │ │ │ │ │ │ │ └── ChestContainer.kt │ │ │ │ │ │ └── processing │ │ │ │ │ │ ├── ProcessingContainer.kt │ │ │ │ │ │ └── smelting │ │ │ │ │ │ ├── BlastFurnaceContainer.kt │ │ │ │ │ │ ├── FurnaceContainer.kt │ │ │ │ │ │ ├── SmeltingContainer.kt │ │ │ │ │ │ ├── SmeltingSlot.kt │ │ │ │ │ │ └── SmokerContainer.kt │ │ │ │ ├── direction │ │ │ │ │ ├── DirectionUtil.kt │ │ │ │ │ ├── DirectionVector.kt │ │ │ │ │ └── Directions.kt │ │ │ │ ├── entities │ │ │ │ │ ├── EntityAnimations.kt │ │ │ │ │ ├── EntityObjectType.kt │ │ │ │ │ ├── EntityRenderInfo.kt │ │ │ │ │ ├── EntityRotation.kt │ │ │ │ │ ├── GlobalPosition.kt │ │ │ │ │ ├── Poses.kt │ │ │ │ │ ├── StatusEffectInstance.kt │ │ │ │ │ ├── block │ │ │ │ │ │ ├── BannerBlockEntity.kt │ │ │ │ │ │ ├── BeaconBlockEntity.kt │ │ │ │ │ │ ├── BedBlockEntity.kt │ │ │ │ │ │ ├── BeehiveBlockEntity.kt │ │ │ │ │ │ ├── BellBlockEntity.kt │ │ │ │ │ │ ├── BlockActionEntity.kt │ │ │ │ │ │ ├── BlockDataDataType.kt │ │ │ │ │ │ ├── BlockEntity.kt │ │ │ │ │ │ ├── BlockEntityFactory.kt │ │ │ │ │ │ ├── CampfireBlockEntity.kt │ │ │ │ │ │ ├── ConduitBlockEntity.kt │ │ │ │ │ │ ├── DefaultBlockDataFactory.kt │ │ │ │ │ │ ├── EnchantingTableBlockEntity.kt │ │ │ │ │ │ ├── FlowerPotBlockEntity.kt │ │ │ │ │ │ ├── JigsawBlockEntity.kt │ │ │ │ │ │ ├── JukeboxBlockEntity.kt │ │ │ │ │ │ ├── LecternBlockEntity.kt │ │ │ │ │ │ ├── MobSpawnerBlockEntity.kt │ │ │ │ │ │ ├── NoteBlockBlockEntity.kt │ │ │ │ │ │ ├── SkullBlockEntity.kt │ │ │ │ │ │ ├── StructureBlockBlockEntity.kt │ │ │ │ │ │ ├── container │ │ │ │ │ │ │ ├── ContainerBlockEntity.kt │ │ │ │ │ │ │ └── storage │ │ │ │ │ │ │ │ ├── ChestBlockEntity.kt │ │ │ │ │ │ │ │ ├── EnderChestBlockEntity.kt │ │ │ │ │ │ │ │ ├── ShulkerBoxBlockEntity.kt │ │ │ │ │ │ │ │ ├── StorageBlockEntity.kt │ │ │ │ │ │ │ │ └── TrappedChestBlockEntity.kt │ │ │ │ │ │ ├── end │ │ │ │ │ │ │ ├── EndGatewayBlockEntity.kt │ │ │ │ │ │ │ └── EndPortalBlockEntity.kt │ │ │ │ │ │ ├── redstone │ │ │ │ │ │ │ ├── CommandBlockEntity.kt │ │ │ │ │ │ │ ├── SculkSensorBlockEntity.kt │ │ │ │ │ │ │ └── piston │ │ │ │ │ │ │ │ ├── PistonBlockEntity.kt │ │ │ │ │ │ │ │ └── StickyPistonBlockEntity.kt │ │ │ │ │ │ └── sign │ │ │ │ │ │ │ ├── SignBlockEntity.kt │ │ │ │ │ │ │ └── SignSides.kt │ │ │ │ │ ├── data │ │ │ │ │ │ ├── EntityData.kt │ │ │ │ │ │ ├── EntityDataDelegate.kt │ │ │ │ │ │ ├── EntityDataField.kt │ │ │ │ │ │ └── types │ │ │ │ │ │ │ ├── BlockStateEntityDataType.kt │ │ │ │ │ │ │ ├── BooleanEntityDataType.kt │ │ │ │ │ │ │ ├── ByteEntityDataType.kt │ │ │ │ │ │ │ ├── ChatComponentEntityDataType.kt │ │ │ │ │ │ │ ├── DirectionEntityDataType.kt │ │ │ │ │ │ │ ├── EntityDataType.kt │ │ │ │ │ │ │ ├── EntityDataTypes.kt │ │ │ │ │ │ │ ├── FloatEntityDataType.kt │ │ │ │ │ │ │ ├── GlobalPositionEntityDataType.kt │ │ │ │ │ │ │ ├── IntEntityDataType.kt │ │ │ │ │ │ │ ├── ItemStackEntityDataType.kt │ │ │ │ │ │ │ ├── LongEntityDataType.kt │ │ │ │ │ │ │ ├── NbtEntityDataType.kt │ │ │ │ │ │ │ ├── OptionalChatComponentEntityDataType.kt │ │ │ │ │ │ │ ├── OptionalGlobalPositionEntityDataType.kt │ │ │ │ │ │ │ ├── OptionalIntEntityDataType.kt │ │ │ │ │ │ │ ├── OptionalUUIDEntityDataType.kt │ │ │ │ │ │ │ ├── OptionalVec3iEntityDataType.kt │ │ │ │ │ │ │ ├── ParticleDataEntityDataType.kt │ │ │ │ │ │ │ ├── PoseEntityDataType.kt │ │ │ │ │ │ │ ├── QuaternionEntityDataType.kt │ │ │ │ │ │ │ ├── ShortEntityDataType.kt │ │ │ │ │ │ │ ├── SnifferStateEntityDataType.kt │ │ │ │ │ │ │ ├── StringEntityDataType.kt │ │ │ │ │ │ │ ├── VarIntEntityDataType.kt │ │ │ │ │ │ │ ├── Vec3EntityDataType.kt │ │ │ │ │ │ │ ├── Vec3fEntityDataType.kt │ │ │ │ │ │ │ ├── Vec3iEntityDataType.kt │ │ │ │ │ │ │ ├── VillagerDataEntityDataType.kt │ │ │ │ │ │ │ └── registry │ │ │ │ │ │ │ ├── MotifEntityDataType.kt │ │ │ │ │ │ │ ├── RegistryEntityDataType.kt │ │ │ │ │ │ │ └── VariantsEntityDataType.kt │ │ │ │ │ ├── entities │ │ │ │ │ │ ├── AgeableMob.kt │ │ │ │ │ │ ├── AreaEffectCloud.kt │ │ │ │ │ │ ├── Breeze.kt │ │ │ │ │ │ ├── Entity.kt │ │ │ │ │ │ ├── EntityAttachable.kt │ │ │ │ │ │ ├── ExperienceOrb.kt │ │ │ │ │ │ ├── FlyingMob.kt │ │ │ │ │ │ ├── InteractionEntity.kt │ │ │ │ │ │ ├── LightningBolt.kt │ │ │ │ │ │ ├── LivingEntity.kt │ │ │ │ │ │ ├── Mob.kt │ │ │ │ │ │ ├── PathfinderMob.kt │ │ │ │ │ │ ├── SynchronizedEntityData.kt │ │ │ │ │ │ ├── TamableAnimal.kt │ │ │ │ │ │ ├── UnknownEntityException.kt │ │ │ │ │ │ ├── WindCharge.kt │ │ │ │ │ │ ├── ambient │ │ │ │ │ │ │ ├── AmbientCreature.kt │ │ │ │ │ │ │ └── Bat.kt │ │ │ │ │ │ ├── animal │ │ │ │ │ │ │ ├── AbstractGolem.kt │ │ │ │ │ │ │ ├── Animal.kt │ │ │ │ │ │ │ ├── Axolotl.kt │ │ │ │ │ │ │ ├── Bee.kt │ │ │ │ │ │ │ ├── Cat.kt │ │ │ │ │ │ │ ├── Chicken.kt │ │ │ │ │ │ │ ├── Cow.kt │ │ │ │ │ │ │ ├── Fox.kt │ │ │ │ │ │ │ ├── Frog.kt │ │ │ │ │ │ │ ├── Goat.kt │ │ │ │ │ │ │ ├── IronGolem.kt │ │ │ │ │ │ │ ├── Mooshroom.kt │ │ │ │ │ │ │ ├── Ocelot.kt │ │ │ │ │ │ │ ├── Panda.kt │ │ │ │ │ │ │ ├── Parrot.kt │ │ │ │ │ │ │ ├── Pig.kt │ │ │ │ │ │ │ ├── PolarBear.kt │ │ │ │ │ │ │ ├── Rabbit.kt │ │ │ │ │ │ │ ├── Sheep.kt │ │ │ │ │ │ │ ├── ShoulderRidingAnimal.kt │ │ │ │ │ │ │ ├── Sniffer.kt │ │ │ │ │ │ │ ├── SnowGolem.kt │ │ │ │ │ │ │ ├── Strider.kt │ │ │ │ │ │ │ ├── Turtle.kt │ │ │ │ │ │ │ ├── Wolf.kt │ │ │ │ │ │ │ ├── hoglin │ │ │ │ │ │ │ │ └── Hoglin.kt │ │ │ │ │ │ │ ├── horse │ │ │ │ │ │ │ │ ├── AbstractChestedHorse.kt │ │ │ │ │ │ │ │ ├── AbstractHorse.kt │ │ │ │ │ │ │ │ ├── Camel.kt │ │ │ │ │ │ │ │ ├── Donkey.kt │ │ │ │ │ │ │ │ ├── Horse.kt │ │ │ │ │ │ │ │ ├── Llama.kt │ │ │ │ │ │ │ │ ├── Mule.kt │ │ │ │ │ │ │ │ ├── SkeletonHorse.kt │ │ │ │ │ │ │ │ ├── TraderLlama.kt │ │ │ │ │ │ │ │ └── ZombieHorse.kt │ │ │ │ │ │ │ └── water │ │ │ │ │ │ │ │ ├── AbstractFish.kt │ │ │ │ │ │ │ │ ├── AbstractSchoolingFish.kt │ │ │ │ │ │ │ │ ├── Cod.kt │ │ │ │ │ │ │ │ ├── Dolphin.kt │ │ │ │ │ │ │ │ ├── GlowSquid.kt │ │ │ │ │ │ │ │ ├── PufferFish.kt │ │ │ │ │ │ │ │ ├── Salmon.kt │ │ │ │ │ │ │ │ ├── Squid.kt │ │ │ │ │ │ │ │ ├── Tadpole.kt │ │ │ │ │ │ │ │ ├── TropicalFish.kt │ │ │ │ │ │ │ │ └── WaterAnimal.kt │ │ │ │ │ │ ├── boss │ │ │ │ │ │ │ ├── enderdragon │ │ │ │ │ │ │ │ ├── EndCrystal.kt │ │ │ │ │ │ │ │ └── EnderDragon.kt │ │ │ │ │ │ │ └── wither │ │ │ │ │ │ │ │ └── WitherBoss.kt │ │ │ │ │ │ ├── decoration │ │ │ │ │ │ │ ├── GlowItemFrame.kt │ │ │ │ │ │ │ ├── HangingEntity.kt │ │ │ │ │ │ │ ├── ItemFrame.kt │ │ │ │ │ │ │ ├── LeashFenceKnotEntity.kt │ │ │ │ │ │ │ ├── Marker.kt │ │ │ │ │ │ │ ├── Painting.kt │ │ │ │ │ │ │ └── armorstand │ │ │ │ │ │ │ │ └── ArmorStand.kt │ │ │ │ │ │ ├── display │ │ │ │ │ │ │ ├── BlockDisplayEntity.kt │ │ │ │ │ │ │ ├── DisplayEntity.kt │ │ │ │ │ │ │ ├── ItemDisplayEntity.kt │ │ │ │ │ │ │ └── TextDisplayEntity.kt │ │ │ │ │ │ ├── item │ │ │ │ │ │ │ ├── FallingBlockEntity.kt │ │ │ │ │ │ │ ├── ItemEntity.kt │ │ │ │ │ │ │ └── PrimedTNT.kt │ │ │ │ │ │ ├── monster │ │ │ │ │ │ │ ├── AbstractSkeleton.kt │ │ │ │ │ │ │ ├── Allay.kt │ │ │ │ │ │ │ ├── Blaze.kt │ │ │ │ │ │ │ ├── CaveSpider.kt │ │ │ │ │ │ │ ├── Creeper.kt │ │ │ │ │ │ │ ├── Drowned.kt │ │ │ │ │ │ │ ├── ElderGuardian.kt │ │ │ │ │ │ │ ├── Enderman.kt │ │ │ │ │ │ │ ├── Endermite.kt │ │ │ │ │ │ │ ├── EvokerFangs.kt │ │ │ │ │ │ │ ├── Ghast.kt │ │ │ │ │ │ │ ├── Giant.kt │ │ │ │ │ │ │ ├── Guardian.kt │ │ │ │ │ │ │ ├── Husk.kt │ │ │ │ │ │ │ ├── MagmaCube.kt │ │ │ │ │ │ │ ├── Monster.kt │ │ │ │ │ │ │ ├── PatrollingMonster.kt │ │ │ │ │ │ │ ├── Phantom.kt │ │ │ │ │ │ │ ├── Shulker.kt │ │ │ │ │ │ │ ├── Silverfish.kt │ │ │ │ │ │ │ ├── Skeleton.kt │ │ │ │ │ │ │ ├── Slime.kt │ │ │ │ │ │ │ ├── Spider.kt │ │ │ │ │ │ │ ├── Stray.kt │ │ │ │ │ │ │ ├── Vex.kt │ │ │ │ │ │ │ ├── Warden.kt │ │ │ │ │ │ │ ├── WitherSkeleton.kt │ │ │ │ │ │ │ ├── Zoglin.kt │ │ │ │ │ │ │ ├── Zombie.kt │ │ │ │ │ │ │ ├── ZombieVillager.kt │ │ │ │ │ │ │ ├── ZombifiedPiglin.kt │ │ │ │ │ │ │ ├── piglin │ │ │ │ │ │ │ │ ├── AbstractPiglin.kt │ │ │ │ │ │ │ │ ├── Piglin.kt │ │ │ │ │ │ │ │ └── PiglinBrute.kt │ │ │ │ │ │ │ └── raid │ │ │ │ │ │ │ │ ├── AbstractIllager.kt │ │ │ │ │ │ │ │ ├── Evoker.kt │ │ │ │ │ │ │ │ ├── Illusioner.kt │ │ │ │ │ │ │ │ ├── Pillager.kt │ │ │ │ │ │ │ │ ├── Raider.kt │ │ │ │ │ │ │ │ ├── Ravager.kt │ │ │ │ │ │ │ │ ├── SpellcasterIllager.kt │ │ │ │ │ │ │ │ ├── Vindicator.kt │ │ │ │ │ │ │ │ └── Witch.kt │ │ │ │ │ │ ├── npc │ │ │ │ │ │ │ └── villager │ │ │ │ │ │ │ │ ├── AbstractVillager.kt │ │ │ │ │ │ │ │ ├── Villager.kt │ │ │ │ │ │ │ │ ├── WanderingTrader.kt │ │ │ │ │ │ │ │ └── data │ │ │ │ │ │ │ │ └── VillagerData.kt │ │ │ │ │ │ ├── player │ │ │ │ │ │ │ ├── Arms.kt │ │ │ │ │ │ │ ├── DefaultPlayerProperties.kt │ │ │ │ │ │ │ ├── Hands.kt │ │ │ │ │ │ │ ├── PlayerEntity.kt │ │ │ │ │ │ │ ├── RemotePlayerEntity.kt │ │ │ │ │ │ │ ├── SkinParts.kt │ │ │ │ │ │ │ ├── additional │ │ │ │ │ │ │ │ ├── AdditionalDataUpdate.kt │ │ │ │ │ │ │ │ └── PlayerAdditional.kt │ │ │ │ │ │ │ ├── compass │ │ │ │ │ │ │ │ └── CompassPosition.kt │ │ │ │ │ │ │ ├── local │ │ │ │ │ │ │ │ ├── Abilities.kt │ │ │ │ │ │ │ │ ├── ExperienceCondition.kt │ │ │ │ │ │ │ │ ├── HealthCondition.kt │ │ │ │ │ │ │ │ ├── LocalPlayerEntity.kt │ │ │ │ │ │ │ │ ├── MovementPacketSender.kt │ │ │ │ │ │ │ │ ├── PlayerItemManager.kt │ │ │ │ │ │ │ │ ├── PlayerPrivateKey.kt │ │ │ │ │ │ │ │ └── SignatureKeyManagement.kt │ │ │ │ │ │ │ ├── properties │ │ │ │ │ │ │ │ ├── PlayerProperties.kt │ │ │ │ │ │ │ │ └── textures │ │ │ │ │ │ │ │ │ ├── PlayerTexture.kt │ │ │ │ │ │ │ │ │ ├── PlayerTextures.kt │ │ │ │ │ │ │ │ │ ├── SkinPlayerTexture.kt │ │ │ │ │ │ │ │ │ └── metadata │ │ │ │ │ │ │ │ │ ├── SkinMetadata.kt │ │ │ │ │ │ │ │ │ └── SkinModel.kt │ │ │ │ │ │ │ └── tab │ │ │ │ │ │ │ │ └── TabList.kt │ │ │ │ │ │ ├── projectile │ │ │ │ │ │ │ ├── AbstractArrow.kt │ │ │ │ │ │ │ ├── AbstractHurtingProjectile.kt │ │ │ │ │ │ │ ├── Arrow.kt │ │ │ │ │ │ │ ├── DragonFireball.kt │ │ │ │ │ │ │ ├── Fireball.kt │ │ │ │ │ │ │ ├── FireworkRocketEntity.kt │ │ │ │ │ │ │ ├── FishingBobber.kt │ │ │ │ │ │ │ ├── LargeFireball.kt │ │ │ │ │ │ │ ├── LlamaSpit.kt │ │ │ │ │ │ │ ├── Projectile.kt │ │ │ │ │ │ │ ├── ShulkerBullet.kt │ │ │ │ │ │ │ ├── SmallFireball.kt │ │ │ │ │ │ │ ├── SpectralArrow.kt │ │ │ │ │ │ │ ├── ThrowableItemProjectile.kt │ │ │ │ │ │ │ ├── ThrowableProjectile.kt │ │ │ │ │ │ │ ├── ThrownEgg.kt │ │ │ │ │ │ │ ├── ThrownEnderPearl.kt │ │ │ │ │ │ │ ├── ThrownExperienceBottle.kt │ │ │ │ │ │ │ ├── ThrownEyeOfEnder.kt │ │ │ │ │ │ │ ├── ThrownPotion.kt │ │ │ │ │ │ │ ├── ThrownSnowball.kt │ │ │ │ │ │ │ ├── ThrownTrident.kt │ │ │ │ │ │ │ └── WitherSkull.kt │ │ │ │ │ │ ├── properties │ │ │ │ │ │ │ ├── EntityAttachment.kt │ │ │ │ │ │ │ ├── FluidWalker.kt │ │ │ │ │ │ │ ├── StatusEffectProperty.kt │ │ │ │ │ │ │ └── riding │ │ │ │ │ │ │ │ ├── InputSteerable.kt │ │ │ │ │ │ │ │ ├── ItemRideable.kt │ │ │ │ │ │ │ │ ├── ItemSteerable.kt │ │ │ │ │ │ │ │ └── Saddleable.kt │ │ │ │ │ │ └── vehicle │ │ │ │ │ │ │ ├── AbstractMinecart.kt │ │ │ │ │ │ │ ├── AbstractMinecartContainer.kt │ │ │ │ │ │ │ ├── ChestMinecart.kt │ │ │ │ │ │ │ ├── CommandBlockMinecart.kt │ │ │ │ │ │ │ ├── FurnaceMinecart.kt │ │ │ │ │ │ │ ├── HopperMinecart.kt │ │ │ │ │ │ │ ├── Minecart.kt │ │ │ │ │ │ │ ├── SpawnerMinecart.kt │ │ │ │ │ │ │ ├── TNTMinecart.kt │ │ │ │ │ │ │ └── boat │ │ │ │ │ │ │ ├── Boat.kt │ │ │ │ │ │ │ └── ChestBoat.kt │ │ │ │ │ ├── event │ │ │ │ │ │ ├── EntityEvent.kt │ │ │ │ │ │ ├── EntityEvents.kt │ │ │ │ │ │ └── events │ │ │ │ │ │ │ └── damage │ │ │ │ │ │ │ ├── DamageEvent.kt │ │ │ │ │ │ │ ├── DamageListener.kt │ │ │ │ │ │ │ ├── DrowningDamageEvent.kt │ │ │ │ │ │ │ ├── FireDamageEvent.kt │ │ │ │ │ │ │ ├── FreezeDamageEvent.kt │ │ │ │ │ │ │ ├── GenericDamageEvent.kt │ │ │ │ │ │ │ ├── SweetBerryBushDamageEvent.kt │ │ │ │ │ │ │ └── ThornsDamageEvent.kt │ │ │ │ │ └── wawla │ │ │ │ │ │ └── EntityWawlaProvider.kt │ │ │ │ ├── language │ │ │ │ │ ├── IntegratedLanguage.kt │ │ │ │ │ ├── LanguageUtil.kt │ │ │ │ │ ├── lang │ │ │ │ │ │ ├── LanguageData.kt │ │ │ │ │ │ └── LanguageFile.kt │ │ │ │ │ ├── manager │ │ │ │ │ │ ├── Language.kt │ │ │ │ │ │ └── LanguageManager.kt │ │ │ │ │ ├── placeholder │ │ │ │ │ │ ├── PlaceholderIteratorOptions.kt │ │ │ │ │ │ └── PlaceholderUtil.kt │ │ │ │ │ └── translate │ │ │ │ │ │ ├── Translatable.kt │ │ │ │ │ │ ├── Translated.kt │ │ │ │ │ │ └── Translator.kt │ │ │ │ ├── physics │ │ │ │ │ └── PhysicsEntity.kt │ │ │ │ ├── registries │ │ │ │ │ ├── MinecraftDefaults.kt │ │ │ │ │ ├── Motif.kt │ │ │ │ │ ├── PluginChannel.kt │ │ │ │ │ ├── biomes │ │ │ │ │ │ ├── Biome.kt │ │ │ │ │ │ ├── BiomePrecipitation.kt │ │ │ │ │ │ ├── DefaultBiomes.kt │ │ │ │ │ │ └── GrassColorModifiers.kt │ │ │ │ │ ├── blocks │ │ │ │ │ │ ├── BlockRegistry.kt │ │ │ │ │ │ ├── MinecraftBlocks.kt │ │ │ │ │ │ ├── cube │ │ │ │ │ │ │ ├── CubeDirections.kt │ │ │ │ │ │ │ └── DirectionPair.kt │ │ │ │ │ │ ├── entites │ │ │ │ │ │ │ ├── BlockEntityType.kt │ │ │ │ │ │ │ └── BlockEntityTypeRegistry.kt │ │ │ │ │ │ ├── factory │ │ │ │ │ │ │ ├── BlockFactories.kt │ │ │ │ │ │ │ ├── BlockFactory.kt │ │ │ │ │ │ │ ├── PixLyzerBlockFactories.kt │ │ │ │ │ │ │ └── PixLyzerBlockFactory.kt │ │ │ │ │ │ ├── handler │ │ │ │ │ │ │ └── entity │ │ │ │ │ │ │ │ ├── BlockBreakHandler.kt │ │ │ │ │ │ │ │ ├── BlockPlaceHandler.kt │ │ │ │ │ │ │ │ ├── Climbable.kt │ │ │ │ │ │ │ │ ├── EntityCollisionHandler.kt │ │ │ │ │ │ │ │ ├── StepHandler.kt │ │ │ │ │ │ │ │ └── landing │ │ │ │ │ │ │ │ ├── BouncingHandler.kt │ │ │ │ │ │ │ │ └── LandingHandler.kt │ │ │ │ │ │ ├── light │ │ │ │ │ │ │ ├── CustomLightProperties.kt │ │ │ │ │ │ │ ├── DirectedProperty.kt │ │ │ │ │ │ │ ├── FilteringTransparentProperty.kt │ │ │ │ │ │ │ ├── LightProperties.kt │ │ │ │ │ │ │ ├── OpaqueProperty.kt │ │ │ │ │ │ │ ├── SimpleLightProperties.kt │ │ │ │ │ │ │ └── TransparentProperty.kt │ │ │ │ │ │ ├── properties │ │ │ │ │ │ │ ├── Attachments.kt │ │ │ │ │ │ │ ├── BambooLeaves.kt │ │ │ │ │ │ │ ├── BedParts.kt │ │ │ │ │ │ │ ├── BlockProperties.kt │ │ │ │ │ │ │ ├── BlockProperty.kt │ │ │ │ │ │ │ ├── ChestTypes.kt │ │ │ │ │ │ │ ├── EnumProperty.kt │ │ │ │ │ │ │ ├── Halves.kt │ │ │ │ │ │ │ ├── Instruments.kt │ │ │ │ │ │ │ ├── MultipartDirections.kt │ │ │ │ │ │ │ ├── Orientations.kt │ │ │ │ │ │ │ ├── PistonTypes.kt │ │ │ │ │ │ │ ├── SensorPhases.kt │ │ │ │ │ │ │ ├── Shapes.kt │ │ │ │ │ │ │ ├── Sides.kt │ │ │ │ │ │ │ ├── StructureBlockModes.kt │ │ │ │ │ │ │ ├── Thicknesses.kt │ │ │ │ │ │ │ ├── Tilts.kt │ │ │ │ │ │ │ ├── TrialSpawnerStates.kt │ │ │ │ │ │ │ ├── VerticalDirections.kt │ │ │ │ │ │ │ ├── list │ │ │ │ │ │ │ │ ├── BlockPropertyList.kt │ │ │ │ │ │ │ │ ├── EmptyPropertyList.kt │ │ │ │ │ │ │ │ └── MapPropertyList.kt │ │ │ │ │ │ │ └── primitives │ │ │ │ │ │ │ │ ├── BooleanProperty.kt │ │ │ │ │ │ │ │ └── IntProperty.kt │ │ │ │ │ │ ├── settings │ │ │ │ │ │ │ └── BlockSettings.kt │ │ │ │ │ │ ├── shapes │ │ │ │ │ │ │ └── collision │ │ │ │ │ │ │ │ ├── CollisionPredicate.kt │ │ │ │ │ │ │ │ └── context │ │ │ │ │ │ │ │ ├── CollisionContext.kt │ │ │ │ │ │ │ │ ├── EmptyCollisionContext.kt │ │ │ │ │ │ │ │ ├── EntityCollisionContext.kt │ │ │ │ │ │ │ │ ├── ParticleCollisionContext.kt │ │ │ │ │ │ │ │ └── SimpleCollisionContext.kt │ │ │ │ │ │ ├── state │ │ │ │ │ │ │ ├── AdvancedBlockState.kt │ │ │ │ │ │ │ ├── BlockState.kt │ │ │ │ │ │ │ ├── BlockStateFlags.kt │ │ │ │ │ │ │ ├── PropertyBlockState.kt │ │ │ │ │ │ │ ├── builder │ │ │ │ │ │ │ │ ├── BlockStateBuilder.kt │ │ │ │ │ │ │ │ └── BlockStateSettings.kt │ │ │ │ │ │ │ ├── error │ │ │ │ │ │ │ │ └── StatelessBlockError.kt │ │ │ │ │ │ │ └── manager │ │ │ │ │ │ │ │ ├── BlockStateManager.kt │ │ │ │ │ │ │ │ ├── PropertyStateManager.kt │ │ │ │ │ │ │ │ └── SimpleStateManager.kt │ │ │ │ │ │ ├── types │ │ │ │ │ │ │ ├── Block.kt │ │ │ │ │ │ │ ├── air │ │ │ │ │ │ │ │ └── AirBlock.kt │ │ │ │ │ │ │ ├── bee │ │ │ │ │ │ │ │ ├── BeeBlock.kt │ │ │ │ │ │ │ │ └── HoneyBlock.kt │ │ │ │ │ │ │ ├── building │ │ │ │ │ │ │ │ ├── RockBlock.kt │ │ │ │ │ │ │ │ ├── SlabBlock.kt │ │ │ │ │ │ │ │ ├── WoolBlock.kt │ │ │ │ │ │ │ │ ├── brick │ │ │ │ │ │ │ │ │ ├── Brick.kt │ │ │ │ │ │ │ │ │ ├── MossyStoneBrick.kt │ │ │ │ │ │ │ │ │ ├── MudBrick.kt │ │ │ │ │ │ │ │ │ ├── NetherBrick.kt │ │ │ │ │ │ │ │ │ └── RedNetherBrick.kt │ │ │ │ │ │ │ │ ├── copper │ │ │ │ │ │ │ │ │ ├── Copper.kt │ │ │ │ │ │ │ │ │ ├── CutCopper.kt │ │ │ │ │ │ │ │ │ ├── ExposedCopper.kt │ │ │ │ │ │ │ │ │ ├── ExposedCutCopper.kt │ │ │ │ │ │ │ │ │ ├── OxidizedCopper.kt │ │ │ │ │ │ │ │ │ ├── OxidizedCutCopper.kt │ │ │ │ │ │ │ │ │ ├── WaxedCutCopper.kt │ │ │ │ │ │ │ │ │ ├── WaxedExposedCutCopper.kt │ │ │ │ │ │ │ │ │ ├── WaxedOxidizedCutCopper.kt │ │ │ │ │ │ │ │ │ ├── WaxedWeatheredCutCopper.kt │ │ │ │ │ │ │ │ │ ├── WeatheredCopper.kt │ │ │ │ │ │ │ │ │ └── WeatheredCutCopper.kt │ │ │ │ │ │ │ │ ├── dirt │ │ │ │ │ │ │ │ │ ├── Dirt.kt │ │ │ │ │ │ │ │ │ ├── GrassBlock.kt │ │ │ │ │ │ │ │ │ └── SnowyBlock.kt │ │ │ │ │ │ │ │ ├── door │ │ │ │ │ │ │ │ │ └── DoorBlock.kt │ │ │ │ │ │ │ │ ├── end │ │ │ │ │ │ │ │ │ ├── EndStoneBrick.kt │ │ │ │ │ │ │ │ │ └── Purpur.kt │ │ │ │ │ │ │ │ ├── nether │ │ │ │ │ │ │ │ │ ├── Netherrack.kt │ │ │ │ │ │ │ │ │ ├── SoulSand.kt │ │ │ │ │ │ │ │ │ └── SoulSoil.kt │ │ │ │ │ │ │ │ ├── plants │ │ │ │ │ │ │ │ │ ├── DoublePlant.kt │ │ │ │ │ │ │ │ │ └── FernBlock.kt │ │ │ │ │ │ │ │ ├── prismarine │ │ │ │ │ │ │ │ │ ├── DarkPrismarine.kt │ │ │ │ │ │ │ │ │ ├── Prismarine.kt │ │ │ │ │ │ │ │ │ └── PrismarineBrick.kt │ │ │ │ │ │ │ │ ├── quartz │ │ │ │ │ │ │ │ │ ├── QuartzBlock.kt │ │ │ │ │ │ │ │ │ └── SmoothQuartz.kt │ │ │ │ │ │ │ │ ├── snow │ │ │ │ │ │ │ │ │ ├── AbstractSnowBlock.kt │ │ │ │ │ │ │ │ │ ├── SnowBlock.kt │ │ │ │ │ │ │ │ │ └── SnowLayerBlock.kt │ │ │ │ │ │ │ │ └── stone │ │ │ │ │ │ │ │ │ ├── Andesite.kt │ │ │ │ │ │ │ │ │ ├── Bedrock.kt │ │ │ │ │ │ │ │ │ ├── Cobblestone.kt │ │ │ │ │ │ │ │ │ ├── Diorite.kt │ │ │ │ │ │ │ │ │ ├── Granite.kt │ │ │ │ │ │ │ │ │ ├── MossyCobblestone.kt │ │ │ │ │ │ │ │ │ ├── PolishedAndesite.kt │ │ │ │ │ │ │ │ │ ├── PolishedDiorite.kt │ │ │ │ │ │ │ │ │ ├── PolishedGranite.kt │ │ │ │ │ │ │ │ │ ├── SmoothStone.kt │ │ │ │ │ │ │ │ │ ├── Stone.kt │ │ │ │ │ │ │ │ │ ├── StoneBlock.kt │ │ │ │ │ │ │ │ │ ├── StoneBrick.kt │ │ │ │ │ │ │ │ │ └── sand │ │ │ │ │ │ │ │ │ ├── CutRedSandstone.kt │ │ │ │ │ │ │ │ │ ├── CutSandstone.kt │ │ │ │ │ │ │ │ │ ├── RedSandstone.kt │ │ │ │ │ │ │ │ │ ├── Sandstone.kt │ │ │ │ │ │ │ │ │ ├── SmoothRedSandstone.kt │ │ │ │ │ │ │ │ │ └── SmoothSandstone.kt │ │ │ │ │ │ │ ├── climbing │ │ │ │ │ │ │ │ ├── ClimbingBlock.kt │ │ │ │ │ │ │ │ └── ScaffoldingBlock.kt │ │ │ │ │ │ │ ├── entity │ │ │ │ │ │ │ │ ├── BlockWithEntity.kt │ │ │ │ │ │ │ │ └── storage │ │ │ │ │ │ │ │ │ ├── ChestBlock.kt │ │ │ │ │ │ │ │ │ ├── DoubleChestBlock.kt │ │ │ │ │ │ │ │ │ ├── EnderChestBlock.kt │ │ │ │ │ │ │ │ │ ├── ShulkerBoxBlock.kt │ │ │ │ │ │ │ │ │ ├── StorageBlock.kt │ │ │ │ │ │ │ │ │ └── WoodenChestBlock.kt │ │ │ │ │ │ │ ├── fluid │ │ │ │ │ │ │ │ ├── FluidBlock.kt │ │ │ │ │ │ │ │ ├── FluidDrainable.kt │ │ │ │ │ │ │ │ ├── FluidFilled.kt │ │ │ │ │ │ │ │ ├── FluidHolder.kt │ │ │ │ │ │ │ │ ├── LavaFluidBlock.kt │ │ │ │ │ │ │ │ └── water │ │ │ │ │ │ │ │ │ ├── BubbleColumnBlock.kt │ │ │ │ │ │ │ │ │ ├── WaterFluidBlock.kt │ │ │ │ │ │ │ │ │ └── WaterloggableBlock.kt │ │ │ │ │ │ │ ├── legacy │ │ │ │ │ │ │ │ ├── FlatteningRenamedModel.kt │ │ │ │ │ │ │ │ └── LegacyBlock.kt │ │ │ │ │ │ │ ├── pixlyzer │ │ │ │ │ │ │ │ ├── CraftingTableBlock.kt │ │ │ │ │ │ │ │ ├── HorizontalFacingBlock.kt │ │ │ │ │ │ │ │ ├── LadderBlock.kt │ │ │ │ │ │ │ │ ├── PixLyzerBlock.kt │ │ │ │ │ │ │ │ ├── RedstoneTorchBlock.kt │ │ │ │ │ │ │ │ ├── SlimeBlock.kt │ │ │ │ │ │ │ │ ├── TorchBlock.kt │ │ │ │ │ │ │ │ ├── TrapdoorBlock.kt │ │ │ │ │ │ │ │ ├── button │ │ │ │ │ │ │ │ │ ├── AbstractButtonBlock.kt │ │ │ │ │ │ │ │ │ ├── StoneButtonBlock.kt │ │ │ │ │ │ │ │ │ └── WoodenButtonBlock.kt │ │ │ │ │ │ │ │ ├── entity │ │ │ │ │ │ │ │ │ ├── BannerBlock.kt │ │ │ │ │ │ │ │ │ ├── BeaconBlock.kt │ │ │ │ │ │ │ │ │ ├── BedBlock.kt │ │ │ │ │ │ │ │ │ ├── BeehiveBlock.kt │ │ │ │ │ │ │ │ │ ├── BellBlock.kt │ │ │ │ │ │ │ │ │ ├── CampfireBlock.kt │ │ │ │ │ │ │ │ │ ├── ConduitBlock.kt │ │ │ │ │ │ │ │ │ ├── EnchantingTableBlock.kt │ │ │ │ │ │ │ │ │ ├── JigsawBlock.kt │ │ │ │ │ │ │ │ │ ├── LecternBlock.kt │ │ │ │ │ │ │ │ │ ├── MobSpawnerBlock.kt │ │ │ │ │ │ │ │ │ ├── NoteBlock.kt │ │ │ │ │ │ │ │ │ ├── PixLyzerBlockWithEntity.kt │ │ │ │ │ │ │ │ │ ├── SkullBlock.kt │ │ │ │ │ │ │ │ │ ├── StructureBlock.kt │ │ │ │ │ │ │ │ │ ├── end │ │ │ │ │ │ │ │ │ │ ├── EndGatewayBlock.kt │ │ │ │ │ │ │ │ │ │ └── EndPortalBlock.kt │ │ │ │ │ │ │ │ │ ├── redstone │ │ │ │ │ │ │ │ │ │ ├── CommandBlock.kt │ │ │ │ │ │ │ │ │ │ ├── DaylightDetectorBlock.kt │ │ │ │ │ │ │ │ │ │ ├── PistonBlock.kt │ │ │ │ │ │ │ │ │ │ └── SculkSensorBlock.kt │ │ │ │ │ │ │ │ │ └── sign │ │ │ │ │ │ │ │ │ │ ├── SignBlock.kt │ │ │ │ │ │ │ │ │ │ ├── StandingSignBlock.kt │ │ │ │ │ │ │ │ │ │ └── WallSignBlock.kt │ │ │ │ │ │ │ │ ├── plant │ │ │ │ │ │ │ │ │ ├── CropBlock.kt │ │ │ │ │ │ │ │ │ ├── PlantBlock.kt │ │ │ │ │ │ │ │ │ └── SweetBerryBushBlock.kt │ │ │ │ │ │ │ │ ├── portal │ │ │ │ │ │ │ │ │ └── NetherPortalBlock.kt │ │ │ │ │ │ │ │ ├── redstone │ │ │ │ │ │ │ │ │ ├── ComparatorBlock.kt │ │ │ │ │ │ │ │ │ ├── RedstoneGateBlock.kt │ │ │ │ │ │ │ │ │ └── RepeaterBlock.kt │ │ │ │ │ │ │ │ ├── snow │ │ │ │ │ │ │ │ │ └── PowderSnowBlock.kt │ │ │ │ │ │ │ │ ├── wall │ │ │ │ │ │ │ │ │ ├── LeverBlock.kt │ │ │ │ │ │ │ │ │ └── WallMountedBlock.kt │ │ │ │ │ │ │ │ └── water │ │ │ │ │ │ │ │ │ ├── KelpBlock.kt │ │ │ │ │ │ │ │ │ ├── KelpPlantBlock.kt │ │ │ │ │ │ │ │ │ └── SeagrassBlock.kt │ │ │ │ │ │ │ ├── properties │ │ │ │ │ │ │ │ ├── DyedBlock.kt │ │ │ │ │ │ │ │ ├── InteractBlockHandler.kt │ │ │ │ │ │ │ │ ├── LightedBlock.kt │ │ │ │ │ │ │ │ ├── LitBlock.kt │ │ │ │ │ │ │ │ ├── ReplaceableBlock.kt │ │ │ │ │ │ │ │ ├── StatedBlock.kt │ │ │ │ │ │ │ │ ├── hardness │ │ │ │ │ │ │ │ │ ├── HardnessBlock.kt │ │ │ │ │ │ │ │ │ ├── InstantBreakableBlock.kt │ │ │ │ │ │ │ │ │ └── UnbreakableBlock.kt │ │ │ │ │ │ │ │ ├── item │ │ │ │ │ │ │ │ │ └── BlockWithItem.kt │ │ │ │ │ │ │ │ ├── offset │ │ │ │ │ │ │ │ │ ├── OffsetBlock.kt │ │ │ │ │ │ │ │ │ ├── RandomOffsetBlock.kt │ │ │ │ │ │ │ │ │ └── RandomOffsetTypes.kt │ │ │ │ │ │ │ │ ├── physics │ │ │ │ │ │ │ │ │ ├── CustomDiggingBlock.kt │ │ │ │ │ │ │ │ │ ├── FrictionBlock.kt │ │ │ │ │ │ │ │ │ ├── JumpBlock.kt │ │ │ │ │ │ │ │ │ ├── PushingBlock.kt │ │ │ │ │ │ │ │ │ └── VelocityBlock.kt │ │ │ │ │ │ │ │ ├── rendering │ │ │ │ │ │ │ │ │ └── RandomDisplayTickable.kt │ │ │ │ │ │ │ │ ├── shape │ │ │ │ │ │ │ │ │ ├── collision │ │ │ │ │ │ │ │ │ │ ├── CollidableBlock.kt │ │ │ │ │ │ │ │ │ │ └── fixed │ │ │ │ │ │ │ │ │ │ │ ├── FixedCollidable.kt │ │ │ │ │ │ │ │ │ │ │ └── StatelessCollidable.kt │ │ │ │ │ │ │ │ │ ├── outline │ │ │ │ │ │ │ │ │ │ ├── FullOutlinedBlock.kt │ │ │ │ │ │ │ │ │ │ └── OutlinedBlock.kt │ │ │ │ │ │ │ │ │ └── special │ │ │ │ │ │ │ │ │ │ ├── FullBlock.kt │ │ │ │ │ │ │ │ │ │ ├── FullOpaqueBlock.kt │ │ │ │ │ │ │ │ │ │ └── PotentialFullOpaqueBlock.kt │ │ │ │ │ │ │ │ ├── size │ │ │ │ │ │ │ │ │ ├── DoubleSizeBlock.kt │ │ │ │ │ │ │ │ │ └── MultiSizeBlock.kt │ │ │ │ │ │ │ │ └── transparency │ │ │ │ │ │ │ │ │ ├── OpaqueBlock.kt │ │ │ │ │ │ │ │ │ ├── TranslucentBlock.kt │ │ │ │ │ │ │ │ │ └── TransparentBlock.kt │ │ │ │ │ │ │ ├── pvp │ │ │ │ │ │ │ │ └── CobwebBlock.kt │ │ │ │ │ │ │ └── wood │ │ │ │ │ │ │ │ ├── Acacia.kt │ │ │ │ │ │ │ │ ├── Azalea.kt │ │ │ │ │ │ │ │ ├── Bamboo.kt │ │ │ │ │ │ │ │ ├── BambooMosaic.kt │ │ │ │ │ │ │ │ ├── Birch.kt │ │ │ │ │ │ │ │ ├── Cherry.kt │ │ │ │ │ │ │ │ ├── Crimson.kt │ │ │ │ │ │ │ │ ├── DarkOak.kt │ │ │ │ │ │ │ │ ├── FloweringAzalea.kt │ │ │ │ │ │ │ │ ├── Jungle.kt │ │ │ │ │ │ │ │ ├── LeavesBlock.kt │ │ │ │ │ │ │ │ ├── Mangrove.kt │ │ │ │ │ │ │ │ ├── Oak.kt │ │ │ │ │ │ │ │ ├── PlanksBlock.kt │ │ │ │ │ │ │ │ ├── Spruce.kt │ │ │ │ │ │ │ │ └── Warped.kt │ │ │ │ │ │ └── wawla │ │ │ │ │ │ │ └── BlockWawlaProvider.kt │ │ │ │ │ ├── chat │ │ │ │ │ │ ├── ChatMessageType.kt │ │ │ │ │ │ ├── ChatParameter.kt │ │ │ │ │ │ └── TypeProperties.kt │ │ │ │ │ ├── containers │ │ │ │ │ │ ├── ContainerFactory.kt │ │ │ │ │ │ ├── ContainerType.kt │ │ │ │ │ │ └── DefaultContainerFactories.kt │ │ │ │ │ ├── dimension │ │ │ │ │ │ ├── AmbientLight.kt │ │ │ │ │ │ ├── Dimension.kt │ │ │ │ │ │ ├── DimensionProperties.kt │ │ │ │ │ │ └── effects │ │ │ │ │ │ │ ├── DefaultDimensionEffects.kt │ │ │ │ │ │ │ ├── DimensionEffects.kt │ │ │ │ │ │ │ ├── FogEffects.kt │ │ │ │ │ │ │ └── minecraft │ │ │ │ │ │ │ ├── EndEffects.kt │ │ │ │ │ │ │ ├── NetherEffects.kt │ │ │ │ │ │ │ └── OverworldEffects.kt │ │ │ │ │ ├── effects │ │ │ │ │ │ ├── InstantEffect.kt │ │ │ │ │ │ ├── IntegratedStatusEffects.kt │ │ │ │ │ │ ├── PixlyzerStatusEffectType.kt │ │ │ │ │ │ ├── StatusEffectType.kt │ │ │ │ │ │ ├── attributes │ │ │ │ │ │ │ ├── AttributeOperations.kt │ │ │ │ │ │ │ ├── AttributeType.kt │ │ │ │ │ │ │ ├── EntityAttributes.kt │ │ │ │ │ │ │ ├── MinecraftAttributes.kt │ │ │ │ │ │ │ ├── container │ │ │ │ │ │ │ │ ├── AttributeContainer.kt │ │ │ │ │ │ │ │ ├── AttributeContainerUpdate.kt │ │ │ │ │ │ │ │ └── AttributeModifier.kt │ │ │ │ │ │ │ └── integrated │ │ │ │ │ │ │ │ ├── IntegratedAttribute.kt │ │ │ │ │ │ │ │ └── IntegratedAttributeModifiers.kt │ │ │ │ │ │ ├── damage │ │ │ │ │ │ │ └── DamageEffect.kt │ │ │ │ │ │ ├── mining │ │ │ │ │ │ │ └── MiningEffect.kt │ │ │ │ │ │ ├── movement │ │ │ │ │ │ │ └── MovementEffect.kt │ │ │ │ │ │ ├── other │ │ │ │ │ │ │ └── OtherEffect.kt │ │ │ │ │ │ ├── properties │ │ │ │ │ │ │ └── categories │ │ │ │ │ │ │ │ ├── BeneficalEffect.kt │ │ │ │ │ │ │ │ ├── CategorizedEffect.kt │ │ │ │ │ │ │ │ ├── HarmfulEffect.kt │ │ │ │ │ │ │ │ ├── NeutralEffect.kt │ │ │ │ │ │ │ │ └── StatusEffectCategories.kt │ │ │ │ │ │ └── vision │ │ │ │ │ │ │ └── VisionEffect.kt │ │ │ │ │ ├── enchantment │ │ │ │ │ │ ├── Enchantment.kt │ │ │ │ │ │ ├── IntegratedEnchantments.kt │ │ │ │ │ │ ├── PixLyzerEnchantment.kt │ │ │ │ │ │ ├── armor │ │ │ │ │ │ │ ├── ArmorEnchantment.kt │ │ │ │ │ │ │ └── MovementEnchantment.kt │ │ │ │ │ │ ├── slots │ │ │ │ │ │ │ └── SlotSpecificEnchantment.kt │ │ │ │ │ │ └── tool │ │ │ │ │ │ │ ├── MiningEnchantment.kt │ │ │ │ │ │ │ ├── ToolEnchantment.kt │ │ │ │ │ │ │ └── weapon │ │ │ │ │ │ │ └── WeaponEnchantment.kt │ │ │ │ │ ├── entities │ │ │ │ │ │ ├── DefaultEntityFactories.kt │ │ │ │ │ │ ├── EntityFactory.kt │ │ │ │ │ │ ├── EntityType.kt │ │ │ │ │ │ ├── damage │ │ │ │ │ │ │ └── DamageType.kt │ │ │ │ │ │ ├── variants │ │ │ │ │ │ │ ├── AbstractEntityVariant.kt │ │ │ │ │ │ │ ├── CatVariant.kt │ │ │ │ │ │ │ └── FrogVariant.kt │ │ │ │ │ │ └── villagers │ │ │ │ │ │ │ └── VillagerProfession.kt │ │ │ │ │ ├── factory │ │ │ │ │ │ ├── DefaultFactory.kt │ │ │ │ │ │ ├── clazz │ │ │ │ │ │ │ ├── ClassFactory.kt │ │ │ │ │ │ │ ├── DefaultClassFactory.kt │ │ │ │ │ │ │ ├── MultiClassFactory.kt │ │ │ │ │ │ │ └── mapping │ │ │ │ │ │ │ │ ├── ClassMappingFactory.kt │ │ │ │ │ │ │ │ ├── DefaultClassMappingFactory.kt │ │ │ │ │ │ │ │ └── MultiClassMappingFactory.kt │ │ │ │ │ │ └── name │ │ │ │ │ │ │ ├── DefaultNameFactory.kt │ │ │ │ │ │ │ ├── MultiNameFactory.kt │ │ │ │ │ │ │ └── NameFactory.kt │ │ │ │ │ ├── fallback │ │ │ │ │ │ ├── FallbackRegistries.kt │ │ │ │ │ │ └── tags │ │ │ │ │ │ │ └── FallbackTags.kt │ │ │ │ │ ├── fixer │ │ │ │ │ │ └── RegistriesFixer.kt │ │ │ │ │ ├── fluid │ │ │ │ │ │ ├── Fluid.kt │ │ │ │ │ │ ├── FluidFactories.kt │ │ │ │ │ │ ├── FluidFactory.kt │ │ │ │ │ │ ├── FluidRegistry.kt │ │ │ │ │ │ ├── fluids │ │ │ │ │ │ │ ├── EmptyFluid.kt │ │ │ │ │ │ │ ├── LavaFluid.kt │ │ │ │ │ │ │ ├── PixLyzerFluid.kt │ │ │ │ │ │ │ └── WaterFluid.kt │ │ │ │ │ │ └── handler │ │ │ │ │ │ │ ├── FluidCollisionHandler.kt │ │ │ │ │ │ │ ├── FluidEnterHandler.kt │ │ │ │ │ │ │ └── FluidLeaveHandler.kt │ │ │ │ │ ├── identified │ │ │ │ │ │ ├── AliasedIdentified.kt │ │ │ │ │ │ ├── Identified.kt │ │ │ │ │ │ ├── Namespaces.kt │ │ │ │ │ │ ├── ResourceLocation.kt │ │ │ │ │ │ └── ResourceLocationUtil.kt │ │ │ │ │ ├── integrated │ │ │ │ │ │ ├── IntegratedRegistry.kt │ │ │ │ │ │ └── SingletonIntegratedRegistry.kt │ │ │ │ │ ├── item │ │ │ │ │ │ ├── ItemRegistry.kt │ │ │ │ │ │ ├── MinecraftItems.kt │ │ │ │ │ │ ├── factory │ │ │ │ │ │ │ ├── ItemFactories.kt │ │ │ │ │ │ │ ├── ItemFactory.kt │ │ │ │ │ │ │ ├── PixLyzerItemFactories.kt │ │ │ │ │ │ │ └── PixLyzerItemFactory.kt │ │ │ │ │ │ ├── handler │ │ │ │ │ │ │ ├── ItemInteractBlockHandler.kt │ │ │ │ │ │ │ ├── ItemInteractEntityAtHandler.kt │ │ │ │ │ │ │ └── item │ │ │ │ │ │ │ │ ├── ItemUseHandler.kt │ │ │ │ │ │ │ │ ├── LongItemUseHandler.kt │ │ │ │ │ │ │ │ └── LongUseResults.kt │ │ │ │ │ │ ├── items │ │ │ │ │ │ │ ├── DurableItem.kt │ │ │ │ │ │ │ ├── Item.kt │ │ │ │ │ │ │ ├── armor │ │ │ │ │ │ │ │ ├── ArmorItem.kt │ │ │ │ │ │ │ │ ├── DefendingArmorItem.kt │ │ │ │ │ │ │ │ ├── WearableItem.kt │ │ │ │ │ │ │ │ ├── extra │ │ │ │ │ │ │ │ │ ├── ElytraItem.kt │ │ │ │ │ │ │ │ │ └── TurtleHelmet.kt │ │ │ │ │ │ │ │ ├── materials │ │ │ │ │ │ │ │ │ ├── ChainmailArmor.kt │ │ │ │ │ │ │ │ │ ├── DiamondArmor.kt │ │ │ │ │ │ │ │ │ ├── GoldArmor.kt │ │ │ │ │ │ │ │ │ ├── IronArmor.kt │ │ │ │ │ │ │ │ │ ├── LeatherArmor.kt │ │ │ │ │ │ │ │ │ └── NetheriteArmor.kt │ │ │ │ │ │ │ │ └── slots │ │ │ │ │ │ │ │ │ ├── BootsItem.kt │ │ │ │ │ │ │ │ │ ├── ChestplateItem.kt │ │ │ │ │ │ │ │ │ ├── HelmetItem.kt │ │ │ │ │ │ │ │ │ └── LeggingsItem.kt │ │ │ │ │ │ │ ├── block │ │ │ │ │ │ │ │ ├── BlockItem.kt │ │ │ │ │ │ │ │ ├── PlaceableItem.kt │ │ │ │ │ │ │ │ ├── climbing │ │ │ │ │ │ │ │ │ └── ClimbingItems.kt │ │ │ │ │ │ │ │ └── legacy │ │ │ │ │ │ │ │ │ ├── CommandBlockItem.kt │ │ │ │ │ │ │ │ │ ├── LilyPadItem.kt │ │ │ │ │ │ │ │ │ ├── PixLyzerBlockItem.kt │ │ │ │ │ │ │ │ │ ├── TallBlockItem.kt │ │ │ │ │ │ │ │ │ └── WallStandingBlockItem.kt │ │ │ │ │ │ │ ├── bucket │ │ │ │ │ │ │ │ ├── BucketItem.kt │ │ │ │ │ │ │ │ └── FilledBucketItem.kt │ │ │ │ │ │ │ ├── dye │ │ │ │ │ │ │ │ └── DyeableItem.kt │ │ │ │ │ │ │ ├── end │ │ │ │ │ │ │ │ ├── EndItem.kt │ │ │ │ │ │ │ │ ├── EnderEyeItem.kt │ │ │ │ │ │ │ │ └── EnderPealItem.kt │ │ │ │ │ │ │ ├── entities │ │ │ │ │ │ │ │ └── chicken │ │ │ │ │ │ │ │ │ └── EggItem.kt │ │ │ │ │ │ │ ├── fire │ │ │ │ │ │ │ │ ├── FireChargeItem.kt │ │ │ │ │ │ │ │ ├── FireItem.kt │ │ │ │ │ │ │ │ └── FlintAndSteelItem.kt │ │ │ │ │ │ │ ├── fishing │ │ │ │ │ │ │ │ ├── FishingItem.kt │ │ │ │ │ │ │ │ └── rod │ │ │ │ │ │ │ │ │ └── OnAStickItem.kt │ │ │ │ │ │ │ ├── fluid │ │ │ │ │ │ │ │ ├── FluidDrainable.kt │ │ │ │ │ │ │ │ └── FluidItem.kt │ │ │ │ │ │ │ ├── food │ │ │ │ │ │ │ │ ├── AppleItem.kt │ │ │ │ │ │ │ │ └── FoodItem.kt │ │ │ │ │ │ │ ├── legacy │ │ │ │ │ │ │ │ └── ItemWithMeta.kt │ │ │ │ │ │ │ ├── pixlyzer │ │ │ │ │ │ │ │ ├── DyeItem.kt │ │ │ │ │ │ │ │ ├── MusicDiscItem.kt │ │ │ │ │ │ │ │ ├── PixLyzerFoodItem.kt │ │ │ │ │ │ │ │ ├── PixLyzerItem.kt │ │ │ │ │ │ │ │ └── SpawnEggItem.kt │ │ │ │ │ │ │ ├── potion │ │ │ │ │ │ │ │ ├── AbstractPotionItem.kt │ │ │ │ │ │ │ │ ├── DrinkingPotionItem.kt │ │ │ │ │ │ │ │ ├── LingeringPotionItem.kt │ │ │ │ │ │ │ │ ├── SplashPotionItem.kt │ │ │ │ │ │ │ │ └── ThrowablePotionItem.kt │ │ │ │ │ │ │ ├── snow │ │ │ │ │ │ │ │ └── SnowballItem.kt │ │ │ │ │ │ │ ├── throwable │ │ │ │ │ │ │ │ └── ThrowableItem.kt │ │ │ │ │ │ │ ├── tool │ │ │ │ │ │ │ │ ├── InteractingToolItem.kt │ │ │ │ │ │ │ │ ├── LeveledToolItem.kt │ │ │ │ │ │ │ │ ├── MiningTool.kt │ │ │ │ │ │ │ │ ├── ToolItem.kt │ │ │ │ │ │ │ │ ├── ToolLevels.kt │ │ │ │ │ │ │ │ ├── axe │ │ │ │ │ │ │ │ │ ├── AxeItem.kt │ │ │ │ │ │ │ │ │ └── AxeRequirement.kt │ │ │ │ │ │ │ │ ├── hoe │ │ │ │ │ │ │ │ │ ├── HoeItem.kt │ │ │ │ │ │ │ │ │ └── HoeRequirement.kt │ │ │ │ │ │ │ │ ├── materials │ │ │ │ │ │ │ │ │ ├── DiamondTool.kt │ │ │ │ │ │ │ │ │ ├── GoldenTool.kt │ │ │ │ │ │ │ │ │ ├── IronTool.kt │ │ │ │ │ │ │ │ │ ├── NetheriteTool.kt │ │ │ │ │ │ │ │ │ ├── StoneTool.kt │ │ │ │ │ │ │ │ │ └── WoodenTool.kt │ │ │ │ │ │ │ │ ├── pickaxe │ │ │ │ │ │ │ │ │ ├── PickaxeItem.kt │ │ │ │ │ │ │ │ │ └── PickaxeRequirement.kt │ │ │ │ │ │ │ │ ├── properties │ │ │ │ │ │ │ │ │ ├── LeveledTool.kt │ │ │ │ │ │ │ │ │ ├── MiningSpeedTool.kt │ │ │ │ │ │ │ │ │ └── requirement │ │ │ │ │ │ │ │ │ │ ├── HandBreakable.kt │ │ │ │ │ │ │ │ │ │ ├── LeveledToolRequirement.kt │ │ │ │ │ │ │ │ │ │ └── ToolRequirement.kt │ │ │ │ │ │ │ │ ├── shears │ │ │ │ │ │ │ │ │ ├── ShearsItem.kt │ │ │ │ │ │ │ │ │ └── ShearsRequirement.kt │ │ │ │ │ │ │ │ ├── shovel │ │ │ │ │ │ │ │ │ ├── ShovelItem.kt │ │ │ │ │ │ │ │ │ └── ShovelRequirement.kt │ │ │ │ │ │ │ │ └── sword │ │ │ │ │ │ │ │ │ ├── SwordItem.kt │ │ │ │ │ │ │ │ │ └── SwordRequirement.kt │ │ │ │ │ │ │ └── weapon │ │ │ │ │ │ │ │ ├── WeaponItem.kt │ │ │ │ │ │ │ │ ├── attack │ │ │ │ │ │ │ │ └── range │ │ │ │ │ │ │ │ │ ├── RangeWeapon.kt │ │ │ │ │ │ │ │ │ └── pullable │ │ │ │ │ │ │ │ │ ├── BowItem.kt │ │ │ │ │ │ │ │ │ └── PullableItem.kt │ │ │ │ │ │ │ │ └── defend │ │ │ │ │ │ │ │ ├── DefendingItem.kt │ │ │ │ │ │ │ │ └── ShieldItem.kt │ │ │ │ │ │ └── stack │ │ │ │ │ │ │ ├── HalfStackableItem.kt │ │ │ │ │ │ │ └── StackableItem.kt │ │ │ │ │ ├── materials │ │ │ │ │ │ ├── DefaultMaterials.kt │ │ │ │ │ │ ├── Material.kt │ │ │ │ │ │ └── PushReactions.kt │ │ │ │ │ ├── misc │ │ │ │ │ │ ├── MiscData.kt │ │ │ │ │ │ └── event │ │ │ │ │ │ │ ├── game │ │ │ │ │ │ │ ├── DefaultGameEventHandlers.kt │ │ │ │ │ │ │ ├── GameEventHandler.kt │ │ │ │ │ │ │ └── handler │ │ │ │ │ │ │ │ ├── gamemode │ │ │ │ │ │ │ │ └── GamemodeChangeHandler.kt │ │ │ │ │ │ │ │ ├── gradients │ │ │ │ │ │ │ │ ├── RainGradientSetHandler.kt │ │ │ │ │ │ │ │ └── ThunderGradientSetHandler.kt │ │ │ │ │ │ │ │ └── rain │ │ │ │ │ │ │ │ ├── RainStartHandler.kt │ │ │ │ │ │ │ │ └── RainStopHandler.kt │ │ │ │ │ │ │ └── world │ │ │ │ │ │ │ ├── DefaultWorldEventHandlers.kt │ │ │ │ │ │ │ ├── WorldEventHandler.kt │ │ │ │ │ │ │ └── handler │ │ │ │ │ │ │ ├── BlockDestroyedHandler.kt │ │ │ │ │ │ │ └── win │ │ │ │ │ │ │ ├── WinGameEvent.kt │ │ │ │ │ │ │ └── WinGameHandler.kt │ │ │ │ │ ├── particle │ │ │ │ │ │ ├── ParticleType.kt │ │ │ │ │ │ └── data │ │ │ │ │ │ │ ├── BlockParticleData.kt │ │ │ │ │ │ │ ├── DustParticleData.kt │ │ │ │ │ │ │ ├── ItemParticleData.kt │ │ │ │ │ │ │ ├── ParticleData.kt │ │ │ │ │ │ │ ├── ParticleDataFactory.kt │ │ │ │ │ │ │ ├── SculkChargeParticleData.kt │ │ │ │ │ │ │ ├── ShriekParticleData.kt │ │ │ │ │ │ │ ├── VibrationParticleData.kt │ │ │ │ │ │ │ └── vibration │ │ │ │ │ │ │ ├── BlockSource.kt │ │ │ │ │ │ │ ├── EntitySource.kt │ │ │ │ │ │ │ ├── VibrationFactory.kt │ │ │ │ │ │ │ ├── VibrationSource.kt │ │ │ │ │ │ │ └── VibrationSources.kt │ │ │ │ │ ├── registries │ │ │ │ │ │ ├── PixLyzerUtil.kt │ │ │ │ │ │ ├── Registries.kt │ │ │ │ │ │ ├── RegistriesLoader.kt │ │ │ │ │ │ └── registry │ │ │ │ │ │ │ ├── AbstractRegistry.kt │ │ │ │ │ │ │ ├── BlockStateRegistry.kt │ │ │ │ │ │ │ ├── EnumRegistry.kt │ │ │ │ │ │ │ ├── FakeEnumRegistry.kt │ │ │ │ │ │ │ ├── MetaTypes.kt │ │ │ │ │ │ │ ├── Parentable.kt │ │ │ │ │ │ │ ├── PerVersionEnumRegistry.kt │ │ │ │ │ │ │ ├── PerVersionRegistry.kt │ │ │ │ │ │ │ ├── Registry.kt │ │ │ │ │ │ │ ├── RegistryFakeEnumerable.kt │ │ │ │ │ │ │ ├── RegistryItem.kt │ │ │ │ │ │ │ ├── RegistryIterator.kt │ │ │ │ │ │ │ ├── ResourceLocationRegistry.kt │ │ │ │ │ │ │ └── codec │ │ │ │ │ │ │ ├── IdCodec.kt │ │ │ │ │ │ │ └── IdentifierCodec.kt │ │ │ │ │ ├── shapes │ │ │ │ │ │ ├── ShapeRegistry.kt │ │ │ │ │ │ ├── aabb │ │ │ │ │ │ │ ├── AABB.kt │ │ │ │ │ │ │ └── AABBIterator.kt │ │ │ │ │ │ ├── side │ │ │ │ │ │ │ ├── SideQuad.kt │ │ │ │ │ │ │ └── VoxelSide.kt │ │ │ │ │ │ └── voxel │ │ │ │ │ │ │ ├── AABBRaycastHit.kt │ │ │ │ │ │ │ ├── AbstractVoxelShape.kt │ │ │ │ │ │ │ ├── MutableVoxelShape.kt │ │ │ │ │ │ │ └── VoxelShape.kt │ │ │ │ │ ├── sound │ │ │ │ │ │ └── SoundGroup.kt │ │ │ │ │ ├── statistics │ │ │ │ │ │ ├── OtherStatistic.kt │ │ │ │ │ │ ├── Statistic.kt │ │ │ │ │ │ └── StatisticUnits.kt │ │ │ │ │ └── tweaker │ │ │ │ │ │ └── VersionTweaker.kt │ │ │ │ ├── scoreboard │ │ │ │ │ ├── NameTagVisibilities.kt │ │ │ │ │ ├── ScoreboardManager.kt │ │ │ │ │ ├── ScoreboardObjective.kt │ │ │ │ │ ├── ScoreboardPositions.kt │ │ │ │ │ ├── ScoreboardScore.kt │ │ │ │ │ ├── TeamCollisionRules.kt │ │ │ │ │ └── team │ │ │ │ │ │ ├── Team.kt │ │ │ │ │ │ ├── TeamFormatting.kt │ │ │ │ │ │ └── TeamVisibility.kt │ │ │ │ ├── text │ │ │ │ │ ├── BaseComponent.kt │ │ │ │ │ ├── ChatComponent.kt │ │ │ │ │ ├── ChatComponentUtil.kt │ │ │ │ │ ├── EmptyComponent.kt │ │ │ │ │ ├── LegacyComponentReader.kt │ │ │ │ │ ├── TextComponent.kt │ │ │ │ │ ├── TranslatableComponents.kt │ │ │ │ │ ├── URLProtocols.kt │ │ │ │ │ ├── events │ │ │ │ │ │ ├── ChatEvent.kt │ │ │ │ │ │ ├── ChatEventFactory.kt │ │ │ │ │ │ ├── click │ │ │ │ │ │ │ ├── ClickCallbackClickEvent.kt │ │ │ │ │ │ │ ├── ClickEvent.kt │ │ │ │ │ │ │ ├── ClickEventFactory.kt │ │ │ │ │ │ │ ├── ClickEvents.kt │ │ │ │ │ │ │ ├── CopyToClipboardClickEvent.kt │ │ │ │ │ │ │ ├── InternalCommandClickEvent.kt │ │ │ │ │ │ │ ├── OpenFileClickEvent.kt │ │ │ │ │ │ │ ├── OpenURLClickEvent.kt │ │ │ │ │ │ │ ├── SendMessageClickEvent.kt │ │ │ │ │ │ │ └── SuggestChatClickEvent.kt │ │ │ │ │ │ └── hover │ │ │ │ │ │ │ ├── AchievementHoverEvent.kt │ │ │ │ │ │ │ ├── EntityHoverEvent.kt │ │ │ │ │ │ │ ├── HoverEvent.kt │ │ │ │ │ │ │ ├── HoverEventFactory.kt │ │ │ │ │ │ │ ├── HoverEvents.kt │ │ │ │ │ │ │ ├── ItemHoverEvent.kt │ │ │ │ │ │ │ └── TextHoverEvent.kt │ │ │ │ │ └── formatting │ │ │ │ │ │ ├── FormattingCodes.kt │ │ │ │ │ │ ├── TextFormattable.kt │ │ │ │ │ │ ├── TextStyle.kt │ │ │ │ │ │ └── color │ │ │ │ │ │ ├── ChatColors.kt │ │ │ │ │ │ ├── ColorInterpolation.kt │ │ │ │ │ │ ├── ColorUtil.kt │ │ │ │ │ │ ├── Colored.kt │ │ │ │ │ │ ├── Colors.kt │ │ │ │ │ │ └── RGBColor.kt │ │ │ │ └── world │ │ │ │ │ ├── World.kt │ │ │ │ │ ├── audio │ │ │ │ │ ├── AbstractAudioPlayer.kt │ │ │ │ │ └── WorldAudioPlayer.kt │ │ │ │ │ ├── biome │ │ │ │ │ ├── WorldBiomes.kt │ │ │ │ │ ├── accessor │ │ │ │ │ │ └── noise │ │ │ │ │ │ │ ├── FastNoiseAccessor.kt │ │ │ │ │ │ │ ├── NoiseBiomeAccessor.kt │ │ │ │ │ │ │ └── VoronoiBiomeAccessor.kt │ │ │ │ │ └── source │ │ │ │ │ │ ├── BiomeSource.kt │ │ │ │ │ │ ├── DummyBiomeSource.kt │ │ │ │ │ │ ├── PalettedBiomeArray.kt │ │ │ │ │ │ ├── SpatialBiomeArray.kt │ │ │ │ │ │ └── XZBiomeArray.kt │ │ │ │ │ ├── border │ │ │ │ │ ├── WorldBorder.kt │ │ │ │ │ ├── WorldBorderState.kt │ │ │ │ │ └── area │ │ │ │ │ │ ├── BorderArea.kt │ │ │ │ │ │ ├── DynamicBorderArea.kt │ │ │ │ │ │ └── StaticBorderArea.kt │ │ │ │ │ ├── chunk │ │ │ │ │ ├── ChunkSection.kt │ │ │ │ │ ├── chunk │ │ │ │ │ │ ├── Chunk.kt │ │ │ │ │ │ └── ChunkPrototype.kt │ │ │ │ │ ├── heightmap │ │ │ │ │ │ ├── ChunkHeightmap.kt │ │ │ │ │ │ ├── FixedHeightmap.kt │ │ │ │ │ │ ├── Heightmap.kt │ │ │ │ │ │ └── LightHeightmap.kt │ │ │ │ │ ├── light │ │ │ │ │ │ ├── LightUtil.kt │ │ │ │ │ │ ├── section │ │ │ │ │ │ │ ├── AbstractSectionLight.kt │ │ │ │ │ │ │ ├── ChunkLight.kt │ │ │ │ │ │ │ ├── ChunkLightUtil.kt │ │ │ │ │ │ │ ├── ChunkSkyLight.kt │ │ │ │ │ │ │ ├── SectionLight.kt │ │ │ │ │ │ │ └── border │ │ │ │ │ │ │ │ ├── BorderSectionLight.kt │ │ │ │ │ │ │ │ ├── BottomSectionLight.kt │ │ │ │ │ │ │ │ └── TopSectionLight.kt │ │ │ │ │ │ └── types │ │ │ │ │ │ │ ├── LightArray.kt │ │ │ │ │ │ │ └── LightLevel.kt │ │ │ │ │ ├── manager │ │ │ │ │ │ ├── ChunkManager.kt │ │ │ │ │ │ ├── ChunkTicker.kt │ │ │ │ │ │ └── size │ │ │ │ │ │ │ ├── WorldSize.kt │ │ │ │ │ │ │ └── WorldSizeManager.kt │ │ │ │ │ ├── neighbours │ │ │ │ │ │ ├── ChunkNeighbourArray.kt │ │ │ │ │ │ └── ChunkNeighbours.kt │ │ │ │ │ └── update │ │ │ │ │ │ ├── AbstractWorldUpdate.kt │ │ │ │ │ │ ├── WorldUpdateEvent.kt │ │ │ │ │ │ ├── block │ │ │ │ │ │ ├── ChunkLocalBlockUpdate.kt │ │ │ │ │ │ ├── SingleBlockDataUpdate.kt │ │ │ │ │ │ └── SingleBlockUpdate.kt │ │ │ │ │ │ └── chunk │ │ │ │ │ │ ├── ChunkCreateUpdate.kt │ │ │ │ │ │ ├── ChunkLightUpdate.kt │ │ │ │ │ │ ├── ChunkUnloadUpdate.kt │ │ │ │ │ │ ├── NeighbourChangeUpdate.kt │ │ │ │ │ │ └── prototype │ │ │ │ │ │ ├── PrototypeChange.kt │ │ │ │ │ │ └── PrototypeChangeUpdate.kt │ │ │ │ │ ├── container │ │ │ │ │ ├── SectionDataProvider.kt │ │ │ │ │ ├── biome │ │ │ │ │ │ └── BiomeSectionDataProvider.kt │ │ │ │ │ ├── block │ │ │ │ │ │ ├── BlockSectionDataProvider.kt │ │ │ │ │ │ └── SectionOcclusion.kt │ │ │ │ │ └── palette │ │ │ │ │ │ ├── PalettedContainer.kt │ │ │ │ │ │ ├── PalettedContainerReader.kt │ │ │ │ │ │ ├── data │ │ │ │ │ │ ├── EmptyPaletteData.kt │ │ │ │ │ │ ├── PaletteData.kt │ │ │ │ │ │ └── array │ │ │ │ │ │ │ └── ArrayPaletteData.kt │ │ │ │ │ │ └── palettes │ │ │ │ │ │ ├── ArrayPalette.kt │ │ │ │ │ │ ├── BiomePaletteFactory.kt │ │ │ │ │ │ ├── BlockStatePaletteFactory.kt │ │ │ │ │ │ ├── Palette.kt │ │ │ │ │ │ ├── PaletteFactory.kt │ │ │ │ │ │ ├── RegistryPalette.kt │ │ │ │ │ │ └── SingularPalette.kt │ │ │ │ │ ├── difficulty │ │ │ │ │ ├── Difficulties.kt │ │ │ │ │ └── WorldDifficulty.kt │ │ │ │ │ ├── entities │ │ │ │ │ ├── EntityTicker.kt │ │ │ │ │ └── WorldEntities.kt │ │ │ │ │ ├── iterator │ │ │ │ │ ├── BlockPair.kt │ │ │ │ │ └── WorldIterator.kt │ │ │ │ │ ├── map │ │ │ │ │ ├── Map.kt │ │ │ │ │ ├── MapPin.kt │ │ │ │ │ └── MapPinTypes.kt │ │ │ │ │ ├── particle │ │ │ │ │ └── AbstractParticleRenderer.kt │ │ │ │ │ ├── positions │ │ │ │ │ ├── BlockPosition.kt │ │ │ │ │ ├── BlockPositionUtil.kt │ │ │ │ │ ├── ChunkPosition.kt │ │ │ │ │ ├── InChunkPosition.kt │ │ │ │ │ ├── InSectionPosition.kt │ │ │ │ │ ├── SectionHeight.kt │ │ │ │ │ ├── SectionIndex.kt │ │ │ │ │ └── SectionPosition.kt │ │ │ │ │ ├── time │ │ │ │ │ ├── DayPhases.kt │ │ │ │ │ ├── MoonPhases.kt │ │ │ │ │ └── WorldTime.kt │ │ │ │ │ ├── vec │ │ │ │ │ ├── SVec3.kt │ │ │ │ │ └── VecUtil.kt │ │ │ │ │ ├── view │ │ │ │ │ ├── ParticleViewDistanceChangeEvent.kt │ │ │ │ │ ├── SimulationDistanceChangeEvent.kt │ │ │ │ │ ├── ViewDistanceChangeEvent.kt │ │ │ │ │ └── WorldView.kt │ │ │ │ │ └── weather │ │ │ │ │ └── WorldWeather.kt │ │ │ │ ├── datafixer │ │ │ │ ├── DataFixer.kt │ │ │ │ ├── Fixer.kt │ │ │ │ ├── enumeration │ │ │ │ │ ├── EntityDataTypesFixer.kt │ │ │ │ │ └── EnumFixer.kt │ │ │ │ └── rls │ │ │ │ │ ├── BlockEntityFixer.kt │ │ │ │ │ ├── ContainerTypeFixer.kt │ │ │ │ │ ├── EntityAttributeFixer.kt │ │ │ │ │ ├── EntityTypeFixer.kt │ │ │ │ │ ├── MotifFixer.kt │ │ │ │ │ ├── RegistryFixer.kt │ │ │ │ │ └── ResourceLocationFixer.kt │ │ │ │ ├── example │ │ │ │ └── ExampleMod.kt │ │ │ │ ├── gui │ │ │ │ ├── RenderLoop.kt │ │ │ │ ├── eros │ │ │ │ │ ├── Eros.kt │ │ │ │ │ ├── card │ │ │ │ │ │ ├── AbstractCardController.kt │ │ │ │ │ │ └── CardFactory.kt │ │ │ │ │ ├── controller │ │ │ │ │ │ ├── DialogController.kt │ │ │ │ │ │ ├── EmbeddedJavaFXController.kt │ │ │ │ │ │ ├── JavaFXController.kt │ │ │ │ │ │ └── JavaFXWindowController.kt │ │ │ │ │ ├── crash │ │ │ │ │ │ └── ErosCrashReport.kt │ │ │ │ │ ├── dialog │ │ │ │ │ │ ├── ErosErrorReport.kt │ │ │ │ │ │ ├── PleaseWaitDialog.kt │ │ │ │ │ │ ├── ServerModifyDialog.kt │ │ │ │ │ │ ├── StartingDialog.kt │ │ │ │ │ │ ├── UpdateAvailableDialog.kt │ │ │ │ │ │ ├── profiles │ │ │ │ │ │ │ ├── ProfileCreateDialog.kt │ │ │ │ │ │ │ └── ProfileSelectDialog.kt │ │ │ │ │ │ ├── progress │ │ │ │ │ │ │ └── ProgressDialog.kt │ │ │ │ │ │ ├── session │ │ │ │ │ │ │ ├── ConnectingDialog.kt │ │ │ │ │ │ │ ├── KickDialog.kt │ │ │ │ │ │ │ ├── LoadingDialog.kt │ │ │ │ │ │ │ └── VerifyAssetsDialog.kt │ │ │ │ │ │ └── simple │ │ │ │ │ │ │ ├── ConfirmationDialog.kt │ │ │ │ │ │ │ ├── InfoDialog.kt │ │ │ │ │ │ │ └── WarningDialog.kt │ │ │ │ │ ├── main │ │ │ │ │ │ ├── ErosMainActivities.kt │ │ │ │ │ │ ├── InfoPane.kt │ │ │ │ │ │ ├── MainErosController.kt │ │ │ │ │ │ ├── about │ │ │ │ │ │ │ └── AboutController.kt │ │ │ │ │ │ ├── account │ │ │ │ │ │ │ ├── AccountCardController.kt │ │ │ │ │ │ │ ├── AccountController.kt │ │ │ │ │ │ │ ├── AccountTypeCardController.kt │ │ │ │ │ │ │ ├── CheckingDialog.kt │ │ │ │ │ │ │ ├── ErosAccountType.kt │ │ │ │ │ │ │ └── add │ │ │ │ │ │ │ │ ├── MicrosoftAddController.kt │ │ │ │ │ │ │ │ └── OfflineAddController.kt │ │ │ │ │ │ ├── mods │ │ │ │ │ │ │ ├── ModCardController.kt │ │ │ │ │ │ │ └── ModsController.kt │ │ │ │ │ │ ├── play │ │ │ │ │ │ │ ├── PlayController.kt │ │ │ │ │ │ │ └── server │ │ │ │ │ │ │ │ ├── Refreshable.kt │ │ │ │ │ │ │ │ ├── ServerListController.kt │ │ │ │ │ │ │ │ ├── card │ │ │ │ │ │ │ │ ├── ConnectError.kt │ │ │ │ │ │ │ │ ├── FaviconManager.kt │ │ │ │ │ │ │ │ ├── ServerCard.kt │ │ │ │ │ │ │ │ └── ServerCardController.kt │ │ │ │ │ │ │ │ └── type │ │ │ │ │ │ │ │ ├── ServerTypeCardController.kt │ │ │ │ │ │ │ │ └── types │ │ │ │ │ │ │ │ ├── CustomServerType.kt │ │ │ │ │ │ │ │ ├── LANServerType.kt │ │ │ │ │ │ │ │ └── ServerType.kt │ │ │ │ │ │ └── profiles │ │ │ │ │ │ │ ├── ProfileCardController.kt │ │ │ │ │ │ │ ├── ProfilesController.kt │ │ │ │ │ │ │ ├── ProfilesListController.kt │ │ │ │ │ │ │ └── type │ │ │ │ │ │ │ └── ProfilesTypeCardController.kt │ │ │ │ │ ├── modding │ │ │ │ │ │ ├── events │ │ │ │ │ │ │ └── ErosControllerTerminateEvent.kt │ │ │ │ │ │ └── invoker │ │ │ │ │ │ │ └── JavaFXEventListener.kt │ │ │ │ │ └── util │ │ │ │ │ │ ├── JavaFXAccountUtil.kt │ │ │ │ │ │ ├── JavaFXInitializer.kt │ │ │ │ │ │ ├── JavaFXSystemAPI.kt │ │ │ │ │ │ ├── JavaFXUtil.kt │ │ │ │ │ │ ├── StageList.kt │ │ │ │ │ │ ├── cell │ │ │ │ │ │ ├── LabeledListCell.kt │ │ │ │ │ │ └── VersionListCell.kt │ │ │ │ │ │ └── text │ │ │ │ │ │ └── JavaFXTextRenderer.kt │ │ │ │ └── rendering │ │ │ │ │ ├── RenderConstants.kt │ │ │ │ │ ├── RenderContext.kt │ │ │ │ │ ├── RenderLoader.kt │ │ │ │ │ ├── RenderUtil.kt │ │ │ │ │ ├── Rendering.kt │ │ │ │ │ ├── RenderingStates.kt │ │ │ │ │ ├── camera │ │ │ │ │ ├── Camera.kt │ │ │ │ │ ├── CameraDefinition.kt │ │ │ │ │ ├── MatrixHandler.kt │ │ │ │ │ ├── WorldOffset.kt │ │ │ │ │ ├── arm │ │ │ │ │ │ ├── ArmMesh.kt │ │ │ │ │ │ ├── ArmRenderer.kt │ │ │ │ │ │ └── ArmShader.kt │ │ │ │ │ ├── fog │ │ │ │ │ │ ├── FogFlags.kt │ │ │ │ │ │ ├── FogInterpolationStart.kt │ │ │ │ │ │ ├── FogManager.kt │ │ │ │ │ │ ├── FogOptions.kt │ │ │ │ │ │ ├── FogState.kt │ │ │ │ │ │ └── FoggedFluid.kt │ │ │ │ │ ├── frustum │ │ │ │ │ │ └── Frustum.kt │ │ │ │ │ ├── occlusion │ │ │ │ │ │ ├── OcclusionGraph.kt │ │ │ │ │ │ ├── OcclusionTracer.kt │ │ │ │ │ │ ├── SectionPositionSet.kt │ │ │ │ │ │ └── WorldOcclusionManager.kt │ │ │ │ │ ├── shaking │ │ │ │ │ │ └── CameraShaking.kt │ │ │ │ │ ├── view │ │ │ │ │ │ ├── CameraView.kt │ │ │ │ │ │ ├── DebugView.kt │ │ │ │ │ │ ├── ViewManager.kt │ │ │ │ │ │ └── person │ │ │ │ │ │ │ ├── FirstPersonView.kt │ │ │ │ │ │ │ ├── PersonView.kt │ │ │ │ │ │ │ └── ThirdPersonView.kt │ │ │ │ │ └── visibility │ │ │ │ │ │ └── WorldVisibility.kt │ │ │ │ │ ├── chunk │ │ │ │ │ ├── ChunkRenderer.kt │ │ │ │ │ ├── LoadedMeshes.kt │ │ │ │ │ ├── WorldQueueItem.kt │ │ │ │ │ ├── border │ │ │ │ │ │ ├── WorldBorderMesh.kt │ │ │ │ │ │ ├── WorldBorderRenderer.kt │ │ │ │ │ │ └── WorldBorderShader.kt │ │ │ │ │ ├── chunk │ │ │ │ │ │ └── ChunkBorderRenderer.kt │ │ │ │ │ ├── entities │ │ │ │ │ │ ├── BlockEntityRenderer.kt │ │ │ │ │ │ ├── DefaultBlockEntityModels.kt │ │ │ │ │ │ ├── EntityRendererRegister.kt │ │ │ │ │ │ └── renderer │ │ │ │ │ │ │ ├── RenderedBlockEntity.kt │ │ │ │ │ │ │ ├── sign │ │ │ │ │ │ │ └── SignBlockEntityRenderer.kt │ │ │ │ │ │ │ └── storage │ │ │ │ │ │ │ ├── OpenCloseAnimation.kt │ │ │ │ │ │ │ ├── StorageBlockEntityRenderer.kt │ │ │ │ │ │ │ ├── chest │ │ │ │ │ │ │ ├── ChestAnimation.kt │ │ │ │ │ │ │ ├── ChestRenderer.kt │ │ │ │ │ │ │ ├── DoubleChestRenderer.kt │ │ │ │ │ │ │ └── SingleChestRenderer.kt │ │ │ │ │ │ │ └── shulker │ │ │ │ │ │ │ ├── ShulkerAnimation.kt │ │ │ │ │ │ │ └── ShulkerBoxRenderer.kt │ │ │ │ │ ├── mesh │ │ │ │ │ │ ├── BlockVertexConsumer.kt │ │ │ │ │ │ ├── ChunkMesh.kt │ │ │ │ │ │ ├── ChunkMeshes.kt │ │ │ │ │ │ └── VisibleMeshes.kt │ │ │ │ │ ├── mesher │ │ │ │ │ │ ├── ChunkMesher.kt │ │ │ │ │ │ ├── FluidSectionMesher.kt │ │ │ │ │ │ └── SolidSectionMesher.kt │ │ │ │ │ ├── outline │ │ │ │ │ │ └── BlockOutlineRenderer.kt │ │ │ │ │ ├── queue │ │ │ │ │ │ ├── CulledQueue.kt │ │ │ │ │ │ ├── QueuePosition.kt │ │ │ │ │ │ ├── loading │ │ │ │ │ │ │ ├── MeshLoadingQueue.kt │ │ │ │ │ │ │ └── MeshUnloadingQueue.kt │ │ │ │ │ │ ├── meshing │ │ │ │ │ │ │ ├── ChunkMeshingQueue.kt │ │ │ │ │ │ │ ├── ChunkQueueComparator.kt │ │ │ │ │ │ │ └── tasks │ │ │ │ │ │ │ │ ├── MeshPrepareTask.kt │ │ │ │ │ │ │ │ └── MeshPrepareTaskManager.kt │ │ │ │ │ │ └── queue │ │ │ │ │ │ │ └── ChunkQueueMaster.kt │ │ │ │ │ ├── shader │ │ │ │ │ │ └── ChunkShader.kt │ │ │ │ │ └── util │ │ │ │ │ │ ├── ChunkRendererChangeListener.kt │ │ │ │ │ │ └── ChunkRendererUtil.kt │ │ │ │ │ ├── entities │ │ │ │ │ ├── EntitiesRenderer.kt │ │ │ │ │ ├── EntityRendererManager.kt │ │ │ │ │ ├── easteregg │ │ │ │ │ │ └── EntityEasterEggs.kt │ │ │ │ │ ├── factory │ │ │ │ │ │ ├── DefaultEntityModels.kt │ │ │ │ │ │ ├── EntityModelFactory.kt │ │ │ │ │ │ └── RegisteredEntityModelFactory.kt │ │ │ │ │ ├── feature │ │ │ │ │ │ ├── EntityRenderFeature.kt │ │ │ │ │ │ ├── FeatureManager.kt │ │ │ │ │ │ ├── SkeletalFeature.kt │ │ │ │ │ │ ├── block │ │ │ │ │ │ │ ├── BlockFeature.kt │ │ │ │ │ │ │ ├── BlockMesh.kt │ │ │ │ │ │ │ ├── BlockRegister.kt │ │ │ │ │ │ │ ├── BlockShader.kt │ │ │ │ │ │ │ └── flashing │ │ │ │ │ │ │ │ ├── FlashingBlockFeature.kt │ │ │ │ │ │ │ │ └── FlashingBlockShader.kt │ │ │ │ │ │ ├── hitbox │ │ │ │ │ │ │ ├── HitboxFeature.kt │ │ │ │ │ │ │ └── HitboxManager.kt │ │ │ │ │ │ ├── item │ │ │ │ │ │ │ └── ItemFeature.kt │ │ │ │ │ │ ├── properties │ │ │ │ │ │ │ ├── InvisibleFeature.kt │ │ │ │ │ │ │ └── MeshedFeature.kt │ │ │ │ │ │ ├── register │ │ │ │ │ │ │ ├── EntityRenderFeatures.kt │ │ │ │ │ │ │ └── FeatureRegister.kt │ │ │ │ │ │ └── text │ │ │ │ │ │ │ ├── BillboardTextFeature.kt │ │ │ │ │ │ │ ├── BillboardTextMesh.kt │ │ │ │ │ │ │ ├── BillboardTextRegister.kt │ │ │ │ │ │ │ ├── BillboardTextShader.kt │ │ │ │ │ │ │ ├── name │ │ │ │ │ │ │ └── EntityNameFeature.kt │ │ │ │ │ │ │ └── score │ │ │ │ │ │ │ ├── EntityScoreFeature.kt │ │ │ │ │ │ │ └── ScoreRegister.kt │ │ │ │ │ ├── model │ │ │ │ │ │ ├── animal │ │ │ │ │ │ │ └── AnimalModel.kt │ │ │ │ │ │ ├── animator │ │ │ │ │ │ │ └── HeadAnimator.kt │ │ │ │ │ │ └── human │ │ │ │ │ │ │ ├── HumanModel.kt │ │ │ │ │ │ │ ├── PlayerModel.kt │ │ │ │ │ │ │ └── animator │ │ │ │ │ │ │ ├── ArmAnimator.kt │ │ │ │ │ │ │ └── LegAnimator.kt │ │ │ │ │ ├── renderer │ │ │ │ │ │ ├── DummyEntityRenderer.kt │ │ │ │ │ │ ├── EntityRenderer.kt │ │ │ │ │ │ ├── item │ │ │ │ │ │ │ ├── FallingBlockEntityRenderer.kt │ │ │ │ │ │ │ ├── ItemEntityRenderer.kt │ │ │ │ │ │ │ └── PrimedTNTEntityRenderer.kt │ │ │ │ │ │ └── living │ │ │ │ │ │ │ ├── LivingEntityRenderer.kt │ │ │ │ │ │ │ ├── animal │ │ │ │ │ │ │ ├── AnimalRenderer.kt │ │ │ │ │ │ │ ├── CowRenderer.kt │ │ │ │ │ │ │ └── PigRenderer.kt │ │ │ │ │ │ │ └── player │ │ │ │ │ │ │ ├── LocalPlayerRenderer.kt │ │ │ │ │ │ │ ├── PlayerModelMesh.kt │ │ │ │ │ │ │ ├── PlayerRegister.kt │ │ │ │ │ │ │ ├── PlayerRenderer.kt │ │ │ │ │ │ │ └── PlayerShader.kt │ │ │ │ │ ├── util │ │ │ │ │ │ ├── EntitySpeed.kt │ │ │ │ │ │ └── EntitySpeedAnimator.kt │ │ │ │ │ └── visibility │ │ │ │ │ │ ├── EntityLayer.kt │ │ │ │ │ │ └── VisibilityManager.kt │ │ │ │ │ ├── events │ │ │ │ │ ├── CameraMatrixChangeEvent.kt │ │ │ │ │ ├── CameraPositionChangeEvent.kt │ │ │ │ │ ├── RenderEvent.kt │ │ │ │ │ ├── ResizeWindowEvent.kt │ │ │ │ │ ├── VisibilityGraphChangeEvent.kt │ │ │ │ │ ├── WindowCloseEvent.kt │ │ │ │ │ └── input │ │ │ │ │ │ ├── CharInputEvent.kt │ │ │ │ │ │ ├── KeyInputEvent.kt │ │ │ │ │ │ ├── MouseMoveEvent.kt │ │ │ │ │ │ └── MouseScrollEvent.kt │ │ │ │ │ ├── exceptions │ │ │ │ │ ├── ShaderLinkingException.kt │ │ │ │ │ └── ShaderLoadingException.kt │ │ │ │ │ ├── font │ │ │ │ │ ├── WorldGUIConsumer.kt │ │ │ │ │ ├── loader │ │ │ │ │ │ ├── DefaultFontIndices.kt │ │ │ │ │ │ └── FontLoader.kt │ │ │ │ │ ├── manager │ │ │ │ │ │ └── FontManager.kt │ │ │ │ │ ├── renderer │ │ │ │ │ │ ├── CodePointAddResult.kt │ │ │ │ │ │ ├── code │ │ │ │ │ │ │ ├── AscentedCodePointRenderer.kt │ │ │ │ │ │ │ ├── CodePointRenderer.kt │ │ │ │ │ │ │ └── RasterizedCodePointRenderer.kt │ │ │ │ │ │ ├── component │ │ │ │ │ │ │ ├── BaseComponentRenderer.kt │ │ │ │ │ │ │ ├── ChatComponentRenderer.kt │ │ │ │ │ │ │ └── TextComponentRenderer.kt │ │ │ │ │ │ ├── element │ │ │ │ │ │ │ ├── CharSpacing.kt │ │ │ │ │ │ │ ├── LineRenderInfo.kt │ │ │ │ │ │ │ ├── TextOffset.kt │ │ │ │ │ │ │ ├── TextRenderInfo.kt │ │ │ │ │ │ │ └── TextRenderProperties.kt │ │ │ │ │ │ └── properties │ │ │ │ │ │ │ ├── FontProperties.kt │ │ │ │ │ │ │ └── FormattingProperties.kt │ │ │ │ │ └── types │ │ │ │ │ │ ├── FontType.kt │ │ │ │ │ │ ├── PostInitFontType.kt │ │ │ │ │ │ ├── ReferenceFontType.kt │ │ │ │ │ │ ├── bitmap │ │ │ │ │ │ ├── BitmapCodeRenderer.kt │ │ │ │ │ │ └── BitmapFontType.kt │ │ │ │ │ │ ├── empty │ │ │ │ │ │ ├── EmptyCodeRenderer.kt │ │ │ │ │ │ └── EmptyFontType.kt │ │ │ │ │ │ ├── factory │ │ │ │ │ │ ├── FontTypeFactory.kt │ │ │ │ │ │ └── FontTypes.kt │ │ │ │ │ │ ├── font │ │ │ │ │ │ ├── EmptyFont.kt │ │ │ │ │ │ └── Font.kt │ │ │ │ │ │ └── unicode │ │ │ │ │ │ ├── UnicodeCodeRenderer.kt │ │ │ │ │ │ ├── legacy │ │ │ │ │ │ └── LegacyUnicodeFontType.kt │ │ │ │ │ │ └── unihex │ │ │ │ │ │ ├── SizeOverride.kt │ │ │ │ │ │ ├── UnifontRasterizer.kt │ │ │ │ │ │ ├── UnifontTexture.kt │ │ │ │ │ │ └── UnihexFontType.kt │ │ │ │ │ ├── framebuffer │ │ │ │ │ ├── FramebufferManager.kt │ │ │ │ │ ├── FramebufferMesh.kt │ │ │ │ │ ├── FramebufferShader.kt │ │ │ │ │ ├── IntegratedFramebuffer.kt │ │ │ │ │ ├── gui │ │ │ │ │ │ └── GUIFramebuffer.kt │ │ │ │ │ └── world │ │ │ │ │ │ ├── WorldFramebuffer.kt │ │ │ │ │ │ ├── fun │ │ │ │ │ │ ├── DefaultFunEffects.kt │ │ │ │ │ │ ├── FunEffect.kt │ │ │ │ │ │ ├── FunEffectFactory.kt │ │ │ │ │ │ ├── FunEffectManager.kt │ │ │ │ │ │ └── effects │ │ │ │ │ │ │ ├── BlackWhite.kt │ │ │ │ │ │ │ ├── Flip.kt │ │ │ │ │ │ │ ├── Gray.kt │ │ │ │ │ │ │ ├── Invert.kt │ │ │ │ │ │ │ └── tint │ │ │ │ │ │ │ ├── Tint.kt │ │ │ │ │ │ │ └── TintShader.kt │ │ │ │ │ │ └── overlay │ │ │ │ │ │ ├── Overlay.kt │ │ │ │ │ │ ├── OverlayFactory.kt │ │ │ │ │ │ ├── OverlayManager.kt │ │ │ │ │ │ └── overlays │ │ │ │ │ │ ├── DefaultOverlays.kt │ │ │ │ │ │ ├── FireOverlay.kt │ │ │ │ │ │ ├── simple │ │ │ │ │ │ ├── FirstPersonOverlay.kt │ │ │ │ │ │ ├── PowderSnowOverlay.kt │ │ │ │ │ │ ├── PumpkinOverlay.kt │ │ │ │ │ │ ├── SimpleOverlay.kt │ │ │ │ │ │ ├── WallOverlay.kt │ │ │ │ │ │ ├── WaterOverlay.kt │ │ │ │ │ │ └── WorldBorderOverlay.kt │ │ │ │ │ │ └── weather │ │ │ │ │ │ ├── WeatherOverlay.kt │ │ │ │ │ │ ├── WeatherOverlayMesh.kt │ │ │ │ │ │ └── WeatherOverlayShader.kt │ │ │ │ │ ├── gui │ │ │ │ │ ├── GUIElement.kt │ │ │ │ │ ├── GUIElementDrawer.kt │ │ │ │ │ ├── GUIRenderer.kt │ │ │ │ │ ├── GUIShader.kt │ │ │ │ │ ├── atlas │ │ │ │ │ │ ├── Atlas.kt │ │ │ │ │ │ ├── AtlasArea.kt │ │ │ │ │ │ ├── AtlasElement.kt │ │ │ │ │ │ ├── AtlasLoader.kt │ │ │ │ │ │ ├── AtlasManager.kt │ │ │ │ │ │ ├── RawAtlasElement.kt │ │ │ │ │ │ └── textures │ │ │ │ │ │ │ ├── AtlasTexture.kt │ │ │ │ │ │ │ ├── AtlasTextureManager.kt │ │ │ │ │ │ │ └── CodeTexturePart.kt │ │ │ │ │ ├── elements │ │ │ │ │ │ ├── Element.kt │ │ │ │ │ │ ├── HorizontalAlignments.kt │ │ │ │ │ │ ├── InfiniteSizeElement.kt │ │ │ │ │ │ ├── LayoutedElement.kt │ │ │ │ │ │ ├── Pollable.kt │ │ │ │ │ │ ├── VerticalAlignments.kt │ │ │ │ │ │ ├── input │ │ │ │ │ │ │ ├── button │ │ │ │ │ │ │ │ ├── AbstractButtonElement.kt │ │ │ │ │ │ │ │ ├── ButtonElement.kt │ │ │ │ │ │ │ │ └── NeutralizedButtonElement.kt │ │ │ │ │ │ │ └── checkbox │ │ │ │ │ │ │ │ ├── AbstractCheckboxElement.kt │ │ │ │ │ │ │ │ └── SwitchElement.kt │ │ │ │ │ │ ├── items │ │ │ │ │ │ │ ├── ContainerItemsElement.kt │ │ │ │ │ │ │ ├── ItemElement.kt │ │ │ │ │ │ │ └── RawItemElement.kt │ │ │ │ │ │ ├── layout │ │ │ │ │ │ │ ├── ChildAlignable.kt │ │ │ │ │ │ │ ├── RowLayout.kt │ │ │ │ │ │ │ ├── ZLayout.kt │ │ │ │ │ │ │ └── grid │ │ │ │ │ │ │ │ ├── GridCell.kt │ │ │ │ │ │ │ │ ├── GridColumnConstraint.kt │ │ │ │ │ │ │ │ ├── GridGrow.kt │ │ │ │ │ │ │ │ ├── GridLayout.kt │ │ │ │ │ │ │ │ └── GridRowConstraint.kt │ │ │ │ │ │ ├── primitive │ │ │ │ │ │ │ ├── AtlasImageElement.kt │ │ │ │ │ │ │ ├── ColorElement.kt │ │ │ │ │ │ │ ├── DynamicImageElement.kt │ │ │ │ │ │ │ └── ImageElement.kt │ │ │ │ │ │ ├── spacer │ │ │ │ │ │ │ ├── LineSpacerElement.kt │ │ │ │ │ │ │ └── SpacerElement.kt │ │ │ │ │ │ ├── text │ │ │ │ │ │ │ ├── AutoTextElement.kt │ │ │ │ │ │ │ ├── Labeled.kt │ │ │ │ │ │ │ ├── TextElement.kt │ │ │ │ │ │ │ ├── TextFlowElement.kt │ │ │ │ │ │ │ ├── background │ │ │ │ │ │ │ │ └── TextBackground.kt │ │ │ │ │ │ │ ├── fade │ │ │ │ │ │ │ │ ├── FadePhase.kt │ │ │ │ │ │ │ │ ├── FadingTextElement.kt │ │ │ │ │ │ │ │ └── FadingTimes.kt │ │ │ │ │ │ │ └── mark │ │ │ │ │ │ │ │ ├── MarkTextElement.kt │ │ │ │ │ │ │ │ └── TextCursorStyles.kt │ │ │ │ │ │ └── util │ │ │ │ │ │ │ └── ProgressElement.kt │ │ │ │ │ ├── gui │ │ │ │ │ │ ├── AbstractLayout.kt │ │ │ │ │ │ ├── ElementStates.kt │ │ │ │ │ │ ├── GUIBuilder.kt │ │ │ │ │ │ ├── GUIManager.kt │ │ │ │ │ │ ├── GUIMeshElement.kt │ │ │ │ │ │ ├── LayoutedGUIElement.kt │ │ │ │ │ │ ├── dragged │ │ │ │ │ │ │ ├── Dragged.kt │ │ │ │ │ │ │ ├── DraggedGUIElement.kt │ │ │ │ │ │ │ ├── DraggedManager.kt │ │ │ │ │ │ │ └── elements │ │ │ │ │ │ │ │ └── item │ │ │ │ │ │ │ │ └── FloatingItem.kt │ │ │ │ │ │ ├── elements │ │ │ │ │ │ │ └── input │ │ │ │ │ │ │ │ ├── TextInputElement.kt │ │ │ │ │ │ │ │ └── node │ │ │ │ │ │ │ │ ├── NodeErrorElement.kt │ │ │ │ │ │ │ │ ├── NodeSuggestionsElement.kt │ │ │ │ │ │ │ │ └── NodeTextInputElement.kt │ │ │ │ │ │ ├── popper │ │ │ │ │ │ │ ├── MouseTrackedPopper.kt │ │ │ │ │ │ │ ├── Popper.kt │ │ │ │ │ │ │ ├── PopperGUIElement.kt │ │ │ │ │ │ │ ├── PopperManager.kt │ │ │ │ │ │ │ ├── item │ │ │ │ │ │ │ │ └── ItemInfoPopper.kt │ │ │ │ │ │ │ └── text │ │ │ │ │ │ │ │ └── TextPopper.kt │ │ │ │ │ │ └── screen │ │ │ │ │ │ │ ├── CreditsScreen.kt │ │ │ │ │ │ │ ├── Screen.kt │ │ │ │ │ │ │ ├── SignEditorScreen.kt │ │ │ │ │ │ │ ├── container │ │ │ │ │ │ │ ├── BackgroundedContainerScreen.kt │ │ │ │ │ │ │ ├── ContainerGUIFactories.kt │ │ │ │ │ │ │ ├── ContainerGUIFactory.kt │ │ │ │ │ │ │ ├── ContainerGUIManager.kt │ │ │ │ │ │ │ ├── ContainerScreen.kt │ │ │ │ │ │ │ ├── CraftingContainerScreen.kt │ │ │ │ │ │ │ ├── LabeledContainerScreen.kt │ │ │ │ │ │ │ ├── enchanting │ │ │ │ │ │ │ │ ├── EnchantingContainerScreen.kt │ │ │ │ │ │ │ │ └── EnchantmentButtonElement.kt │ │ │ │ │ │ │ ├── generic │ │ │ │ │ │ │ │ └── GenericContainerScreen.kt │ │ │ │ │ │ │ ├── inventory │ │ │ │ │ │ │ │ ├── InventoryScreen.kt │ │ │ │ │ │ │ │ └── LocalInventoryScreen.kt │ │ │ │ │ │ │ ├── processing │ │ │ │ │ │ │ │ ├── ProcessingContainerScreen.kt │ │ │ │ │ │ │ │ └── smelting │ │ │ │ │ │ │ │ │ ├── BlastFurnaceContainerScreen.kt │ │ │ │ │ │ │ │ │ ├── FurnaceContainerScreen.kt │ │ │ │ │ │ │ │ │ ├── SmeltingContainerScreen.kt │ │ │ │ │ │ │ │ │ └── SmokerContainerScreen.kt │ │ │ │ │ │ │ └── text │ │ │ │ │ │ │ │ └── ContainerText.kt │ │ │ │ │ │ │ └── menu │ │ │ │ │ │ │ ├── Menu.kt │ │ │ │ │ │ │ ├── confirmation │ │ │ │ │ │ │ ├── AbstractConfirmationMenu.kt │ │ │ │ │ │ │ ├── CopyToClipboardDialog.kt │ │ │ │ │ │ │ ├── DeleteScreenshotDialog.kt │ │ │ │ │ │ │ ├── OpenFileConfirmationDialog.kt │ │ │ │ │ │ │ ├── SendMessageDialog.kt │ │ │ │ │ │ │ └── URLConfirmationDialog.kt │ │ │ │ │ │ │ ├── debug │ │ │ │ │ │ │ └── DebugMenu.kt │ │ │ │ │ │ │ └── pause │ │ │ │ │ │ │ ├── PauseMenu.kt │ │ │ │ │ │ │ └── RespawnMenu.kt │ │ │ │ │ ├── hud │ │ │ │ │ │ ├── HUDElement.kt │ │ │ │ │ │ ├── HUDManager.kt │ │ │ │ │ │ └── elements │ │ │ │ │ │ │ ├── CustomHUDElement.kt │ │ │ │ │ │ │ ├── HUDBuilder.kt │ │ │ │ │ │ │ ├── bossbar │ │ │ │ │ │ │ ├── BossbarAtlas.kt │ │ │ │ │ │ │ ├── BossbarElement.kt │ │ │ │ │ │ │ ├── BossbarLayout.kt │ │ │ │ │ │ │ └── BossbarProgressElement.kt │ │ │ │ │ │ │ ├── chat │ │ │ │ │ │ │ ├── AbstractChatElement.kt │ │ │ │ │ │ │ ├── ChatElement.kt │ │ │ │ │ │ │ └── InternalChatElement.kt │ │ │ │ │ │ │ ├── hotbar │ │ │ │ │ │ │ ├── AbstractHotbarHealthElement.kt │ │ │ │ │ │ │ ├── HotbarAirElement.kt │ │ │ │ │ │ │ ├── HotbarBaseElement.kt │ │ │ │ │ │ │ ├── HotbarCoreElement.kt │ │ │ │ │ │ │ ├── HotbarElement.kt │ │ │ │ │ │ │ ├── HotbarExperienceBarElement.kt │ │ │ │ │ │ │ ├── HotbarHungerElement.kt │ │ │ │ │ │ │ ├── HotbarOffhandElement.kt │ │ │ │ │ │ │ ├── HotbarProtectionElement.kt │ │ │ │ │ │ │ └── health │ │ │ │ │ │ │ │ ├── HeartAtlas.kt │ │ │ │ │ │ │ │ ├── HotbarHealthElement.kt │ │ │ │ │ │ │ │ ├── HotbarVehicleHealthElement.kt │ │ │ │ │ │ │ │ └── VehicleHeartAtlas.kt │ │ │ │ │ │ │ ├── other │ │ │ │ │ │ │ ├── CrosshairHUDElement.kt │ │ │ │ │ │ │ ├── PerformanceHUDElement.kt │ │ │ │ │ │ │ └── debug │ │ │ │ │ │ │ │ ├── AllocationRate.kt │ │ │ │ │ │ │ │ └── DebugHUDElement.kt │ │ │ │ │ │ │ ├── scoreboard │ │ │ │ │ │ │ ├── ScoreboardScoreElement.kt │ │ │ │ │ │ │ └── ScoreboardSideElement.kt │ │ │ │ │ │ │ ├── tab │ │ │ │ │ │ │ ├── TabListAtlas.kt │ │ │ │ │ │ │ ├── TabListElement.kt │ │ │ │ │ │ │ └── TabListEntryElement.kt │ │ │ │ │ │ │ ├── title │ │ │ │ │ │ │ └── TitleElement.kt │ │ │ │ │ │ │ └── wawla │ │ │ │ │ │ │ ├── WawlaElement.kt │ │ │ │ │ │ │ ├── WawlaHUDElement.kt │ │ │ │ │ │ │ ├── block │ │ │ │ │ │ │ ├── BlockWawlaElement.kt │ │ │ │ │ │ │ └── WawlaBreakProgressElement.kt │ │ │ │ │ │ │ └── entity │ │ │ │ │ │ │ └── EntityWawlaElement.kt │ │ │ │ │ ├── input │ │ │ │ │ │ ├── DragTarget.kt │ │ │ │ │ │ ├── DraggableHandler.kt │ │ │ │ │ │ ├── InputElement.kt │ │ │ │ │ │ ├── ModifierKeys.kt │ │ │ │ │ │ ├── MouseInputElement.kt │ │ │ │ │ │ └── mouse │ │ │ │ │ │ │ ├── MouseActions.kt │ │ │ │ │ │ │ └── MouseButtons.kt │ │ │ │ │ └── mesh │ │ │ │ │ │ ├── GUIMesh.kt │ │ │ │ │ │ ├── GUIMeshCache.kt │ │ │ │ │ │ ├── GUIVertexConsumer.kt │ │ │ │ │ │ └── GUIVertexOptions.kt │ │ │ │ │ ├── input │ │ │ │ │ ├── CameraInput.kt │ │ │ │ │ ├── InputHandler.kt │ │ │ │ │ ├── count │ │ │ │ │ │ ├── ClickCounter.kt │ │ │ │ │ │ ├── KeyClickCounter.kt │ │ │ │ │ │ ├── MouseClickCounter.kt │ │ │ │ │ │ └── SingleClickCounter.kt │ │ │ │ │ ├── interaction │ │ │ │ │ │ └── InteractionManagerKeys.kt │ │ │ │ │ └── key │ │ │ │ │ │ ├── DebugKeyBindings.kt │ │ │ │ │ │ ├── DefaultKeyBindings.kt │ │ │ │ │ │ └── manager │ │ │ │ │ │ ├── InputHandlerManager.kt │ │ │ │ │ │ ├── InputManager.kt │ │ │ │ │ │ └── binding │ │ │ │ │ │ ├── BindingsManager.kt │ │ │ │ │ │ ├── KeyBindingCallback.kt │ │ │ │ │ │ ├── KeyBindingFilterState.kt │ │ │ │ │ │ ├── KeyBindingState.kt │ │ │ │ │ │ └── actions │ │ │ │ │ │ └── KeyActionFilter.kt │ │ │ │ │ ├── light │ │ │ │ │ ├── Lightmap.kt │ │ │ │ │ ├── LightmapBuffer.kt │ │ │ │ │ ├── RenderLight.kt │ │ │ │ │ ├── ao │ │ │ │ │ │ ├── AmbientOcclusion.kt │ │ │ │ │ │ └── AmbientOcclusionUtil.kt │ │ │ │ │ ├── debug │ │ │ │ │ │ └── LightmapDebugWindow.kt │ │ │ │ │ └── updater │ │ │ │ │ │ ├── DebugLightUpdater.kt │ │ │ │ │ │ ├── FullbrightLightUpdater.kt │ │ │ │ │ │ ├── LightmapUpdater.kt │ │ │ │ │ │ └── normal │ │ │ │ │ │ └── NormalLightmapUpdater.kt │ │ │ │ │ ├── models │ │ │ │ │ ├── block │ │ │ │ │ │ ├── BlockModel.kt │ │ │ │ │ │ ├── BlockModelPrototype.kt │ │ │ │ │ │ ├── element │ │ │ │ │ │ │ ├── ElementRotation.kt │ │ │ │ │ │ │ ├── FaceVertexData.kt │ │ │ │ │ │ │ ├── ModelElement.kt │ │ │ │ │ │ │ └── face │ │ │ │ │ │ │ │ ├── FaceUV.kt │ │ │ │ │ │ │ │ └── ModelFace.kt │ │ │ │ │ │ └── state │ │ │ │ │ │ │ ├── DirectBlockModel.kt │ │ │ │ │ │ │ ├── apply │ │ │ │ │ │ │ ├── BlockStateApply.kt │ │ │ │ │ │ │ ├── SingleBlockStateApply.kt │ │ │ │ │ │ │ └── WeightedBlockStateApply.kt │ │ │ │ │ │ │ ├── baked │ │ │ │ │ │ │ ├── BakedFace.kt │ │ │ │ │ │ │ ├── BakedModel.kt │ │ │ │ │ │ │ ├── BakingUtil.kt │ │ │ │ │ │ │ ├── Shades.kt │ │ │ │ │ │ │ └── cull │ │ │ │ │ │ │ │ ├── CustomBlockCulling.kt │ │ │ │ │ │ │ │ ├── FaceCulling.kt │ │ │ │ │ │ │ │ └── side │ │ │ │ │ │ │ │ ├── FaceProperties.kt │ │ │ │ │ │ │ │ └── SideProperties.kt │ │ │ │ │ │ │ ├── builder │ │ │ │ │ │ │ ├── BuilderApply.kt │ │ │ │ │ │ │ ├── BuilderBlockModel.kt │ │ │ │ │ │ │ ├── BuiltModel.kt │ │ │ │ │ │ │ └── condition │ │ │ │ │ │ │ │ ├── AndCondition.kt │ │ │ │ │ │ │ │ ├── BuilderCondition.kt │ │ │ │ │ │ │ │ ├── OrCondition.kt │ │ │ │ │ │ │ │ ├── PrimitiveCondition.kt │ │ │ │ │ │ │ │ └── PropertyCondition.kt │ │ │ │ │ │ │ ├── render │ │ │ │ │ │ │ ├── BlockGUIConsumer.kt │ │ │ │ │ │ │ ├── BlockRender.kt │ │ │ │ │ │ │ ├── PickedBlockRender.kt │ │ │ │ │ │ │ ├── WeightedBlockRender.kt │ │ │ │ │ │ │ ├── WorldRenderProps.kt │ │ │ │ │ │ │ └── property │ │ │ │ │ │ │ │ ├── FullBlockPropertyRenderer.kt │ │ │ │ │ │ │ │ └── PropertyOnlyBlockRender.kt │ │ │ │ │ │ │ └── variant │ │ │ │ │ │ │ ├── BlockVariant.kt │ │ │ │ │ │ │ ├── PropertyVariantBlockModel.kt │ │ │ │ │ │ │ ├── SingleVariantBlockModel.kt │ │ │ │ │ │ │ └── VariantBlockModel.kt │ │ │ │ │ ├── fluid │ │ │ │ │ │ ├── FluidModel.kt │ │ │ │ │ │ └── fluids │ │ │ │ │ │ │ ├── LavaFluidModel.kt │ │ │ │ │ │ │ └── WaterFluidModel.kt │ │ │ │ │ ├── item │ │ │ │ │ │ ├── FlatItemRender.kt │ │ │ │ │ │ ├── ItemModel.kt │ │ │ │ │ │ ├── ItemModelPrototype.kt │ │ │ │ │ │ ├── ItemRender.kt │ │ │ │ │ │ └── ItemRenderUtil.kt │ │ │ │ │ ├── loader │ │ │ │ │ │ ├── BlockLoader.kt │ │ │ │ │ │ ├── FluidModelLoader.kt │ │ │ │ │ │ ├── ItemLoader.kt │ │ │ │ │ │ ├── ModelFixer.kt │ │ │ │ │ │ ├── ModelLoader.kt │ │ │ │ │ │ ├── SkeletalLoader.kt │ │ │ │ │ │ └── legacy │ │ │ │ │ │ │ ├── CustomModel.kt │ │ │ │ │ │ │ └── ModelChooser.kt │ │ │ │ │ ├── raw │ │ │ │ │ │ ├── display │ │ │ │ │ │ │ ├── DisplayPositions.kt │ │ │ │ │ │ │ └── ModelDisplay.kt │ │ │ │ │ │ └── light │ │ │ │ │ │ │ └── GUILights.kt │ │ │ │ │ └── util │ │ │ │ │ │ └── CuboidUtil.kt │ │ │ │ │ ├── particle │ │ │ │ │ ├── DefaultParticleBehavior.kt │ │ │ │ │ ├── DefaultParticleFactory.kt │ │ │ │ │ ├── ParticleFactory.kt │ │ │ │ │ ├── ParticleList.kt │ │ │ │ │ ├── ParticleMesh.kt │ │ │ │ │ ├── ParticleQueue.kt │ │ │ │ │ ├── ParticleRenderer.kt │ │ │ │ │ ├── ParticleShader.kt │ │ │ │ │ ├── ParticleTicker.kt │ │ │ │ │ └── types │ │ │ │ │ │ ├── Particle.kt │ │ │ │ │ │ ├── norender │ │ │ │ │ │ ├── ExplosionEmitterParticle.kt │ │ │ │ │ │ ├── NoRenderParticle.kt │ │ │ │ │ │ └── emitter │ │ │ │ │ │ │ └── EntityEmitterParticle.kt │ │ │ │ │ │ └── render │ │ │ │ │ │ ├── RenderParticle.kt │ │ │ │ │ │ └── texture │ │ │ │ │ │ ├── TextureParticle.kt │ │ │ │ │ │ ├── advanced │ │ │ │ │ │ ├── AdvancedTextureParticle.kt │ │ │ │ │ │ └── block │ │ │ │ │ │ │ └── BlockDustParticle.kt │ │ │ │ │ │ └── simple │ │ │ │ │ │ ├── AscendingParticle.kt │ │ │ │ │ │ ├── NoteParticle.kt │ │ │ │ │ │ ├── PortalParticle.kt │ │ │ │ │ │ ├── SimpleTextureParticle.kt │ │ │ │ │ │ ├── animated │ │ │ │ │ │ ├── AnimatedParticle.kt │ │ │ │ │ │ └── EndRodParticle.kt │ │ │ │ │ │ ├── campfire │ │ │ │ │ │ └── CampfireSmokeParticle.kt │ │ │ │ │ │ ├── cloud │ │ │ │ │ │ ├── CloudParticle.kt │ │ │ │ │ │ └── SneezeParticle.kt │ │ │ │ │ │ ├── damage │ │ │ │ │ │ ├── CritParticle.kt │ │ │ │ │ │ ├── DamageIndicatorParticle.kt │ │ │ │ │ │ ├── DamageParticle.kt │ │ │ │ │ │ └── EnchantedHitParticle.kt │ │ │ │ │ │ ├── dust │ │ │ │ │ │ ├── AbstractDustParticle.kt │ │ │ │ │ │ └── DustParticle.kt │ │ │ │ │ │ ├── emotion │ │ │ │ │ │ ├── AngryVillagerParticle.kt │ │ │ │ │ │ ├── EmotionParticle.kt │ │ │ │ │ │ └── HeartParticle.kt │ │ │ │ │ │ ├── enchant │ │ │ │ │ │ ├── EnchantParticle.kt │ │ │ │ │ │ ├── EnchantedGlyphParticle.kt │ │ │ │ │ │ └── NautilusParticle.kt │ │ │ │ │ │ ├── explosion │ │ │ │ │ │ ├── ExplosionParticle.kt │ │ │ │ │ │ └── PoofParticle.kt │ │ │ │ │ │ ├── fire │ │ │ │ │ │ └── SmokeParticle.kt │ │ │ │ │ │ ├── lava │ │ │ │ │ │ └── LavaParticle.kt │ │ │ │ │ │ ├── slowing │ │ │ │ │ │ ├── FlameParticle.kt │ │ │ │ │ │ ├── SlowingParticle.kt │ │ │ │ │ │ ├── SmallFlameParticle.kt │ │ │ │ │ │ └── SoulFireFlameParticle.kt │ │ │ │ │ │ ├── spell │ │ │ │ │ │ ├── AmbientEntityEffectParticle.kt │ │ │ │ │ │ ├── EntityEffectParticle.kt │ │ │ │ │ │ ├── SpellParticle.kt │ │ │ │ │ │ └── WitchParticle.kt │ │ │ │ │ │ ├── suspend │ │ │ │ │ │ ├── ComposterParticle.kt │ │ │ │ │ │ ├── DolphinParticle.kt │ │ │ │ │ │ ├── HappyVillagerParticle.kt │ │ │ │ │ │ ├── MyceliumParticle.kt │ │ │ │ │ │ └── SuspendParticle.kt │ │ │ │ │ │ └── water │ │ │ │ │ │ ├── BubbleParticle.kt │ │ │ │ │ │ ├── CrimsonSporeParticle.kt │ │ │ │ │ │ ├── UnderwaterParticle.kt │ │ │ │ │ │ ├── WarpedSporeParticle.kt │ │ │ │ │ │ └── WaterSuspendParticle.kt │ │ │ │ │ ├── renderer │ │ │ │ │ ├── MeshSwapper.kt │ │ │ │ │ ├── drawable │ │ │ │ │ │ ├── AsyncDrawable.kt │ │ │ │ │ │ ├── BaseDrawable.kt │ │ │ │ │ │ ├── DeltaAsyncDrawable.kt │ │ │ │ │ │ ├── DeltaDrawable.kt │ │ │ │ │ │ └── Drawable.kt │ │ │ │ │ └── renderer │ │ │ │ │ │ ├── AsyncRenderer.kt │ │ │ │ │ │ ├── DefaultRenderer.kt │ │ │ │ │ │ ├── Renderer.kt │ │ │ │ │ │ ├── RendererBuilder.kt │ │ │ │ │ │ ├── RendererManager.kt │ │ │ │ │ │ ├── pipeline │ │ │ │ │ │ ├── RendererPipeline.kt │ │ │ │ │ │ └── world │ │ │ │ │ │ │ ├── PipelineElement.kt │ │ │ │ │ │ │ └── WorldRendererPipeline.kt │ │ │ │ │ │ └── world │ │ │ │ │ │ ├── LayerSettings.kt │ │ │ │ │ │ └── WorldRenderer.kt │ │ │ │ │ ├── shader │ │ │ │ │ ├── AbstractShader.kt │ │ │ │ │ ├── Shader.kt │ │ │ │ │ ├── ShaderManager.kt │ │ │ │ │ ├── ShaderSetter.kt │ │ │ │ │ ├── generic │ │ │ │ │ │ ├── ColorShader.kt │ │ │ │ │ │ ├── Generic2dTextureShader.kt │ │ │ │ │ │ └── GenericTextureShader.kt │ │ │ │ │ ├── types │ │ │ │ │ │ ├── AnimatedShader.kt │ │ │ │ │ │ ├── CameraPositionShader.kt │ │ │ │ │ │ ├── FogShader.kt │ │ │ │ │ │ ├── LightShader.kt │ │ │ │ │ │ ├── TextureShader.kt │ │ │ │ │ │ ├── TintedShader.kt │ │ │ │ │ │ └── ViewProjectionShader.kt │ │ │ │ │ └── uniform │ │ │ │ │ │ └── ShaderUniform.kt │ │ │ │ │ ├── skeletal │ │ │ │ │ ├── SkeletalManager.kt │ │ │ │ │ ├── baked │ │ │ │ │ │ ├── BakedSkeletalModel.kt │ │ │ │ │ │ ├── BakedSkeletalTransform.kt │ │ │ │ │ │ ├── SkeletalBakeContext.kt │ │ │ │ │ │ ├── SkeletalModelStates.kt │ │ │ │ │ │ └── animation │ │ │ │ │ │ │ ├── AbstractAnimation.kt │ │ │ │ │ │ │ └── keyframe │ │ │ │ │ │ │ ├── KeyframeAnimation.kt │ │ │ │ │ │ │ ├── KeyframeAnimator.kt │ │ │ │ │ │ │ └── instance │ │ │ │ │ │ │ ├── KeyframeInstance.kt │ │ │ │ │ │ │ └── Vec3KeyframeInstance.kt │ │ │ │ │ ├── instance │ │ │ │ │ │ ├── AnimationManager.kt │ │ │ │ │ │ ├── SkeletalInstance.kt │ │ │ │ │ │ └── TransformInstance.kt │ │ │ │ │ ├── mesh │ │ │ │ │ │ ├── AbstractSkeletalMesh.kt │ │ │ │ │ │ ├── SkeletalMesh.kt │ │ │ │ │ │ ├── SkeletalMeshBuilder.kt │ │ │ │ │ │ └── SkeletalMeshUtil.kt │ │ │ │ │ ├── model │ │ │ │ │ │ ├── SkeletalModel.kt │ │ │ │ │ │ ├── animations │ │ │ │ │ │ │ ├── SkeletalAnimation.kt │ │ │ │ │ │ │ └── animators │ │ │ │ │ │ │ │ ├── AnimationLoops.kt │ │ │ │ │ │ │ │ ├── SkeletalAnimator.kt │ │ │ │ │ │ │ │ └── keyframes │ │ │ │ │ │ │ │ ├── KeyframeInterpolation.kt │ │ │ │ │ │ │ │ ├── SkeletalKeyframe.kt │ │ │ │ │ │ │ │ └── types │ │ │ │ │ │ │ │ ├── RotateKeyframe.kt │ │ │ │ │ │ │ │ ├── ScaleKeyframe.kt │ │ │ │ │ │ │ │ └── TranslateKeyframe.kt │ │ │ │ │ │ ├── elements │ │ │ │ │ │ │ ├── SkeletalElement.kt │ │ │ │ │ │ │ ├── SkeletalFace.kt │ │ │ │ │ │ │ └── SkeletalRotation.kt │ │ │ │ │ │ ├── textures │ │ │ │ │ │ │ ├── SkeletalTexture.kt │ │ │ │ │ │ │ └── SkeletalTextureInstance.kt │ │ │ │ │ │ └── transforms │ │ │ │ │ │ │ └── SkeletalTransform.kt │ │ │ │ │ └── shader │ │ │ │ │ │ ├── BaseSkeletalShader.kt │ │ │ │ │ │ ├── LightmapSkeletalShader.kt │ │ │ │ │ │ └── SkeletalShader.kt │ │ │ │ │ ├── sky │ │ │ │ │ ├── SkyChildRenderer.kt │ │ │ │ │ ├── SkyRenderer.kt │ │ │ │ │ ├── box │ │ │ │ │ │ ├── SkyboxColor.kt │ │ │ │ │ │ ├── SkyboxColorShader.kt │ │ │ │ │ │ ├── SkyboxMesh.kt │ │ │ │ │ │ ├── SkyboxRenderer.kt │ │ │ │ │ │ ├── SkyboxTextureMesh.kt │ │ │ │ │ │ └── SkyboxTextureShader.kt │ │ │ │ │ ├── clouds │ │ │ │ │ │ ├── CloudArray.kt │ │ │ │ │ │ ├── CloudColor.kt │ │ │ │ │ │ ├── CloudLayer.kt │ │ │ │ │ │ ├── CloudMatrix.kt │ │ │ │ │ │ ├── CloudMesh.kt │ │ │ │ │ │ ├── CloudRenderer.kt │ │ │ │ │ │ └── CloudShader.kt │ │ │ │ │ └── planet │ │ │ │ │ │ ├── MoonRenderer.kt │ │ │ │ │ │ ├── PlanetMesh.kt │ │ │ │ │ │ ├── PlanetRenderer.kt │ │ │ │ │ │ ├── PlanetShader.kt │ │ │ │ │ │ ├── SunRenderer.kt │ │ │ │ │ │ └── scatter │ │ │ │ │ │ ├── SunScatterMesh.kt │ │ │ │ │ │ ├── SunScatterRenderer.kt │ │ │ │ │ │ └── SunScatterShader.kt │ │ │ │ │ ├── sound │ │ │ │ │ ├── AudioPlayer.kt │ │ │ │ │ ├── DefaultAudioBehavior.kt │ │ │ │ │ ├── SoundConstants.kt │ │ │ │ │ ├── SoundListener.kt │ │ │ │ │ ├── SoundManager.kt │ │ │ │ │ ├── SoundSource.kt │ │ │ │ │ ├── SoundUtil.kt │ │ │ │ │ └── sounds │ │ │ │ │ │ ├── OpenALBuffer.kt │ │ │ │ │ │ ├── Sound.kt │ │ │ │ │ │ ├── SoundData.kt │ │ │ │ │ │ └── SoundType.kt │ │ │ │ │ ├── stats │ │ │ │ │ ├── AbstractRenderStats.kt │ │ │ │ │ ├── ExperimentalRenderStats.kt │ │ │ │ │ └── RenderStats.kt │ │ │ │ │ ├── system │ │ │ │ │ ├── base │ │ │ │ │ │ ├── BlendingFunctions.kt │ │ │ │ │ │ ├── DepthFunctions.kt │ │ │ │ │ │ ├── FaceTypes.kt │ │ │ │ │ │ ├── GPUVendor.kt │ │ │ │ │ │ ├── IntegratedBufferTypes.kt │ │ │ │ │ │ ├── MeshUtil.kt │ │ │ │ │ │ ├── PolygonModes.kt │ │ │ │ │ │ ├── RenderOrder.kt │ │ │ │ │ │ ├── RenderSystem.kt │ │ │ │ │ │ ├── RenderSystemError.kt │ │ │ │ │ │ ├── RenderSystemFactory.kt │ │ │ │ │ │ ├── RenderingCapabilities.kt │ │ │ │ │ │ ├── buffer │ │ │ │ │ │ │ ├── IntBuffer.kt │ │ │ │ │ │ │ ├── RenderFloatBuffer.kt │ │ │ │ │ │ │ ├── RenderableBuffer.kt │ │ │ │ │ │ │ ├── RenderableBufferDrawTypes.kt │ │ │ │ │ │ │ ├── RenderableBufferStates.kt │ │ │ │ │ │ │ ├── RenderableBufferTypes.kt │ │ │ │ │ │ │ ├── frame │ │ │ │ │ │ │ │ ├── Framebuffer.kt │ │ │ │ │ │ │ │ ├── FramebufferState.kt │ │ │ │ │ │ │ │ └── texture │ │ │ │ │ │ │ │ │ └── FramebufferTexture.kt │ │ │ │ │ │ │ ├── render │ │ │ │ │ │ │ │ ├── Renderbuffer.kt │ │ │ │ │ │ │ │ ├── RenderbufferModes.kt │ │ │ │ │ │ │ │ └── RenderbufferStates.kt │ │ │ │ │ │ │ ├── uniform │ │ │ │ │ │ │ │ ├── FloatUniformBuffer.kt │ │ │ │ │ │ │ │ ├── IntUniformBuffer.kt │ │ │ │ │ │ │ │ └── UniformBuffer.kt │ │ │ │ │ │ │ └── vertex │ │ │ │ │ │ │ │ ├── FloatVertexBuffer.kt │ │ │ │ │ │ │ │ ├── PrimitiveTypes.kt │ │ │ │ │ │ │ │ └── VertexBuffer.kt │ │ │ │ │ │ ├── driver │ │ │ │ │ │ │ └── DriverHacks.kt │ │ │ │ │ │ ├── layer │ │ │ │ │ │ │ ├── OpaqueLayer.kt │ │ │ │ │ │ │ ├── RenderLayer.kt │ │ │ │ │ │ │ └── TranslucentLayer.kt │ │ │ │ │ │ ├── phases │ │ │ │ │ │ │ ├── PostDrawable.kt │ │ │ │ │ │ │ ├── PreDrawable.kt │ │ │ │ │ │ │ └── SkipAll.kt │ │ │ │ │ │ ├── settings │ │ │ │ │ │ │ ├── DefaultSettings.kt │ │ │ │ │ │ │ └── RenderSettings.kt │ │ │ │ │ │ ├── shader │ │ │ │ │ │ │ ├── NativeShader.kt │ │ │ │ │ │ │ ├── ShaderUniforms.kt │ │ │ │ │ │ │ └── code │ │ │ │ │ │ │ │ └── glsl │ │ │ │ │ │ │ │ ├── GLSLShaderCode.kt │ │ │ │ │ │ │ │ └── GLSLStringReader.kt │ │ │ │ │ │ └── texture │ │ │ │ │ │ │ ├── TextureManager.kt │ │ │ │ │ │ │ ├── TexturePart.kt │ │ │ │ │ │ │ ├── TextureStates.kt │ │ │ │ │ │ │ ├── TextureTransparencies.kt │ │ │ │ │ │ │ ├── array │ │ │ │ │ │ │ ├── StaticTextureArray.kt │ │ │ │ │ │ │ ├── TextureArray.kt │ │ │ │ │ │ │ ├── TextureArrayProperties.kt │ │ │ │ │ │ │ ├── TextureArrayStates.kt │ │ │ │ │ │ │ └── font │ │ │ │ │ │ │ │ ├── FontCompressions.kt │ │ │ │ │ │ │ │ └── FontTextureArray.kt │ │ │ │ │ │ │ ├── data │ │ │ │ │ │ │ ├── MipmapTextureData.kt │ │ │ │ │ │ │ ├── TextureData.kt │ │ │ │ │ │ │ └── buffer │ │ │ │ │ │ │ │ ├── RGB8Buffer.kt │ │ │ │ │ │ │ │ ├── RGBA8Buffer.kt │ │ │ │ │ │ │ │ ├── TextureBuffer.kt │ │ │ │ │ │ │ │ └── TextureBufferFactory.kt │ │ │ │ │ │ │ ├── dynamic │ │ │ │ │ │ │ ├── DynamicTexture.kt │ │ │ │ │ │ │ ├── DynamicTextureArray.kt │ │ │ │ │ │ │ ├── DynamicTextureListener.kt │ │ │ │ │ │ │ └── DynamicTextureState.kt │ │ │ │ │ │ │ ├── shader │ │ │ │ │ │ │ ├── ShaderIdentifiable.kt │ │ │ │ │ │ │ └── ShaderTexture.kt │ │ │ │ │ │ │ ├── skin │ │ │ │ │ │ │ ├── IllegalSkinError.kt │ │ │ │ │ │ │ ├── PlayerSkin.kt │ │ │ │ │ │ │ ├── SkinManager.kt │ │ │ │ │ │ │ └── vanilla │ │ │ │ │ │ │ │ ├── DefaultLegacySkin.kt │ │ │ │ │ │ │ │ ├── DefaultSkin.kt │ │ │ │ │ │ │ │ ├── DefaultSkinProvider.kt │ │ │ │ │ │ │ │ └── DefaultSkins.kt │ │ │ │ │ │ │ ├── sprite │ │ │ │ │ │ │ └── SpriteAnimator.kt │ │ │ │ │ │ │ └── texture │ │ │ │ │ │ │ ├── Texture.kt │ │ │ │ │ │ │ ├── TextureRenderData.kt │ │ │ │ │ │ │ ├── file │ │ │ │ │ │ │ ├── FileTexture.kt │ │ │ │ │ │ │ └── PNGTexture.kt │ │ │ │ │ │ │ └── memory │ │ │ │ │ │ │ └── MemoryTexture.kt │ │ │ │ │ ├── opengl │ │ │ │ │ │ ├── MemoryLeakException.kt │ │ │ │ │ │ ├── OpenGLError.kt │ │ │ │ │ │ ├── OpenGLNativeShader.kt │ │ │ │ │ │ ├── OpenGLRenderSystem.kt │ │ │ │ │ │ ├── buffer │ │ │ │ │ │ │ ├── FloatOpenGLBuffer.kt │ │ │ │ │ │ │ ├── OpenGLRenderableBuffer.kt │ │ │ │ │ │ │ ├── frame │ │ │ │ │ │ │ │ ├── OpenGLFramebuffer.kt │ │ │ │ │ │ │ │ └── texture │ │ │ │ │ │ │ │ │ ├── OpenGLFramebufferColorTexture.kt │ │ │ │ │ │ │ │ │ ├── OpenGLFramebufferDepthTexture.kt │ │ │ │ │ │ │ │ │ └── OpenGLTexture.kt │ │ │ │ │ │ │ ├── render │ │ │ │ │ │ │ │ └── OpenGLRenderbuffer.kt │ │ │ │ │ │ │ ├── uniform │ │ │ │ │ │ │ │ ├── FloatOpenGLUniformBuffer.kt │ │ │ │ │ │ │ │ ├── IntOpenGLUniformBuffer.kt │ │ │ │ │ │ │ │ └── OpenGLUniformBuffer.kt │ │ │ │ │ │ │ └── vertex │ │ │ │ │ │ │ │ ├── FloatOpenGLVertexBuffer.kt │ │ │ │ │ │ │ │ └── OpenGLVAO.kt │ │ │ │ │ │ ├── texture │ │ │ │ │ │ │ ├── OpenGLFontTextureArray.kt │ │ │ │ │ │ │ ├── OpenGLTextureArray.kt │ │ │ │ │ │ │ ├── OpenGLTextureData.kt │ │ │ │ │ │ │ ├── OpenGLTextureManager.kt │ │ │ │ │ │ │ ├── OpenGLTextureUtil.kt │ │ │ │ │ │ │ └── dynamic │ │ │ │ │ │ │ │ ├── OpenGLDynamicTexture.kt │ │ │ │ │ │ │ │ └── OpenGLDynamicTextureArray.kt │ │ │ │ │ │ └── vendor │ │ │ │ │ │ │ ├── AMDOpenGLVendor.kt │ │ │ │ │ │ │ ├── IntelOpenGLVendor.kt │ │ │ │ │ │ │ ├── NvidiaOpenGLVendor.kt │ │ │ │ │ │ │ ├── OpenGLVendor.kt │ │ │ │ │ │ │ └── OtherOpenGLVendor.kt │ │ │ │ │ └── window │ │ │ │ │ │ ├── BaseWindow.kt │ │ │ │ │ │ ├── CursorModes.kt │ │ │ │ │ │ ├── CursorShapes.kt │ │ │ │ │ │ ├── KeyChangeTypes.kt │ │ │ │ │ │ ├── WindowFactory.kt │ │ │ │ │ │ └── glfw │ │ │ │ │ │ ├── GLFWWindow.kt │ │ │ │ │ │ └── GLFWWindowFactory.kt │ │ │ │ │ ├── textures │ │ │ │ │ ├── TextureAnimation.kt │ │ │ │ │ ├── TextureUtil.kt │ │ │ │ │ └── properties │ │ │ │ │ │ ├── AnimationFrame.kt │ │ │ │ │ │ ├── AnimationProperties.kt │ │ │ │ │ │ ├── ImageProperties.kt │ │ │ │ │ │ └── TextureProperties.kt │ │ │ │ │ ├── tint │ │ │ │ │ ├── DefaultTints.kt │ │ │ │ │ ├── MultiTintProvider.kt │ │ │ │ │ ├── TintManager.kt │ │ │ │ │ ├── TintProvider.kt │ │ │ │ │ ├── TintUtil.kt │ │ │ │ │ ├── TintedBlock.kt │ │ │ │ │ └── tints │ │ │ │ │ │ ├── ColorMapTint.kt │ │ │ │ │ │ ├── StaticTintProvider.kt │ │ │ │ │ │ ├── fluid │ │ │ │ │ │ └── WaterTintProvider.kt │ │ │ │ │ │ ├── grass │ │ │ │ │ │ ├── GrassTintCalculator.kt │ │ │ │ │ │ ├── GrassTinted.kt │ │ │ │ │ │ └── TallGrassTintCalculator.kt │ │ │ │ │ │ ├── plants │ │ │ │ │ │ ├── FoliageTintCalculator.kt │ │ │ │ │ │ ├── StemTintCalculator.kt │ │ │ │ │ │ └── SugarCaneTintCalculator.kt │ │ │ │ │ │ └── redstone │ │ │ │ │ │ └── RedstoneWireTintCalculator.kt │ │ │ │ │ └── util │ │ │ │ │ ├── ScreenshotTaker.kt │ │ │ │ │ ├── VecUtil.kt │ │ │ │ │ ├── allocator │ │ │ │ │ ├── LongAllocator.kt │ │ │ │ │ ├── ShortAllocator.kt │ │ │ │ │ └── TemporaryAllocator.kt │ │ │ │ │ ├── mat │ │ │ │ │ └── mat4 │ │ │ │ │ │ └── Mat4Util.kt │ │ │ │ │ ├── mesh │ │ │ │ │ ├── AbstractVertexConsumer.kt │ │ │ │ │ ├── GenericColorMesh.kt │ │ │ │ │ ├── LineMesh.kt │ │ │ │ │ ├── Mesh.kt │ │ │ │ │ ├── MeshAttribute.kt │ │ │ │ │ ├── MeshOrder.kt │ │ │ │ │ ├── MeshStruct.kt │ │ │ │ │ ├── PositionOnlyMeshStruct.kt │ │ │ │ │ ├── SimpleTextureMesh.kt │ │ │ │ │ └── uv │ │ │ │ │ │ ├── PackedUV.kt │ │ │ │ │ │ └── UnpackedUV.kt │ │ │ │ │ └── vec │ │ │ │ │ ├── vec2 │ │ │ │ │ ├── Vec2Util.kt │ │ │ │ │ ├── Vec2dUtil.kt │ │ │ │ │ └── Vec2iUtil.kt │ │ │ │ │ ├── vec3 │ │ │ │ │ ├── Vec3Util.kt │ │ │ │ │ ├── Vec3dUtil.kt │ │ │ │ │ └── Vec3iUtil.kt │ │ │ │ │ └── vec4 │ │ │ │ │ ├── Vec4Util.kt │ │ │ │ │ └── Vec4iUtil.kt │ │ │ │ ├── input │ │ │ │ ├── camera │ │ │ │ │ ├── MovementInputActions.kt │ │ │ │ │ └── PlayerMovementInput.kt │ │ │ │ └── interaction │ │ │ │ │ ├── AttackHandler.kt │ │ │ │ │ ├── DropHandler.kt │ │ │ │ │ ├── HotbarHandler.kt │ │ │ │ │ ├── InteractionManager.kt │ │ │ │ │ ├── InteractionResults.kt │ │ │ │ │ ├── InteractionUtil.kt │ │ │ │ │ ├── ItemPickHandler.kt │ │ │ │ │ ├── KeyHandler.kt │ │ │ │ │ ├── SpectateHandler.kt │ │ │ │ │ ├── breaking │ │ │ │ │ ├── BreakHandler.kt │ │ │ │ │ ├── creative │ │ │ │ │ │ └── CreativeBreaker.kt │ │ │ │ │ ├── executor │ │ │ │ │ │ ├── BreakingExecutor.kt │ │ │ │ │ │ ├── DirectExecutor.kt │ │ │ │ │ │ ├── LegacyExecutor.kt │ │ │ │ │ │ └── SequencedExecutor.kt │ │ │ │ │ └── survival │ │ │ │ │ │ ├── BlockBreakProductivity.kt │ │ │ │ │ │ ├── BlockDigStatus.kt │ │ │ │ │ │ └── SurvivalDigger.kt │ │ │ │ │ └── use │ │ │ │ │ ├── LongUseHandler.kt │ │ │ │ │ ├── ShortUseHandler.kt │ │ │ │ │ └── UseHandler.kt │ │ │ │ ├── local │ │ │ │ ├── LocalChunkManager.kt │ │ │ │ ├── LocalConnection.kt │ │ │ │ ├── generator │ │ │ │ │ ├── ChunkGenerator.kt │ │ │ │ │ ├── DebugGenerator.kt │ │ │ │ │ ├── VoidGenerator.kt │ │ │ │ │ └── flat │ │ │ │ │ │ └── FlatGenerator.kt │ │ │ │ └── storage │ │ │ │ │ ├── DebugStorage.kt │ │ │ │ │ ├── MemoryStorage.kt │ │ │ │ │ └── WorldStorage.kt │ │ │ │ ├── main │ │ │ │ ├── BootTasks.kt │ │ │ │ └── MinosoftBoot.kt │ │ │ │ ├── modding │ │ │ │ ├── EventPriorities.kt │ │ │ │ ├── channels │ │ │ │ │ └── DefaultPluginChannels.kt │ │ │ │ ├── event │ │ │ │ │ ├── events │ │ │ │ │ │ ├── AsyncEvent.kt │ │ │ │ │ │ ├── BlockBreakAnimationEvent.kt │ │ │ │ │ │ ├── CancelableEvent.kt │ │ │ │ │ │ ├── CollectItemAnimationEvent.kt │ │ │ │ │ │ ├── DimensionChangeEvent.kt │ │ │ │ │ │ ├── EntitySpectateEvent.kt │ │ │ │ │ │ ├── Event.kt │ │ │ │ │ │ ├── ExplosionEvent.kt │ │ │ │ │ │ ├── FinishBootEvent.kt │ │ │ │ │ │ ├── GameEventChangeEvent.kt │ │ │ │ │ │ ├── KickEvent.kt │ │ │ │ │ │ ├── OpenSignEditorEvent.kt │ │ │ │ │ │ ├── PlaySoundEvent.kt │ │ │ │ │ │ ├── ResourcePackRequestEvent.kt │ │ │ │ │ │ ├── TabListEntryChangeEvent.kt │ │ │ │ │ │ ├── bossbar │ │ │ │ │ │ │ ├── BossbarAddEvent.kt │ │ │ │ │ │ │ ├── BossbarEvent.kt │ │ │ │ │ │ │ ├── BossbarFlagsSetEvent.kt │ │ │ │ │ │ │ ├── BossbarRemoveEvent.kt │ │ │ │ │ │ │ ├── BossbarStyleSetEvent.kt │ │ │ │ │ │ │ ├── BossbarTitleSetEvent.kt │ │ │ │ │ │ │ └── BossbarValueSetEvent.kt │ │ │ │ │ │ ├── chat │ │ │ │ │ │ │ ├── ChatMessageEvent.kt │ │ │ │ │ │ │ └── ChatMessageSendEvent.kt │ │ │ │ │ │ ├── container │ │ │ │ │ │ │ ├── ContainerCloseEvent.kt │ │ │ │ │ │ │ └── ContainerOpenEvent.kt │ │ │ │ │ │ ├── loading │ │ │ │ │ │ │ └── RegistriesLoadEvent.kt │ │ │ │ │ │ ├── scoreboard │ │ │ │ │ │ │ ├── ObjectivePositionSetEvent.kt │ │ │ │ │ │ │ ├── ScoreTeamChangeEvent.kt │ │ │ │ │ │ │ ├── ScoreboardObjectiveCreateEvent.kt │ │ │ │ │ │ │ ├── ScoreboardObjectiveUpdateEvent.kt │ │ │ │ │ │ │ ├── ScoreboardScorePutEvent.kt │ │ │ │ │ │ │ ├── ScoreboardScoreRemoveEvent.kt │ │ │ │ │ │ │ ├── ScoreboardTeamMemberEvent.kt │ │ │ │ │ │ │ ├── ScoreboardTeamRemoveEvent.kt │ │ │ │ │ │ │ └── team │ │ │ │ │ │ │ │ ├── TeamCreateEvent.kt │ │ │ │ │ │ │ │ ├── TeamMemberAddEvent.kt │ │ │ │ │ │ │ │ ├── TeamMemberRemoveEvent.kt │ │ │ │ │ │ │ │ └── TeamUpdateEvent.kt │ │ │ │ │ │ ├── session │ │ │ │ │ │ │ ├── SessionEvent.kt │ │ │ │ │ │ │ ├── play │ │ │ │ │ │ │ │ ├── PlaySessionCreateEvent.kt │ │ │ │ │ │ │ │ └── PlaySessionEvent.kt │ │ │ │ │ │ │ └── status │ │ │ │ │ │ │ │ ├── StatusSessionCreateEvent.kt │ │ │ │ │ │ │ │ └── StatusSessionEvent.kt │ │ │ │ │ │ └── title │ │ │ │ │ │ │ ├── TitleHideEvent.kt │ │ │ │ │ │ │ ├── TitleResetEvent.kt │ │ │ │ │ │ │ ├── TitleSetEvent.kt │ │ │ │ │ │ │ ├── TitleSubtitleSetEvent.kt │ │ │ │ │ │ │ └── TitleTimesSetEvent.kt │ │ │ │ │ ├── listener │ │ │ │ │ │ ├── CallbackEventListener.kt │ │ │ │ │ │ ├── EventListener.kt │ │ │ │ │ │ └── OneShotListener.kt │ │ │ │ │ └── master │ │ │ │ │ │ ├── AbstractEventMaster.kt │ │ │ │ │ │ ├── EventMaster.kt │ │ │ │ │ │ └── GlobalEventMaster.kt │ │ │ │ └── loader │ │ │ │ │ ├── LoaderUtil.kt │ │ │ │ │ ├── ModList.kt │ │ │ │ │ ├── ModLoader.kt │ │ │ │ │ ├── ModLoadingUtil.kt │ │ │ │ │ ├── error │ │ │ │ │ ├── DuplicateModError.kt │ │ │ │ │ ├── DuplicateProvidedError.kt │ │ │ │ │ ├── MissingDependencyError.kt │ │ │ │ │ ├── NoManifestError.kt │ │ │ │ │ ├── NoModMainError.kt │ │ │ │ │ └── NoObjectMainError.kt │ │ │ │ │ ├── mod │ │ │ │ │ ├── MinosoftMod.kt │ │ │ │ │ ├── ModMain.kt │ │ │ │ │ ├── logger │ │ │ │ │ │ └── ModLogger.kt │ │ │ │ │ ├── manifest │ │ │ │ │ │ ├── ModManifest.kt │ │ │ │ │ │ ├── load │ │ │ │ │ │ │ └── LoadM.kt │ │ │ │ │ │ └── packages │ │ │ │ │ │ │ └── PackagesM.kt │ │ │ │ │ └── source │ │ │ │ │ │ ├── ArchiveSource.kt │ │ │ │ │ │ ├── DirectorySource.kt │ │ │ │ │ │ ├── ModSource.kt │ │ │ │ │ │ └── SplitDirectorySource.kt │ │ │ │ │ ├── parameters │ │ │ │ │ ├── ModParameters.kt │ │ │ │ │ └── additional │ │ │ │ │ │ └── AdditionalFolders.kt │ │ │ │ │ └── phase │ │ │ │ │ ├── DefaultModPhases.kt │ │ │ │ │ ├── LoadingPhase.kt │ │ │ │ │ └── PhaseStates.kt │ │ │ │ ├── physics │ │ │ │ ├── EntityPositionInfo.kt │ │ │ │ ├── ItemUsing.kt │ │ │ │ ├── PhysicsConstants.kt │ │ │ │ ├── VanillaMath.kt │ │ │ │ ├── entities │ │ │ │ │ ├── BasicPhysicsEntity.kt │ │ │ │ │ ├── EntityPhysics.kt │ │ │ │ │ ├── item │ │ │ │ │ │ ├── FallingBlockPhysics.kt │ │ │ │ │ │ ├── ItemEntityPhysics.kt │ │ │ │ │ │ └── PrimedTNTPhysics.kt │ │ │ │ │ ├── living │ │ │ │ │ │ ├── LivingEntityPhysics.kt │ │ │ │ │ │ ├── animal │ │ │ │ │ │ │ └── PigPhysics.kt │ │ │ │ │ │ └── player │ │ │ │ │ │ │ ├── PlayerPhysics.kt │ │ │ │ │ │ │ └── local │ │ │ │ │ │ │ └── LocalPlayerPhysics.kt │ │ │ │ │ └── vehicle │ │ │ │ │ │ ├── boat │ │ │ │ │ │ └── BoatPhysics.kt │ │ │ │ │ │ └── horse │ │ │ │ │ │ ├── AbstractHorsePhysics.kt │ │ │ │ │ │ └── HorsePhysics.kt │ │ │ │ ├── handlers │ │ │ │ │ ├── general │ │ │ │ │ │ └── AbstractEntityPhysics.kt │ │ │ │ │ └── movement │ │ │ │ │ │ ├── PowderSnowHandler.kt │ │ │ │ │ │ ├── SneakAdjuster.kt │ │ │ │ │ │ └── StepAdjuster.kt │ │ │ │ ├── input │ │ │ │ │ └── MovementInput.kt │ │ │ │ ├── parts │ │ │ │ │ ├── CollisionMovementPhysics.kt │ │ │ │ │ ├── JumpPhysics.kt │ │ │ │ │ ├── OutOfBlockPusher.kt │ │ │ │ │ ├── climbing │ │ │ │ │ │ ├── ClimbablePhysics.kt │ │ │ │ │ │ └── ClimbingPhysics.kt │ │ │ │ │ ├── elytra │ │ │ │ │ │ └── ElytraPhysics.kt │ │ │ │ │ └── input │ │ │ │ │ │ └── InputPhysics.kt │ │ │ │ ├── properties │ │ │ │ │ └── SwimmingVehicle.kt │ │ │ │ └── submersion │ │ │ │ │ ├── FluidUpdate.kt │ │ │ │ │ └── SubmersionState.kt │ │ │ │ ├── properties │ │ │ │ ├── MinosoftP.kt │ │ │ │ ├── MinosoftProperties.kt │ │ │ │ ├── MinosoftPropertiesLoader.kt │ │ │ │ ├── general │ │ │ │ │ └── GeneralP.kt │ │ │ │ └── git │ │ │ │ │ └── GitP.kt │ │ │ │ ├── protocol │ │ │ │ ├── AddressResolver.kt │ │ │ │ ├── PlayerPublicKey.kt │ │ │ │ ├── ProtocolUtil.kt │ │ │ │ ├── ServerConnection.kt │ │ │ │ ├── address │ │ │ │ │ └── ServerAddress.kt │ │ │ │ ├── network │ │ │ │ │ ├── NetworkConnection.kt │ │ │ │ │ ├── network │ │ │ │ │ │ └── client │ │ │ │ │ │ │ ├── ClientNetwork.kt │ │ │ │ │ │ │ └── netty │ │ │ │ │ │ │ ├── NettyClient.kt │ │ │ │ │ │ │ ├── NetworkPipeline.kt │ │ │ │ │ │ │ ├── exceptions │ │ │ │ │ │ │ ├── NetworkException.kt │ │ │ │ │ │ │ ├── PacketBufferUnderflowException.kt │ │ │ │ │ │ │ ├── PacketHandleException.kt │ │ │ │ │ │ │ ├── PacketNotAvailableException.kt │ │ │ │ │ │ │ ├── PacketNotFoundException.kt │ │ │ │ │ │ │ ├── PacketReadException.kt │ │ │ │ │ │ │ ├── WrongSessionTypeException.kt │ │ │ │ │ │ │ ├── ciritical │ │ │ │ │ │ │ │ ├── CriticalNetworkException.kt │ │ │ │ │ │ │ │ ├── PacketTooLongException.kt │ │ │ │ │ │ │ │ └── UnknownPacketIdException.kt │ │ │ │ │ │ │ ├── implementation │ │ │ │ │ │ │ │ └── PacketNotImplementedException.kt │ │ │ │ │ │ │ └── unknown │ │ │ │ │ │ │ │ └── UnknownPacketException.kt │ │ │ │ │ │ │ ├── natives │ │ │ │ │ │ │ ├── EpollNatives.kt │ │ │ │ │ │ │ ├── NioNatives.kt │ │ │ │ │ │ │ └── TransportNatives.kt │ │ │ │ │ │ │ ├── packet │ │ │ │ │ │ │ ├── receiver │ │ │ │ │ │ │ │ ├── C2SPacketListener.kt │ │ │ │ │ │ │ │ ├── PacketReceiver.kt │ │ │ │ │ │ │ │ └── QueuedS2CP.kt │ │ │ │ │ │ │ └── sender │ │ │ │ │ │ │ │ ├── PacketSender.kt │ │ │ │ │ │ │ │ └── S2CPacketListener.kt │ │ │ │ │ │ │ └── pipeline │ │ │ │ │ │ │ ├── ClientPacketHandler.kt │ │ │ │ │ │ │ ├── compression │ │ │ │ │ │ │ ├── PacketDeflater.kt │ │ │ │ │ │ │ ├── PacketInflater.kt │ │ │ │ │ │ │ └── exception │ │ │ │ │ │ │ │ ├── InflaterException.kt │ │ │ │ │ │ │ │ └── SizeMismatchInflaterException.kt │ │ │ │ │ │ │ ├── encoding │ │ │ │ │ │ │ ├── PacketDecoder.kt │ │ │ │ │ │ │ └── PacketEncoder.kt │ │ │ │ │ │ │ ├── encryption │ │ │ │ │ │ │ ├── PacketDecryptor.kt │ │ │ │ │ │ │ └── PacketEncryptor.kt │ │ │ │ │ │ │ ├── exception │ │ │ │ │ │ │ ├── InExceptionHandler.kt │ │ │ │ │ │ │ └── OutExceptionHandler.kt │ │ │ │ │ │ │ └── length │ │ │ │ │ │ │ ├── LengthDecoder.kt │ │ │ │ │ │ │ └── LengthEncoder.kt │ │ │ │ │ └── session │ │ │ │ │ │ ├── Session.kt │ │ │ │ │ │ ├── play │ │ │ │ │ │ ├── PlaySession.kt │ │ │ │ │ │ ├── PlaySessionStates.kt │ │ │ │ │ │ ├── ServerInfo.kt │ │ │ │ │ │ ├── channel │ │ │ │ │ │ │ ├── ChannelManager.kt │ │ │ │ │ │ │ ├── DefaultChannelHandlers.kt │ │ │ │ │ │ │ ├── SessionChannelHandler.kt │ │ │ │ │ │ │ ├── login │ │ │ │ │ │ │ │ ├── LoginChannelHandler.kt │ │ │ │ │ │ │ │ └── LoginChannelManager.kt │ │ │ │ │ │ │ ├── play │ │ │ │ │ │ │ │ ├── PlayChannelHandler.kt │ │ │ │ │ │ │ │ └── PlayChannelManager.kt │ │ │ │ │ │ │ └── vanila │ │ │ │ │ │ │ │ └── BrandHandler.kt │ │ │ │ │ │ ├── settings │ │ │ │ │ │ │ └── ClientSettingsManager.kt │ │ │ │ │ │ ├── tick │ │ │ │ │ │ │ └── SessionTicker.kt │ │ │ │ │ │ └── util │ │ │ │ │ │ │ ├── ChunkReceiver.kt │ │ │ │ │ │ │ └── SessionUtil.kt │ │ │ │ │ │ └── status │ │ │ │ │ │ ├── StatusSession.kt │ │ │ │ │ │ ├── StatusSessionStates.kt │ │ │ │ │ │ └── TimeoutHandler.kt │ │ │ │ ├── packets │ │ │ │ │ ├── c2s │ │ │ │ │ │ ├── C2SPacket.kt │ │ │ │ │ │ ├── PlayC2SPacket.kt │ │ │ │ │ │ ├── common │ │ │ │ │ │ │ ├── ChannelC2SP.kt │ │ │ │ │ │ │ ├── HeartbeatC2SP.kt │ │ │ │ │ │ │ ├── PongC2SP.kt │ │ │ │ │ │ │ ├── ResourcepackC2SP.kt │ │ │ │ │ │ │ └── SettingsC2SP.kt │ │ │ │ │ │ ├── configuration │ │ │ │ │ │ │ └── ReadyC2SP.kt │ │ │ │ │ │ ├── handshake │ │ │ │ │ │ │ └── HandshakeC2SP.kt │ │ │ │ │ │ ├── login │ │ │ │ │ │ │ ├── ChannelC2SP.kt │ │ │ │ │ │ │ ├── ConfigureC2SP.kt │ │ │ │ │ │ │ ├── EncryptionC2SP.kt │ │ │ │ │ │ │ └── StartC2SP.kt │ │ │ │ │ │ ├── play │ │ │ │ │ │ │ ├── NextChunkBatchC2SP.kt │ │ │ │ │ │ │ ├── PingC2SP.kt │ │ │ │ │ │ │ ├── ReconfigureC2SP.kt │ │ │ │ │ │ │ ├── SessionDataC2SP.kt │ │ │ │ │ │ │ ├── TradeC2SP.kt │ │ │ │ │ │ │ ├── advancement │ │ │ │ │ │ │ │ └── tab │ │ │ │ │ │ │ │ │ ├── AdvancementCloseTabC2SP.kt │ │ │ │ │ │ │ │ │ ├── AdvancementOpenTabC2SP.kt │ │ │ │ │ │ │ │ │ └── AdvancementTabC2SP.kt │ │ │ │ │ │ │ ├── block │ │ │ │ │ │ │ │ ├── AnvilItemNameC2SP.kt │ │ │ │ │ │ │ │ ├── BeaconEffectC2SP.kt │ │ │ │ │ │ │ │ ├── BlockInteractC2SP.kt │ │ │ │ │ │ │ │ ├── BlockNbtC2SP.kt │ │ │ │ │ │ │ │ ├── CommandBlockC2SP.kt │ │ │ │ │ │ │ │ ├── GenerateStructureC2SP.kt │ │ │ │ │ │ │ │ ├── JigsawBlockC2SP.kt │ │ │ │ │ │ │ │ ├── MinecartCommandBlockC2SP.kt │ │ │ │ │ │ │ │ ├── SignTextC2SP.kt │ │ │ │ │ │ │ │ └── StructureBlockC2SP.kt │ │ │ │ │ │ │ ├── chat │ │ │ │ │ │ │ │ ├── ChatMessageC2SP.kt │ │ │ │ │ │ │ │ ├── ChatPreviewC2SP.kt │ │ │ │ │ │ │ │ ├── CommandC2SP.kt │ │ │ │ │ │ │ │ ├── CommandSuggestionsC2SP.kt │ │ │ │ │ │ │ │ ├── LegacyMessageAcknowledgementC2SP.kt │ │ │ │ │ │ │ │ ├── MessageAcknowledgementC2SP.kt │ │ │ │ │ │ │ │ └── SignedChatMessageC2SP.kt │ │ │ │ │ │ │ ├── container │ │ │ │ │ │ │ │ ├── CloseContainerC2SP.kt │ │ │ │ │ │ │ │ ├── ContainerActionC2SP.kt │ │ │ │ │ │ │ │ ├── ContainerButtonC2SP.kt │ │ │ │ │ │ │ │ └── ContainerClickC2SP.kt │ │ │ │ │ │ │ ├── difficulty │ │ │ │ │ │ │ │ ├── DifficultyC2SP.kt │ │ │ │ │ │ │ │ └── LockDifficultyC2SP.kt │ │ │ │ │ │ │ ├── entity │ │ │ │ │ │ │ │ ├── EntityActionC2SP.kt │ │ │ │ │ │ │ │ ├── EntityNbtC2SP.kt │ │ │ │ │ │ │ │ ├── EntitySpectateC2SP.kt │ │ │ │ │ │ │ │ ├── interact │ │ │ │ │ │ │ │ │ ├── EntityAttackC2SP.kt │ │ │ │ │ │ │ │ │ ├── EntityEmptyInteractC2SP.kt │ │ │ │ │ │ │ │ │ ├── EntityInteractC2SP.kt │ │ │ │ │ │ │ │ │ └── EntityInteractPositionC2SP.kt │ │ │ │ │ │ │ │ ├── move │ │ │ │ │ │ │ │ │ ├── ConfirmTeleportC2SP.kt │ │ │ │ │ │ │ │ │ ├── GroundChangeC2SP.kt │ │ │ │ │ │ │ │ │ ├── PositionC2SP.kt │ │ │ │ │ │ │ │ │ ├── PositionRotationC2SP.kt │ │ │ │ │ │ │ │ │ ├── RotationC2SP.kt │ │ │ │ │ │ │ │ │ └── vehicle │ │ │ │ │ │ │ │ │ │ ├── MoveVehicleC2SP.kt │ │ │ │ │ │ │ │ │ │ ├── SteerBoatC2SP.kt │ │ │ │ │ │ │ │ │ │ └── VehicleInputC2SP.kt │ │ │ │ │ │ │ │ └── player │ │ │ │ │ │ │ │ │ ├── ClientActionC2SP.kt │ │ │ │ │ │ │ │ │ ├── HotbarSlotC2SP.kt │ │ │ │ │ │ │ │ │ ├── PlayerActionC2SP.kt │ │ │ │ │ │ │ │ │ ├── SwingArmC2SP.kt │ │ │ │ │ │ │ │ │ └── ToggleFlyC2SP.kt │ │ │ │ │ │ │ ├── item │ │ │ │ │ │ │ │ ├── BookC2SP.kt │ │ │ │ │ │ │ │ ├── ItemPickC2SP.kt │ │ │ │ │ │ │ │ ├── ItemStackCreateC2SP.kt │ │ │ │ │ │ │ │ └── UseItemC2SP.kt │ │ │ │ │ │ │ └── recipe │ │ │ │ │ │ │ │ ├── CraftingRecipeC2SP.kt │ │ │ │ │ │ │ │ ├── DisplayedRecipeC2SP.kt │ │ │ │ │ │ │ │ ├── RecipeBookC2SP.kt │ │ │ │ │ │ │ │ └── book │ │ │ │ │ │ │ │ ├── DisplayRecipeC2SP.kt │ │ │ │ │ │ │ │ ├── RecipeBookStateC2SP.kt │ │ │ │ │ │ │ │ └── RecipeBookStatesC2SP.kt │ │ │ │ │ │ └── status │ │ │ │ │ │ │ ├── PingC2SP.kt │ │ │ │ │ │ │ └── StatusRequestC2SP.kt │ │ │ │ │ ├── registry │ │ │ │ │ │ ├── DefaultPackets.kt │ │ │ │ │ │ ├── PacketExtraHandler.kt │ │ │ │ │ │ ├── PacketMapping.kt │ │ │ │ │ │ ├── PacketRegistry.kt │ │ │ │ │ │ ├── PacketType.kt │ │ │ │ │ │ └── factory │ │ │ │ │ │ │ ├── PacketFactory.kt │ │ │ │ │ │ │ └── PlayPacketFactory.kt │ │ │ │ │ ├── s2c │ │ │ │ │ │ ├── PlayS2CPacket.kt │ │ │ │ │ │ ├── S2CPacket.kt │ │ │ │ │ │ ├── StatusS2CPacket.kt │ │ │ │ │ │ ├── common │ │ │ │ │ │ │ ├── ChannelS2CP.kt │ │ │ │ │ │ │ ├── CompressionS2CP.kt │ │ │ │ │ │ │ ├── FeaturesS2CP.kt │ │ │ │ │ │ │ ├── HeartbeatS2CP.kt │ │ │ │ │ │ │ ├── KickS2CP.kt │ │ │ │ │ │ │ ├── PingS2CP.kt │ │ │ │ │ │ │ ├── TagsS2CP.kt │ │ │ │ │ │ │ └── resourcepack │ │ │ │ │ │ │ │ ├── RemoveResourcepackS2CP.kt │ │ │ │ │ │ │ │ └── ResourcepackS2CP.kt │ │ │ │ │ │ ├── configuration │ │ │ │ │ │ │ ├── ReadyS2CP.kt │ │ │ │ │ │ │ └── RegistriesS2CP.kt │ │ │ │ │ │ ├── login │ │ │ │ │ │ │ ├── ChannelS2CP.kt │ │ │ │ │ │ │ ├── EncryptionS2CP.kt │ │ │ │ │ │ │ └── SuccessS2CP.kt │ │ │ │ │ │ ├── play │ │ │ │ │ │ │ ├── BundleS2CP.kt │ │ │ │ │ │ │ ├── GameEventS2CP.kt │ │ │ │ │ │ │ ├── InitializeS2CP.kt │ │ │ │ │ │ │ ├── NbtResponseS2CP.kt │ │ │ │ │ │ │ ├── PlayStatusS2CP.kt │ │ │ │ │ │ │ ├── PongS2CP.kt │ │ │ │ │ │ │ ├── ReconfigureS2CP.kt │ │ │ │ │ │ │ ├── RespawnS2CP.kt │ │ │ │ │ │ │ ├── StatisticsS2CP.kt │ │ │ │ │ │ │ ├── advancement │ │ │ │ │ │ │ │ ├── AdvancementTabS2CP.kt │ │ │ │ │ │ │ │ └── AdvancementsS2CP.kt │ │ │ │ │ │ │ ├── block │ │ │ │ │ │ │ │ ├── BlockActionS2CP.kt │ │ │ │ │ │ │ │ ├── BlockBreakAnimationS2CP.kt │ │ │ │ │ │ │ │ ├── BlockBreakS2CP.kt │ │ │ │ │ │ │ │ ├── BlockDataS2CP.kt │ │ │ │ │ │ │ │ ├── BlockS2CP.kt │ │ │ │ │ │ │ │ ├── BlocksS2CP.kt │ │ │ │ │ │ │ │ ├── LegacyBlockBreakS2CP.kt │ │ │ │ │ │ │ │ └── chunk │ │ │ │ │ │ │ │ │ ├── ChunkAction.kt │ │ │ │ │ │ │ │ │ ├── ChunkBiomeS2CP.kt │ │ │ │ │ │ │ │ │ ├── ChunkCenterS2CP.kt │ │ │ │ │ │ │ │ │ ├── ChunkS2CP.kt │ │ │ │ │ │ │ │ │ ├── ChunkUtil.kt │ │ │ │ │ │ │ │ │ ├── ChunksS2CP.kt │ │ │ │ │ │ │ │ │ ├── SimulationDistanceS2CP.kt │ │ │ │ │ │ │ │ │ ├── UnloadChunkS2CP.kt │ │ │ │ │ │ │ │ │ ├── ViewDistanceS2CP.kt │ │ │ │ │ │ │ │ │ ├── batch │ │ │ │ │ │ │ │ │ ├── ChunkBatchDoneS2CP.kt │ │ │ │ │ │ │ │ │ └── ChunkBatchStartS2CP.kt │ │ │ │ │ │ │ │ │ └── light │ │ │ │ │ │ │ │ │ ├── ChunkLightS2CP.kt │ │ │ │ │ │ │ │ │ └── LightUtil.kt │ │ │ │ │ │ │ ├── border │ │ │ │ │ │ │ │ ├── CenterWorldBorderS2CP.kt │ │ │ │ │ │ │ │ ├── InitializeWorldBorderS2CP.kt │ │ │ │ │ │ │ │ ├── InterpolateWorldBorderS2CP.kt │ │ │ │ │ │ │ │ ├── SizeWorldBorderS2CP.kt │ │ │ │ │ │ │ │ ├── WarnBlocksWorldBorderS2CP.kt │ │ │ │ │ │ │ │ ├── WarnTimeWorldBorderS2CP.kt │ │ │ │ │ │ │ │ ├── WorldBorderS2CF.kt │ │ │ │ │ │ │ │ └── WorldBorderS2CP.kt │ │ │ │ │ │ │ ├── bossbar │ │ │ │ │ │ │ │ ├── AddBossbarS2CP.kt │ │ │ │ │ │ │ │ ├── BossbarS2CF.kt │ │ │ │ │ │ │ │ ├── BossbarS2CP.kt │ │ │ │ │ │ │ │ ├── FlagsBossbarS2CP.kt │ │ │ │ │ │ │ │ ├── RemoveBossbarS2CP.kt │ │ │ │ │ │ │ │ ├── StyleBossbarS2CP.kt │ │ │ │ │ │ │ │ ├── TitleBossbarS2CP.kt │ │ │ │ │ │ │ │ └── ValueBossbarS2CP.kt │ │ │ │ │ │ │ ├── chat │ │ │ │ │ │ │ │ ├── ChatMessageS2CP.kt │ │ │ │ │ │ │ │ ├── ChatPreviewS2CP.kt │ │ │ │ │ │ │ │ ├── ChatSuggestionsS2CP.kt │ │ │ │ │ │ │ │ ├── CommandSuggestionsS2CP.kt │ │ │ │ │ │ │ │ ├── CommandsS2CP.kt │ │ │ │ │ │ │ │ ├── HideMessageS2CP.kt │ │ │ │ │ │ │ │ ├── MessageHeaderS2CP.kt │ │ │ │ │ │ │ │ ├── SignedChatMessageS2CP.kt │ │ │ │ │ │ │ │ ├── TemporaryChatPreviewS2CP.kt │ │ │ │ │ │ │ │ └── UnsignedChatMessageS2CP.kt │ │ │ │ │ │ │ ├── combat │ │ │ │ │ │ │ │ ├── CombatEventS2CF.kt │ │ │ │ │ │ │ │ ├── CombatEventS2CP.kt │ │ │ │ │ │ │ │ ├── EndCombatEventS2CP.kt │ │ │ │ │ │ │ │ ├── EnterCombatEventS2CP.kt │ │ │ │ │ │ │ │ └── KillCombatEventS2CP.kt │ │ │ │ │ │ │ ├── container │ │ │ │ │ │ │ │ ├── CloseContainerS2CP.kt │ │ │ │ │ │ │ │ ├── ContainerActionS2CP.kt │ │ │ │ │ │ │ │ ├── ContainerItemS2CP.kt │ │ │ │ │ │ │ │ ├── ContainerItemsS2CP.kt │ │ │ │ │ │ │ │ ├── ContainerPropertiesS2CP.kt │ │ │ │ │ │ │ │ ├── CrafterSlotLockS2CP.kt │ │ │ │ │ │ │ │ ├── OpenContainerS2CP.kt │ │ │ │ │ │ │ │ └── OpenEntityContainerS2CP.kt │ │ │ │ │ │ │ ├── entity │ │ │ │ │ │ │ │ ├── DamageTiltS2CP.kt │ │ │ │ │ │ │ │ ├── EntityAnimationS2CP.kt │ │ │ │ │ │ │ │ ├── EntityAttributesS2CP.kt │ │ │ │ │ │ │ │ ├── EntityCollectS2CP.kt │ │ │ │ │ │ │ │ ├── EntityDamageS2CP.kt │ │ │ │ │ │ │ │ ├── EntityDataS2CP.kt │ │ │ │ │ │ │ │ ├── EntityEquipmentS2CP.kt │ │ │ │ │ │ │ │ ├── EntityEventS2CP.kt │ │ │ │ │ │ │ │ ├── EntitySleepS2CP.kt │ │ │ │ │ │ │ │ ├── effect │ │ │ │ │ │ │ │ │ ├── EntityEffectS2CP.kt │ │ │ │ │ │ │ │ │ └── EntityRemoveEffectS2CP.kt │ │ │ │ │ │ │ │ ├── move │ │ │ │ │ │ │ │ │ ├── EmptyMoveS2CP.kt │ │ │ │ │ │ │ │ │ ├── HeadRotationS2CP.kt │ │ │ │ │ │ │ │ │ ├── MoveVehicleS2CP.kt │ │ │ │ │ │ │ │ │ ├── MovementRotationS2CP.kt │ │ │ │ │ │ │ │ │ ├── PlayerFaceS2CP.kt │ │ │ │ │ │ │ │ │ ├── PositionRotationS2CP.kt │ │ │ │ │ │ │ │ │ ├── RelativeMoveS2CP.kt │ │ │ │ │ │ │ │ │ ├── RotationS2CP.kt │ │ │ │ │ │ │ │ │ ├── TeleportS2CP.kt │ │ │ │ │ │ │ │ │ └── VelocityS2CP.kt │ │ │ │ │ │ │ │ ├── passenger │ │ │ │ │ │ │ │ │ ├── EntityAttachS2CP.kt │ │ │ │ │ │ │ │ │ └── EntityPassengerS2CP.kt │ │ │ │ │ │ │ │ ├── player │ │ │ │ │ │ │ │ │ ├── CameraS2CP.kt │ │ │ │ │ │ │ │ │ ├── ExperienceS2CP.kt │ │ │ │ │ │ │ │ │ ├── HealthS2CP.kt │ │ │ │ │ │ │ │ │ ├── HotbarSlotS2CP.kt │ │ │ │ │ │ │ │ │ └── PlayerAbilitiesS2CP.kt │ │ │ │ │ │ │ │ └── spawn │ │ │ │ │ │ │ │ │ ├── EntityDestroyS2CP.kt │ │ │ │ │ │ │ │ │ ├── EntityExperienceOrbS2CP.kt │ │ │ │ │ │ │ │ │ ├── EntityMobSpawnS2CP.kt │ │ │ │ │ │ │ │ │ ├── EntityObjectSpawnS2CP.kt │ │ │ │ │ │ │ │ │ ├── EntityPaintingS2CP.kt │ │ │ │ │ │ │ │ │ ├── EntityPlayerS2CP.kt │ │ │ │ │ │ │ │ │ └── GlobalEntitySpawnS2CP.kt │ │ │ │ │ │ │ ├── item │ │ │ │ │ │ │ │ ├── BookS2CP.kt │ │ │ │ │ │ │ │ ├── CompassPositionS2CP.kt │ │ │ │ │ │ │ │ ├── CraftingRecipeS2CP.kt │ │ │ │ │ │ │ │ └── ItemCooldownS2CP.kt │ │ │ │ │ │ │ ├── map │ │ │ │ │ │ │ │ ├── MapS2CP.kt │ │ │ │ │ │ │ │ └── legacy │ │ │ │ │ │ │ │ │ ├── DataLegacyMapS2CP.kt │ │ │ │ │ │ │ │ │ ├── LegacyMapS2CF.kt │ │ │ │ │ │ │ │ │ ├── LegacyMapS2CP.kt │ │ │ │ │ │ │ │ │ ├── PinsLegacyMapS2CP.kt │ │ │ │ │ │ │ │ │ └── ScaleLegacyMapS2CP.kt │ │ │ │ │ │ │ ├── recipes │ │ │ │ │ │ │ │ ├── RecipesS2CP.kt │ │ │ │ │ │ │ │ └── UnlockRecipesS2CP.kt │ │ │ │ │ │ │ ├── scoreboard │ │ │ │ │ │ │ │ ├── ObjectivePositionS2CP.kt │ │ │ │ │ │ │ │ ├── format │ │ │ │ │ │ │ │ │ ├── BlankFormat.kt │ │ │ │ │ │ │ │ │ ├── FixedFormat.kt │ │ │ │ │ │ │ │ │ ├── NumberFormat.kt │ │ │ │ │ │ │ │ │ ├── NumberFormats.kt │ │ │ │ │ │ │ │ │ └── StyledFormat.kt │ │ │ │ │ │ │ │ ├── objective │ │ │ │ │ │ │ │ │ ├── CreateObjectiveS2CP.kt │ │ │ │ │ │ │ │ │ ├── ObjectiveS2CF.kt │ │ │ │ │ │ │ │ │ ├── ObjectiveS2CP.kt │ │ │ │ │ │ │ │ │ ├── RemoveObjectiveS2CP.kt │ │ │ │ │ │ │ │ │ └── UpdateObjectiveS2CP.kt │ │ │ │ │ │ │ │ ├── score │ │ │ │ │ │ │ │ │ ├── PutScoreboardScoreS2CP.kt │ │ │ │ │ │ │ │ │ ├── RemoveScoreboardScoreS2CP.kt │ │ │ │ │ │ │ │ │ ├── ScoreboardScoreS2CF.kt │ │ │ │ │ │ │ │ │ └── ScoreboardScoreS2CP.kt │ │ │ │ │ │ │ │ └── teams │ │ │ │ │ │ │ │ │ ├── AddTeamMemberS2CP.kt │ │ │ │ │ │ │ │ │ ├── CreateTeamS2CP.kt │ │ │ │ │ │ │ │ │ ├── RemoveTeamMemberS2CP.kt │ │ │ │ │ │ │ │ │ ├── RemoveTeamS2CP.kt │ │ │ │ │ │ │ │ │ ├── TeamsS2CF.kt │ │ │ │ │ │ │ │ │ ├── TeamsS2CP.kt │ │ │ │ │ │ │ │ │ └── UpdateTeamS2CP.kt │ │ │ │ │ │ │ ├── sign │ │ │ │ │ │ │ │ ├── SignEditorS2CP.kt │ │ │ │ │ │ │ │ └── SignTextS2CP.kt │ │ │ │ │ │ │ ├── sound │ │ │ │ │ │ │ │ ├── EntitySoundS2CP.kt │ │ │ │ │ │ │ │ ├── NamedSoundS2CP.kt │ │ │ │ │ │ │ │ ├── PlayedSound.kt │ │ │ │ │ │ │ │ ├── SoundEventS2CP.kt │ │ │ │ │ │ │ │ └── StopSoundS2CP.kt │ │ │ │ │ │ │ ├── tab │ │ │ │ │ │ │ │ ├── LegacyTabListS2CP.kt │ │ │ │ │ │ │ │ ├── TabListRemoveS2CP.kt │ │ │ │ │ │ │ │ ├── TabListS2CP.kt │ │ │ │ │ │ │ │ ├── TabListTextS2CP.kt │ │ │ │ │ │ │ │ └── actions │ │ │ │ │ │ │ │ │ ├── AbstractAction.kt │ │ │ │ │ │ │ │ │ ├── Actions.kt │ │ │ │ │ │ │ │ │ ├── ChatAction.kt │ │ │ │ │ │ │ │ │ ├── DisplayNameAction.kt │ │ │ │ │ │ │ │ │ ├── GamemodeAction.kt │ │ │ │ │ │ │ │ │ ├── InitializeAction.kt │ │ │ │ │ │ │ │ │ ├── LatencyAction.kt │ │ │ │ │ │ │ │ │ ├── LegacyActions.kt │ │ │ │ │ │ │ │ │ ├── ListedAction.kt │ │ │ │ │ │ │ │ │ └── RemoveAction.kt │ │ │ │ │ │ │ ├── tick │ │ │ │ │ │ │ │ ├── TickRateS2CP.kt │ │ │ │ │ │ │ │ └── TickStepS2CP.kt │ │ │ │ │ │ │ ├── title │ │ │ │ │ │ │ │ ├── ClearTitleS2CF.kt │ │ │ │ │ │ │ │ ├── HideTitleS2CP.kt │ │ │ │ │ │ │ │ ├── HotbarTextS2CP.kt │ │ │ │ │ │ │ │ ├── ResetTitleS2CP.kt │ │ │ │ │ │ │ │ ├── SubtitleS2CP.kt │ │ │ │ │ │ │ │ ├── TitleS2CF.kt │ │ │ │ │ │ │ │ ├── TitleS2CP.kt │ │ │ │ │ │ │ │ ├── TitleTextS2CP.kt │ │ │ │ │ │ │ │ └── TitleTimesS2CP.kt │ │ │ │ │ │ │ └── world │ │ │ │ │ │ │ │ ├── DifficultyS2CP.kt │ │ │ │ │ │ │ │ ├── ExplosionS2CP.kt │ │ │ │ │ │ │ │ ├── ParticleS2CP.kt │ │ │ │ │ │ │ │ ├── TimeS2CP.kt │ │ │ │ │ │ │ │ ├── VibrationS2CP.kt │ │ │ │ │ │ │ │ ├── VillagerTradesS2CP.kt │ │ │ │ │ │ │ │ └── WorldEventS2CP.kt │ │ │ │ │ │ └── status │ │ │ │ │ │ │ ├── PongS2CP.kt │ │ │ │ │ │ │ └── StatusS2CP.kt │ │ │ │ │ └── types │ │ │ │ │ │ ├── HandleablePacket.kt │ │ │ │ │ │ └── Packet.kt │ │ │ │ ├── protocol │ │ │ │ │ ├── ChatMessageSender.kt │ │ │ │ │ ├── DefaultPacketMapping.kt │ │ │ │ │ ├── LANServerListener.kt │ │ │ │ │ ├── PacketDirections.kt │ │ │ │ │ ├── ProtocolDefinition.java │ │ │ │ │ ├── ProtocolStates.kt │ │ │ │ │ ├── ProtocolVersions.kt │ │ │ │ │ ├── buffers │ │ │ │ │ │ ├── InByteBuffer.kt │ │ │ │ │ │ ├── OutByteBuffer.kt │ │ │ │ │ │ └── play │ │ │ │ │ │ │ ├── PlayInByteBuffer.kt │ │ │ │ │ │ │ └── PlayOutByteBuffer.kt │ │ │ │ │ └── encryption │ │ │ │ │ │ ├── CryptManager.kt │ │ │ │ │ │ └── EncryptionSignatureData.kt │ │ │ │ ├── status │ │ │ │ │ ├── ServerStatus.kt │ │ │ │ │ ├── StatusPing.kt │ │ │ │ │ └── StatusPong.kt │ │ │ │ └── versions │ │ │ │ │ ├── Version.kt │ │ │ │ │ ├── VersionIndex.kt │ │ │ │ │ ├── VersionLoader.kt │ │ │ │ │ ├── VersionTypes.kt │ │ │ │ │ └── Versions.kt │ │ │ │ ├── recipes │ │ │ │ ├── Ingredient.kt │ │ │ │ ├── OtherRecipe.kt │ │ │ │ ├── Recipe.kt │ │ │ │ ├── RecipeCategories.kt │ │ │ │ ├── RecipeFactories.kt │ │ │ │ ├── RecipeFactory.kt │ │ │ │ ├── RecipeRegistry.kt │ │ │ │ ├── StoneCuttingRecipe.kt │ │ │ │ ├── crafting │ │ │ │ │ ├── CraftingRecipe.kt │ │ │ │ │ ├── ShapedRecipe.kt │ │ │ │ │ └── ShapelessRecipe.kt │ │ │ │ ├── heat │ │ │ │ │ ├── BlastingRecipe.kt │ │ │ │ │ ├── CampfireRecipe.kt │ │ │ │ │ ├── HeatRecipe.kt │ │ │ │ │ ├── HeatRecipeFactory.kt │ │ │ │ │ ├── SmeltingRecipe.kt │ │ │ │ │ └── SmokingRecipe.kt │ │ │ │ ├── smithing │ │ │ │ │ ├── AbstractSmithingRecipe.kt │ │ │ │ │ ├── SmithingRecipe.kt │ │ │ │ │ ├── SmithingTransformRecipe.kt │ │ │ │ │ └── SmithingTrimRecipe.kt │ │ │ │ └── special │ │ │ │ │ ├── BookCloningRecipe.kt │ │ │ │ │ ├── DecoratedPotRecipe.kt │ │ │ │ │ ├── RepairItemRecipe.kt │ │ │ │ │ ├── SpecialRecipe.kt │ │ │ │ │ ├── SpecialRecipeFactory.kt │ │ │ │ │ ├── SuspiciousStewRecipe.kt │ │ │ │ │ ├── TippedArrowRecipe.kt │ │ │ │ │ ├── banner │ │ │ │ │ ├── BannerDuplicateRecipe.kt │ │ │ │ │ └── ShieldDecorationRecipe.kt │ │ │ │ │ ├── color │ │ │ │ │ ├── ArmorDyeRecipe.kt │ │ │ │ │ └── ShulkerBoxColoringRecipe.kt │ │ │ │ │ ├── firework │ │ │ │ │ ├── FireworkRocketRecipe.kt │ │ │ │ │ ├── FireworkStarFadeRecipe.kt │ │ │ │ │ └── FireworkStarRecipe.kt │ │ │ │ │ └── map │ │ │ │ │ ├── MapCloningRecipe.kt │ │ │ │ │ └── MapExtendingRecipe.kt │ │ │ │ ├── tags │ │ │ │ ├── MinecraftTagTypes.kt │ │ │ │ ├── Tag.kt │ │ │ │ ├── TagList.kt │ │ │ │ ├── TagManager.kt │ │ │ │ ├── block │ │ │ │ │ └── MinecraftBlockTags.kt │ │ │ │ ├── entity │ │ │ │ │ └── MinecraftEntityTags.kt │ │ │ │ ├── fluid │ │ │ │ │ └── MinecraftFluidTags.kt │ │ │ │ └── item │ │ │ │ │ └── MinecraftItemTags.kt │ │ │ │ ├── terminal │ │ │ │ ├── AutoConnect.kt │ │ │ │ ├── CommandLineArguments.kt │ │ │ │ ├── CommandUtil.kt │ │ │ │ ├── Commands.kt │ │ │ │ ├── RunConfiguration.kt │ │ │ │ ├── cli │ │ │ │ │ └── CLI.kt │ │ │ │ └── commands │ │ │ │ │ ├── AboutCommand.kt │ │ │ │ │ ├── AccountManageCommand.kt │ │ │ │ │ ├── Command.kt │ │ │ │ │ ├── CommandException.kt │ │ │ │ │ ├── ConnectCommand.kt │ │ │ │ │ ├── CrashCommand.kt │ │ │ │ │ ├── DumpCommand.kt │ │ │ │ │ ├── HelpCommand.kt │ │ │ │ │ ├── PingCommand.kt │ │ │ │ │ ├── QuitCommand.kt │ │ │ │ │ ├── SessionManageCommand.kt │ │ │ │ │ ├── UpdateCommand.kt │ │ │ │ │ ├── rendering │ │ │ │ │ ├── ReloadCommand.kt │ │ │ │ │ └── RenderingCommand.kt │ │ │ │ │ └── session │ │ │ │ │ ├── ActionCommand.kt │ │ │ │ │ ├── BenchmarkCommand.kt │ │ │ │ │ ├── DebugCommand.kt │ │ │ │ │ ├── DisconnectCommand.kt │ │ │ │ │ ├── QueryCommand.kt │ │ │ │ │ ├── SayCommand.kt │ │ │ │ │ └── SessionCommand.kt │ │ │ │ ├── updater │ │ │ │ ├── DownloadLink.kt │ │ │ │ ├── MinosoftUpdate.kt │ │ │ │ ├── MinosoftUpdater.kt │ │ │ │ ├── UpdateKey.kt │ │ │ │ └── UpdateProgress.kt │ │ │ │ └── util │ │ │ │ ├── DNSUtil.kt │ │ │ │ ├── Initializable.kt │ │ │ │ ├── KUtil.kt │ │ │ │ ├── PixelImageView.kt │ │ │ │ ├── RegistriesUtil.kt │ │ │ │ ├── ResourceLocationMap.kt │ │ │ │ ├── Stopwatch.kt │ │ │ │ ├── SystemInformation.kt │ │ │ │ ├── account │ │ │ │ ├── AccountUtil.kt │ │ │ │ ├── LoginException.kt │ │ │ │ ├── microsoft │ │ │ │ │ ├── AuthenticationResponse.kt │ │ │ │ │ ├── MicrosoftAPIError.kt │ │ │ │ │ ├── MicrosoftAPIException.kt │ │ │ │ │ ├── MicrosoftOAuthUtils.kt │ │ │ │ │ ├── code │ │ │ │ │ │ └── MicrosoftDeviceCode.kt │ │ │ │ │ ├── minecraft │ │ │ │ │ │ ├── MinecraftAPIError.kt │ │ │ │ │ │ ├── MinecraftAPIException.kt │ │ │ │ │ │ ├── MinecraftBearerResponse.kt │ │ │ │ │ │ ├── MinecraftNotPurchasedError.kt │ │ │ │ │ │ └── MinecraftProfile.kt │ │ │ │ │ └── xbox │ │ │ │ │ │ ├── XSTSToken.kt │ │ │ │ │ │ ├── XboxAPIError.kt │ │ │ │ │ │ ├── XboxAPIException.kt │ │ │ │ │ │ └── XboxLiveToken.kt │ │ │ │ └── minecraft │ │ │ │ │ ├── MinecraftPrivateKey.kt │ │ │ │ │ ├── MinecraftTokens.kt │ │ │ │ │ └── key │ │ │ │ │ └── MinecraftKeyPair.kt │ │ │ │ ├── collections │ │ │ │ ├── DirectList.kt │ │ │ │ └── floats │ │ │ │ │ ├── BufferedArrayFloatList.kt │ │ │ │ │ ├── DirectArrayFloatList.kt │ │ │ │ │ ├── FloatListUtil.kt │ │ │ │ │ └── FragmentedArrayFloatList.kt │ │ │ │ ├── crash │ │ │ │ ├── CrashReportBuilder.kt │ │ │ │ ├── CrashReportUtil.kt │ │ │ │ ├── freeze │ │ │ │ │ ├── FreezeDump.kt │ │ │ │ │ └── FreezeDumpUtil.kt │ │ │ │ └── section │ │ │ │ │ ├── AbstractCrashSection.kt │ │ │ │ │ ├── ArrayCrashSection.kt │ │ │ │ │ ├── CrashSection.kt │ │ │ │ │ ├── GPUSection.kt │ │ │ │ │ ├── GeneralSection.kt │ │ │ │ │ ├── GitSection.kt │ │ │ │ │ ├── ModCrashSection.kt │ │ │ │ │ ├── PropertiesSection.kt │ │ │ │ │ ├── RuntimeSection.kt │ │ │ │ │ ├── SessionCrashSection.kt │ │ │ │ │ ├── SystemSection.kt │ │ │ │ │ └── ThrowableSection.kt │ │ │ │ ├── delegate │ │ │ │ ├── JavaFXDelegate.kt │ │ │ │ ├── RenderingDelegate.kt │ │ │ │ └── delegate │ │ │ │ │ └── DelegateSetter.kt │ │ │ │ ├── http │ │ │ │ ├── DownloadUtil.kt │ │ │ │ ├── HTTP2.kt │ │ │ │ ├── HTTPResponse.kt │ │ │ │ └── exceptions │ │ │ │ │ ├── AuthenticationException.kt │ │ │ │ │ └── HTTPException.kt │ │ │ │ ├── json │ │ │ │ ├── AccountDeserializer.kt │ │ │ │ ├── ChatComponentColorSerializer.kt │ │ │ │ ├── FaceUVDeserializer.kt │ │ │ │ ├── Jackson.kt │ │ │ │ ├── RGBColorSerializer.kt │ │ │ │ ├── ResourceLocationSerializer.kt │ │ │ │ ├── SkeletalFaceDeserializer.kt │ │ │ │ ├── SkeletalRotationDeserializer.kt │ │ │ │ └── vec │ │ │ │ │ ├── Vec2Serializer.kt │ │ │ │ │ ├── Vec2iSerializer.kt │ │ │ │ │ ├── Vec3Serializer.kt │ │ │ │ │ └── Vec4Serializer.kt │ │ │ │ ├── logging │ │ │ │ ├── Log.kt │ │ │ │ ├── LogLevels.kt │ │ │ │ ├── LogMessageType.kt │ │ │ │ ├── LogPrintStream.kt │ │ │ │ └── QueuedMessage.kt │ │ │ │ ├── nbt │ │ │ │ └── tag │ │ │ │ │ ├── NBTTagTypes.kt │ │ │ │ │ └── NBTUtil.kt │ │ │ │ ├── signature │ │ │ │ ├── SignatureException.kt │ │ │ │ └── SignatureSigner.kt │ │ │ │ ├── system │ │ │ │ ├── DesktopAPI.kt │ │ │ │ ├── SystemAPI.kt │ │ │ │ └── SystemUtil.kt │ │ │ │ ├── url │ │ │ │ └── ResourceURLHandler.kt │ │ │ │ └── yggdrasil │ │ │ │ └── YggdrasilUtil.kt │ │ └── example │ │ │ └── jonathan2520 │ │ │ ├── SRGBAverager.java │ │ │ ├── SRGBCalculator.java │ │ │ └── SRGBTable.java │ └── resources │ │ ├── assets │ │ ├── .assets │ │ ├── minecraft │ │ │ ├── font │ │ │ │ └── default.json │ │ │ ├── gui │ │ │ │ └── atlas │ │ │ │ │ ├── block │ │ │ │ │ └── sign.json │ │ │ │ │ ├── container │ │ │ │ │ ├── crafting.json │ │ │ │ │ ├── enchanting.json │ │ │ │ │ ├── furnace │ │ │ │ │ │ ├── blast.json │ │ │ │ │ │ ├── furnace.json │ │ │ │ │ │ └── smoker.json │ │ │ │ │ ├── generic.json │ │ │ │ │ └── inventory.json │ │ │ │ │ ├── elements │ │ │ │ │ └── button.json │ │ │ │ │ └── hud │ │ │ │ │ ├── bossbar.json │ │ │ │ │ ├── hotbar │ │ │ │ │ ├── air.json │ │ │ │ │ ├── experience.json │ │ │ │ │ ├── hearts.json │ │ │ │ │ ├── hotbar.json │ │ │ │ │ └── protection.json │ │ │ │ │ ├── hud.json │ │ │ │ │ └── tab.json │ │ │ ├── mappings │ │ │ │ ├── enums │ │ │ │ │ ├── entity │ │ │ │ │ │ ├── actions.json │ │ │ │ │ │ ├── animations.json │ │ │ │ │ │ ├── data_types.json │ │ │ │ │ │ └── equipment.json │ │ │ │ │ └── title_actions.json │ │ │ │ └── registries │ │ │ │ │ ├── block_data_types.json │ │ │ │ │ ├── channels.json │ │ │ │ │ ├── container_type.json │ │ │ │ │ ├── entity │ │ │ │ │ ├── objects.json │ │ │ │ │ └── variant │ │ │ │ │ │ └── cat.json │ │ │ │ │ ├── game_events.json │ │ │ │ │ ├── message_types.json │ │ │ │ │ ├── vibration_source.json │ │ │ │ │ └── world_events.json │ │ │ ├── models │ │ │ │ ├── block │ │ │ │ │ └── entities │ │ │ │ │ │ ├── chest │ │ │ │ │ │ ├── double_5.smodel │ │ │ │ │ │ ├── single.smodel │ │ │ │ │ │ └── single_5.smodel │ │ │ │ │ │ └── shulker_box.smodel │ │ │ │ └── entities │ │ │ │ │ ├── cow │ │ │ │ │ └── cow.smodel │ │ │ │ │ ├── pig │ │ │ │ │ ├── pig.smodel │ │ │ │ │ └── saddled.smodel │ │ │ │ │ └── player │ │ │ │ │ ├── slim.smodel │ │ │ │ │ └── wide.smodel │ │ │ └── tags │ │ │ │ └── block │ │ │ │ ├── mineable │ │ │ │ ├── axe.json │ │ │ │ ├── hoe.json │ │ │ │ ├── pickaxe.json │ │ │ │ └── shovel.json │ │ │ │ ├── needs_diamond_tool.json │ │ │ │ ├── needs_iron_tool.json │ │ │ │ └── needs_stone_tool.json │ │ ├── minosoft │ │ │ ├── eros │ │ │ │ ├── crash │ │ │ │ │ └── crash_screen.fxml │ │ │ │ ├── debug │ │ │ │ │ └── lightmap.fxml │ │ │ │ ├── dialog │ │ │ │ │ ├── error.fxml │ │ │ │ │ ├── loading.fxml │ │ │ │ │ ├── modify_server.fxml │ │ │ │ │ ├── please_wait.fxml │ │ │ │ │ ├── profiles │ │ │ │ │ │ ├── create.fxml │ │ │ │ │ │ └── select.fxml │ │ │ │ │ ├── session │ │ │ │ │ │ ├── connecting.fxml │ │ │ │ │ │ ├── kick.fxml │ │ │ │ │ │ └── verify_assets.fxml │ │ │ │ │ ├── simple │ │ │ │ │ │ ├── confirmation.fxml │ │ │ │ │ │ ├── info.fxml │ │ │ │ │ │ └── warning.fxml │ │ │ │ │ ├── starting.fxml │ │ │ │ │ └── update_available.fxml │ │ │ │ ├── main │ │ │ │ │ ├── about │ │ │ │ │ │ └── about.fxml │ │ │ │ │ ├── account │ │ │ │ │ │ ├── account.fxml │ │ │ │ │ │ ├── account_card.fxml │ │ │ │ │ │ ├── account_type_card.fxml │ │ │ │ │ │ ├── add │ │ │ │ │ │ │ ├── microsoft.fxml │ │ │ │ │ │ │ └── offline.fxml │ │ │ │ │ │ └── checking.fxml │ │ │ │ │ ├── main.fxml │ │ │ │ │ ├── mods │ │ │ │ │ │ ├── mod_type_card.fxml │ │ │ │ │ │ └── mods.fxml │ │ │ │ │ ├── play │ │ │ │ │ │ ├── play.fxml │ │ │ │ │ │ ├── server │ │ │ │ │ │ │ ├── server_card.fxml │ │ │ │ │ │ │ └── server_list.fxml │ │ │ │ │ │ └── server_type_card.fxml │ │ │ │ │ └── profiles │ │ │ │ │ │ ├── profile_card.fxml │ │ │ │ │ │ ├── profiles.fxml │ │ │ │ │ │ ├── profiles_list.fxml │ │ │ │ │ │ └── profiles_type_card.fxml │ │ │ │ ├── style.css │ │ │ │ └── themes │ │ │ │ │ ├── default.css │ │ │ │ │ ├── green.css │ │ │ │ │ ├── red.css │ │ │ │ │ ├── redgreen.css │ │ │ │ │ └── yellow.css │ │ │ ├── fixer │ │ │ │ ├── block_entity.json │ │ │ │ ├── container_type.json │ │ │ │ ├── entity_attribute.json │ │ │ │ ├── entity_type.json │ │ │ │ ├── motif.json │ │ │ │ └── registry.json │ │ │ ├── gui │ │ │ │ └── atlas │ │ │ │ │ ├── elements │ │ │ │ │ └── switch.json │ │ │ │ │ └── hud │ │ │ │ │ └── hotbar │ │ │ │ │ └── hunger.json │ │ │ ├── language │ │ │ │ ├── en_us.lang │ │ │ │ └── es_es.lang │ │ │ ├── mapping │ │ │ │ ├── assets_properties.json │ │ │ │ ├── entity_events.json │ │ │ │ ├── minosoft-meta.json │ │ │ │ └── versions.json │ │ │ ├── rendering │ │ │ │ └── shader │ │ │ │ │ ├── chunk │ │ │ │ │ ├── chunk.fsh │ │ │ │ │ └── chunk.vsh │ │ │ │ │ ├── entities │ │ │ │ │ ├── features │ │ │ │ │ │ ├── block │ │ │ │ │ │ │ ├── block.fsh │ │ │ │ │ │ │ ├── block.vsh │ │ │ │ │ │ │ └── flashing │ │ │ │ │ │ │ │ ├── flashing.fsh │ │ │ │ │ │ │ │ └── flashing.vsh │ │ │ │ │ │ └── text │ │ │ │ │ │ │ ├── text.fsh │ │ │ │ │ │ │ └── text.vsh │ │ │ │ │ └── player │ │ │ │ │ │ ├── arm │ │ │ │ │ │ ├── arm.fsh │ │ │ │ │ │ └── arm.vsh │ │ │ │ │ │ ├── player.fsh │ │ │ │ │ │ └── player.vsh │ │ │ │ │ ├── framebuffer │ │ │ │ │ ├── gui │ │ │ │ │ │ ├── gui.fsh │ │ │ │ │ │ └── gui.vsh │ │ │ │ │ └── world │ │ │ │ │ │ ├── fun │ │ │ │ │ │ ├── black_white │ │ │ │ │ │ │ └── black_white.fsh │ │ │ │ │ │ ├── flip │ │ │ │ │ │ │ └── flip.fsh │ │ │ │ │ │ ├── gray │ │ │ │ │ │ │ └── gray.fsh │ │ │ │ │ │ ├── invert │ │ │ │ │ │ │ └── invert.fsh │ │ │ │ │ │ └── tint │ │ │ │ │ │ │ └── tint.fsh │ │ │ │ │ │ ├── world.fsh │ │ │ │ │ │ └── world.vsh │ │ │ │ │ ├── generic │ │ │ │ │ ├── color │ │ │ │ │ │ ├── color.fsh │ │ │ │ │ │ └── color.vsh │ │ │ │ │ ├── texture │ │ │ │ │ │ ├── texture.fsh │ │ │ │ │ │ └── texture.vsh │ │ │ │ │ └── texture_2d │ │ │ │ │ │ ├── texture_2d.fsh │ │ │ │ │ │ └── texture_2d.vsh │ │ │ │ │ ├── gui │ │ │ │ │ ├── gui.fsh │ │ │ │ │ └── gui.vsh │ │ │ │ │ ├── includes │ │ │ │ │ ├── alpha.glsl │ │ │ │ │ ├── animation.glsl │ │ │ │ │ ├── color.glsl │ │ │ │ │ ├── fog.glsl │ │ │ │ │ ├── light.glsl │ │ │ │ │ ├── skeletal │ │ │ │ │ │ ├── buffer.glsl │ │ │ │ │ │ ├── shade.glsl │ │ │ │ │ │ └── vertex.glsl │ │ │ │ │ ├── texture.glsl │ │ │ │ │ ├── tint.glsl │ │ │ │ │ ├── uv.glsl │ │ │ │ │ └── vsh.glsl │ │ │ │ │ ├── particle │ │ │ │ │ ├── particle.fsh │ │ │ │ │ ├── particle.gsh │ │ │ │ │ └── particle.vsh │ │ │ │ │ ├── skeletal │ │ │ │ │ ├── lightmap │ │ │ │ │ │ ├── lightmap.fsh │ │ │ │ │ │ └── lightmap.vsh │ │ │ │ │ └── normal │ │ │ │ │ │ ├── normal.fsh │ │ │ │ │ │ └── normal.vsh │ │ │ │ │ ├── sky │ │ │ │ │ ├── clouds │ │ │ │ │ │ ├── clouds.fsh │ │ │ │ │ │ └── clouds.vsh │ │ │ │ │ ├── planet │ │ │ │ │ │ ├── planet.fsh │ │ │ │ │ │ └── planet.vsh │ │ │ │ │ ├── scatter │ │ │ │ │ │ └── sun │ │ │ │ │ │ │ ├── sun.fsh │ │ │ │ │ │ │ └── sun.vsh │ │ │ │ │ └── skybox │ │ │ │ │ │ ├── skybox.fsh │ │ │ │ │ │ ├── skybox.vsh │ │ │ │ │ │ └── texture │ │ │ │ │ │ ├── texture.fsh │ │ │ │ │ │ └── texture.vsh │ │ │ │ │ ├── weather │ │ │ │ │ └── overlay │ │ │ │ │ │ ├── overlay.fsh │ │ │ │ │ │ └── overlay.vsh │ │ │ │ │ └── world │ │ │ │ │ └── border │ │ │ │ │ ├── border.fsh │ │ │ │ │ └── border.vsh │ │ │ ├── textures │ │ │ │ ├── debug.png │ │ │ │ ├── gui │ │ │ │ │ └── icons.png │ │ │ │ ├── icons │ │ │ │ │ ├── bixilon_logo.svg │ │ │ │ │ └── window_icon.png │ │ │ │ └── white.png │ │ │ └── updater │ │ │ │ └── release.der │ │ └── mojang │ │ │ └── yggdrasil │ │ │ └── pubkey.der │ │ └── assets_override │ │ ├── .assets │ │ └── minecraft │ │ ├── blockstates │ │ ├── acacia_sign.json │ │ ├── acacia_wall_sign.json │ │ ├── bamboo_sign.json │ │ ├── bamboo_wall_sign.json │ │ ├── birch_sign.json │ │ ├── birch_wall_sign.json │ │ ├── black_bed.json │ │ ├── blue_bed.json │ │ ├── brown_bed.json │ │ ├── crimson_sign.json │ │ ├── crimson_wall_sign.json │ │ ├── cyan_bed.json │ │ ├── dark_oak_sign.json │ │ ├── dark_oak_wall_sign.json │ │ ├── gray_bed.json │ │ ├── green_bed.json │ │ ├── jungle_sign.json │ │ ├── jungle_wall_sign.json │ │ ├── light_blue_bed.json │ │ ├── light_gray_bed.json │ │ ├── lime_bed.json │ │ ├── magenta_bed.json │ │ ├── mangrove_sign.json │ │ ├── mangrove_wall_sign.json │ │ ├── oak_sign.json │ │ ├── oak_wall_sign.json │ │ ├── orange_bed.json │ │ ├── pink_bed.json │ │ ├── purple_bed.json │ │ ├── red_bed.json │ │ ├── spruce_sign.json │ │ ├── spruce_wall_sign.json │ │ ├── warped_sign.json │ │ ├── warped_wall_sign.json │ │ ├── white_bed.json │ │ └── yellow_bed.json │ │ └── models │ │ └── block │ │ ├── bed │ │ ├── black │ │ │ ├── foot.json │ │ │ └── head.json │ │ ├── blue │ │ │ ├── foot.json │ │ │ └── head.json │ │ ├── brown │ │ │ ├── foot.json │ │ │ └── head.json │ │ ├── cyan │ │ │ ├── foot.json │ │ │ └── head.json │ │ ├── gray │ │ │ ├── foot.json │ │ │ └── head.json │ │ ├── green │ │ │ ├── foot.json │ │ │ └── head.json │ │ ├── light_blue │ │ │ ├── foot.json │ │ │ └── head.json │ │ ├── light_gray │ │ │ ├── foot.json │ │ │ └── head.json │ │ ├── lime │ │ │ ├── foot.json │ │ │ └── head.json │ │ ├── magenta │ │ │ ├── foot.json │ │ │ └── head.json │ │ ├── orange │ │ │ ├── foot.json │ │ │ └── head.json │ │ ├── pink │ │ │ ├── foot.json │ │ │ └── head.json │ │ ├── purple │ │ │ ├── foot.json │ │ │ └── head.json │ │ ├── red │ │ │ ├── foot.json │ │ │ └── head.json │ │ ├── template │ │ │ ├── bed.json │ │ │ ├── foot.json │ │ │ └── head.json │ │ ├── white │ │ │ ├── foot.json │ │ │ └── head.json │ │ └── yellow │ │ │ ├── foot.json │ │ │ └── head.json │ │ └── sign │ │ ├── acacia │ │ ├── standing.json │ │ └── wall.json │ │ ├── bamboo │ │ ├── standing.json │ │ └── wall.json │ │ ├── birch │ │ ├── standing.json │ │ └── wall.json │ │ ├── cherry │ │ ├── standing.json │ │ └── wall.json │ │ ├── crimson │ │ ├── standing.json │ │ └── wall.json │ │ ├── dark_oak │ │ ├── standing.json │ │ └── wall.json │ │ ├── jungle │ │ ├── standing.json │ │ └── wall.json │ │ ├── mangrove │ │ ├── standing.json │ │ └── wall.json │ │ ├── oak │ │ ├── standing.json │ │ └── wall.json │ │ ├── spruce │ │ ├── standing.json │ │ └── wall.json │ │ ├── template │ │ ├── standing.json │ │ └── wall.json │ │ └── warped │ │ ├── standing.json │ │ └── wall.json └── test │ └── java │ ├── de │ └── bixilon │ │ └── minosoft │ │ ├── assets │ │ └── util │ │ │ └── FileAssetsUtilTest.kt │ │ ├── commands │ │ ├── nodes │ │ │ ├── ExecutionChildReadingTest.kt │ │ │ └── SuggestionChildReadingTest.kt │ │ ├── parser │ │ │ ├── brigadier │ │ │ │ ├── _double │ │ │ │ │ └── DoubleParserTest.kt │ │ │ │ ├── _float │ │ │ │ │ └── FloatParserTest.kt │ │ │ │ ├── _int │ │ │ │ │ └── IntParserTest.kt │ │ │ │ ├── _long │ │ │ │ │ └── LongParserTest.kt │ │ │ │ ├── bool │ │ │ │ │ └── BooleanParserTest.kt │ │ │ │ └── string │ │ │ │ │ └── StringParserTest.kt │ │ │ ├── minecraft │ │ │ │ ├── color │ │ │ │ │ └── ColorParserTest.kt │ │ │ │ ├── component │ │ │ │ │ └── ChatComponentParserTest.kt │ │ │ │ ├── coordinate │ │ │ │ │ ├── CoordinateParserUtilTest.kt │ │ │ │ │ ├── angle │ │ │ │ │ │ └── AngleParserTest.kt │ │ │ │ │ ├── block │ │ │ │ │ │ └── BlockPositionParserTest.kt │ │ │ │ │ ├── rotation │ │ │ │ │ │ └── RotationParserTest.kt │ │ │ │ │ ├── vec2 │ │ │ │ │ │ └── Vec2ParserTest.kt │ │ │ │ │ └── vec3 │ │ │ │ │ │ └── Vec3ParserTest.kt │ │ │ │ ├── resource │ │ │ │ │ └── location │ │ │ │ │ │ └── ResourceLocationParserTest.kt │ │ │ │ ├── target │ │ │ │ │ └── TargetParserTest.kt │ │ │ │ ├── time │ │ │ │ │ └── TimeParserTest.kt │ │ │ │ └── uuid │ │ │ │ │ └── UUIDParserTest.kt │ │ │ └── minosoft │ │ │ │ └── enums │ │ │ │ └── EnumParserTest.kt │ │ └── util │ │ │ └── CommandReaderTest.kt │ │ ├── config │ │ └── DebugOptionsTest.kt │ │ ├── data │ │ ├── direction │ │ │ ├── DirectionUtilTest.kt │ │ │ ├── DirectionVectorTest.kt │ │ │ └── DirectionsTest.kt │ │ ├── entities │ │ │ ├── EntityRotationTest.kt │ │ │ └── entities │ │ │ │ └── player │ │ │ │ └── properties │ │ │ │ └── textures │ │ │ │ └── PlayerTextureTest.kt │ │ ├── language │ │ │ └── lang │ │ │ │ └── LanguageFileTest.kt │ │ ├── registries │ │ │ ├── ResourceLocationTest.kt │ │ │ ├── VoxelShapeLineDrawingTest.kt │ │ │ ├── blocks │ │ │ │ └── light │ │ │ │ │ └── DirectedPropertyTest.kt │ │ │ ├── chat │ │ │ │ └── ChatMessageTypeTest.kt │ │ │ ├── dimension │ │ │ │ └── DimensionPropertiesTest.kt │ │ │ ├── identified │ │ │ │ └── NamespacesTest.kt │ │ │ └── shapes │ │ │ │ ├── AABBTest.kt │ │ │ │ ├── aabb │ │ │ │ └── AABBIteratorTest.kt │ │ │ │ ├── side │ │ │ │ └── VoxelSideTest.kt │ │ │ │ └── voxel │ │ │ │ └── VoxelShapeTest.kt │ │ ├── text │ │ │ ├── ChatComponentTest.kt │ │ │ └── events │ │ │ │ └── hover │ │ │ │ └── EntityHoverEventTest.kt │ │ └── world │ │ │ ├── chunk │ │ │ └── light │ │ │ │ └── types │ │ │ │ └── LightLevelTest.kt │ │ │ ├── positions │ │ │ ├── BlockPositionTest.kt │ │ │ ├── BlockPositionUtilTest.kt │ │ │ ├── ChunkPositionTest.kt │ │ │ ├── InChunkPositionTest.kt │ │ │ ├── InSectionPositionTest.kt │ │ │ └── SectionPositionTest.kt │ │ │ └── vec │ │ │ └── SVec3Test.kt │ │ ├── gui │ │ └── rendering │ │ │ ├── camera │ │ │ └── occlusion │ │ │ │ └── SectionPositionSetTest.kt │ │ │ ├── font │ │ │ └── types │ │ │ │ └── empty │ │ │ │ └── EmptyFontTypeTest.kt │ │ │ ├── gui │ │ │ └── mesh │ │ │ │ └── GUIMeshTest.kt │ │ │ ├── models │ │ │ └── block │ │ │ │ └── state │ │ │ │ └── baked │ │ │ │ ├── BakingUtilTest.kt │ │ │ │ └── SkeletalShadeTest.kt │ │ │ ├── skeletal │ │ │ └── mesh │ │ │ │ └── SkeletalMeshUtilTest.kt │ │ │ ├── tint │ │ │ └── TintUtilTest.kt │ │ │ └── util │ │ │ └── mat │ │ │ └── mat4 │ │ │ └── Mat4UtilTest.kt │ │ ├── modding │ │ └── loader │ │ │ └── mod │ │ │ └── MinosoftModTest.kt │ │ ├── protocol │ │ └── protocol │ │ │ └── ProtocolDefinitionTest.kt │ │ └── util │ │ ├── DNSUtilTest.kt │ │ ├── KUtilTest.kt │ │ └── collections │ │ └── floats │ │ ├── AbstractFloatListTest.kt │ │ ├── BufferedFloatListTest.kt │ │ ├── DirectFloatListTest.kt │ │ ├── FragmentedFloatListTest.kt │ │ └── HeapFloatListTest.kt │ └── example │ └── jonathan2520 │ └── SRGBAveragerTest.kt └── util ├── .gitignore ├── ReadMe.md ├── assets_properties_generator.py └── server_wrapper.py /.gitattributes: -------------------------------------------------------------------------------- 1 | # 2 | # https://help.github.com/articles/dealing-with-line-endings/ 3 | # 4 | # These are explicitly windows files and should use crlf 5 | *.bat text eol=crlf 6 | 7 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | out/ 3 | .idea/ 4 | *.iml 5 | hs_err_pid*.log 6 | 7 | # Ignore Gradle project-specific cache directory 8 | .gradle 9 | .gradle_home 10 | 11 | .kotlin/ 12 | 13 | # Ignore Gradle build output directory 14 | build 15 | 16 | it/ 17 | 18 | .*~ 19 | -------------------------------------------------------------------------------- /.idea/copyright/GPLv3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | -------------------------------------------------------------------------------- /.idea/copyright/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /doc/CLI.md: -------------------------------------------------------------------------------- 1 | # CLI ToDo 2 | 3 | - [ ] set default root node to `null` 4 | - [ ] all parsers 5 | - [ ] better suggestions 6 | - [ ] gui suggestions 7 | - [ ] improved entity parser 8 | - [ ] some cli commands 9 | -------------------------------------------------------------------------------- /doc/Roadmap.txt: -------------------------------------------------------------------------------- 1 | Multiprotocol Support (1.7+) 2 | Stable and no crashes 3 | Compatible with Windows, MacOS, Linux 4 | 100% Open Source 5 | No copyright violations (Launcher to download textures, ...) 6 | (Modding API) 7 | Native Windows (JavaFX, no 100% CPU usage in Menu :D) 8 | Multithreaded 9 | Mostly GPU based, not cpu 10 | Aimed for performance (goal: reach v-sync framerate, dynamically disable effects, ...) 11 | Server support 12 | No original Minecraft workarounds (API: plugin channel): No invisible entities to show holograms, No Scoreboard workarounds, ... (Scoreboard still must be implemented to avoid compatibility issues) 13 | Debug settings (stop entity updates, entity limiter, ...) 14 | No cheat client (only per modding api) 15 | Server GUI API (server can send custom GUIs to client) 16 | Only Multiplayer support (Singleplayer is in fact only a local server) 17 | No invalid session error 18 | No screenshot freeze 19 | Client side restrictions (movement, building, ...) 20 | (Pocket, Bedrock Edition support) 21 | -------------------------------------------------------------------------------- /doc/Shader.md: -------------------------------------------------------------------------------- 1 | # Shader 2 | 3 | ## Variable declarations/naming 4 | 5 | All variables are prefixed with: 6 | 7 | - Vertex: `v` 8 | - Geometry: `g` 9 | - Fragment: `f` 10 | 11 | followed by `in`. So `vinPosition` is a valid name. 12 | 13 | ## Uniforms 14 | 15 | Prefixed with `u` 16 | -------------------------------------------------------------------------------- /doc/img/Minosoft_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bixilon/Minosoft/74e59142a188fea4bf1aeeccd185e0476cefa5b5/doc/img/Minosoft_logo.png -------------------------------------------------------------------------------- /doc/img/afk_pool.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bixilon/Minosoft/74e59142a188fea4bf1aeeccd185e0476cefa5b5/doc/img/afk_pool.png -------------------------------------------------------------------------------- /doc/img/eros.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bixilon/Minosoft/74e59142a188fea4bf1aeeccd185e0476cefa5b5/doc/img/eros.png -------------------------------------------------------------------------------- /doc/img/hypixel_lobby.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bixilon/Minosoft/74e59142a188fea4bf1aeeccd185e0476cefa5b5/doc/img/hypixel_lobby.png -------------------------------------------------------------------------------- /doc/img/hypixel_skyblock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bixilon/Minosoft/74e59142a188fea4bf1aeeccd185e0476cefa5b5/doc/img/hypixel_skyblock.png -------------------------------------------------------------------------------- /doc/img/rendering1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bixilon/Minosoft/74e59142a188fea4bf1aeeccd185e0476cefa5b5/doc/img/rendering1.png -------------------------------------------------------------------------------- /doc/img/rendering5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bixilon/Minosoft/74e59142a188fea4bf1aeeccd185e0476cefa5b5/doc/img/rendering5.png -------------------------------------------------------------------------------- /doc/img/sunset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bixilon/Minosoft/74e59142a188fea4bf1aeeccd185e0476cefa5b5/doc/img/sunset.png -------------------------------------------------------------------------------- /doc/rendering/GUI.md: -------------------------------------------------------------------------------- 1 | # General GUI idea 2 | 3 | ## 2 Main GUI types 4 | 5 | - Blocking/GUI (with mouse and keyboard interaction) 6 | - Inventories 7 | - Escape screen 8 | - Confirmation screen 9 | - Chat (input) 10 | - Command blocks, etc 11 | - Non-blocking/HUD (~~permanent~~ overlay) 12 | - Chat messages 13 | - Scoreboard 14 | - Boss bar 15 | - Title 16 | - Hotbar 17 | - Debug info 18 | - Gadget text (like fps, time, etc) 19 | 20 | ## GUI components 21 | 22 | - General 23 | - Text 24 | - Items 25 | - Container (list with items, the inventory and their positions) 26 | - GUI 27 | - Buttons 28 | - TextField 29 | - Label 30 | - Checkbox 31 | 32 | ## ToDo: 33 | 34 | - make `TextElement`, `GridLayout` final 35 | - TextInput 36 | - Keyboard navigation 37 | - Chat 38 | - Inventory 39 | - Pause menu 40 | -------------------------------------------------------------------------------- /doc/rendering/Meshes.md: -------------------------------------------------------------------------------- 1 | # Mesh 2 | 3 | OpenGL generally draws **counter-clockwise**. Minosoft internally uses **clockwise** rendering and maps then to quads or 4 | triangles. 5 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bixilon/Minosoft/74e59142a188fea4bf1aeeccd185e0476cefa5b5/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /release/release.sh: -------------------------------------------------------------------------------- 1 | #!/bin/ash 2 | # 3 | # Minosoft 4 | # Copyright (C) 2020-2024 Moritz Zwerger 5 | # 6 | # This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 7 | # 8 | # This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 9 | # 10 | # You should have received a copy of the GNU General Public License along with this program. If not, see . 11 | # 12 | # This software is not affiliated with Mojang AB, the original developer of Minecraft. 13 | # 14 | set -e 15 | 16 | VERSION=$(git rev-parse HEAD) 17 | VERSION=${VERSION:0:10} 18 | 19 | curl \ 20 | -X POST \ 21 | -H "Authorization: Bearer $MINOSOFT_TOKEN" \ 22 | "$MINOSOFT_API/api/v1/releases/release/$VERSION" 23 | -------------------------------------------------------------------------------- /run.cmd: -------------------------------------------------------------------------------- 1 | gradlew.bat run 2 | -------------------------------------------------------------------------------- /src/integration-test/resources/mods/broken/dummy/manifest.json: -------------------------------------------------------------------------------- 1 | Intentionally bad formatted 2 | -------------------------------------------------------------------------------- /src/integration-test/resources/mods/dummy/dummy/assets/nothin/flag.txt: -------------------------------------------------------------------------------- 1 | hehe 2 | -------------------------------------------------------------------------------- /src/integration-test/resources/mods/dummy/dummy/de/bixilon/minosoft/modding/dummy/DummyMod.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bixilon/Minosoft/74e59142a188fea4bf1aeeccd185e0476cefa5b5/src/integration-test/resources/mods/dummy/dummy/de/bixilon/minosoft/modding/dummy/DummyMod.class -------------------------------------------------------------------------------- /src/integration-test/resources/mods/dummy/dummy/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dummy", 3 | "version": "1.0", 4 | "main": "de.bixilon.minosoft.modding.dummy.DummyMod" 5 | } 6 | 7 | -------------------------------------------------------------------------------- /src/integration-test/resources/mods/nocode/dummy/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dummy", 3 | "version": "1.0", 4 | "main": "de.bixilon.minosoft.modding.dummy.DummyNotExistant" 5 | } 6 | 7 | -------------------------------------------------------------------------------- /src/integration-test/resources/packets/chunk/cuberite_1_12_2.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bixilon/Minosoft/74e59142a188fea4bf1aeeccd185e0476cefa5b5/src/integration-test/resources/packets/chunk/cuberite_1_12_2.bin -------------------------------------------------------------------------------- /src/integration-test/resources/packets/chunk/cuberite_1_8_9.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bixilon/Minosoft/74e59142a188fea4bf1aeeccd185e0476cefa5b5/src/integration-test/resources/packets/chunk/cuberite_1_8_9.bin -------------------------------------------------------------------------------- /src/integration-test/resources/packets/chunk/feather_1_16_5.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bixilon/Minosoft/74e59142a188fea4bf1aeeccd185e0476cefa5b5/src/integration-test/resources/packets/chunk/feather_1_16_5.bin -------------------------------------------------------------------------------- /src/integration-test/resources/packets/chunk/hypixel_hub_1_19_3.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bixilon/Minosoft/74e59142a188fea4bf1aeeccd185e0476cefa5b5/src/integration-test/resources/packets/chunk/hypixel_hub_1_19_3.bin -------------------------------------------------------------------------------- /src/integration-test/resources/packets/chunk/hypixel_registries.mbf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bixilon/Minosoft/74e59142a188fea4bf1aeeccd185e0476cefa5b5/src/integration-test/resources/packets/chunk/hypixel_registries.mbf -------------------------------------------------------------------------------- /src/integration-test/resources/packets/chunk/vanilla_1_19_3.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bixilon/Minosoft/74e59142a188fea4bf1aeeccd185e0476cefa5b5/src/integration-test/resources/packets/chunk/vanilla_1_19_3.bin -------------------------------------------------------------------------------- /src/integration-test/resources/packets/chunks/vanilla_1_7_10.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bixilon/Minosoft/74e59142a188fea4bf1aeeccd185e0476cefa5b5/src/integration-test/resources/packets/chunks/vanilla_1_7_10.bin -------------------------------------------------------------------------------- /src/integration-test/resources/packets/commands/vanilla_op_1_15_2.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bixilon/Minosoft/74e59142a188fea4bf1aeeccd185e0476cefa5b5/src/integration-test/resources/packets/commands/vanilla_op_1_15_2.bin -------------------------------------------------------------------------------- /src/integration-test/resources/packets/commands/vanilla_op_1_19_3.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bixilon/Minosoft/74e59142a188fea4bf1aeeccd185e0476cefa5b5/src/integration-test/resources/packets/commands/vanilla_op_1_19_3.bin -------------------------------------------------------------------------------- /src/integration-test/resources/packets/commands/vanilla_op_1_20_1.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bixilon/Minosoft/74e59142a188fea4bf1aeeccd185e0476cefa5b5/src/integration-test/resources/packets/commands/vanilla_op_1_20_1.bin -------------------------------------------------------------------------------- /src/integration-test/resources/packets/initialize/hypixel_1_19_4.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bixilon/Minosoft/74e59142a188fea4bf1aeeccd185e0476cefa5b5/src/integration-test/resources/packets/initialize/hypixel_1_19_4.bin -------------------------------------------------------------------------------- /src/integration-test/resources/packets/initialize/vanilla_1_15_2.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bixilon/Minosoft/74e59142a188fea4bf1aeeccd185e0476cefa5b5/src/integration-test/resources/packets/initialize/vanilla_1_15_2.bin -------------------------------------------------------------------------------- /src/integration-test/resources/packets/initialize/vanilla_1_16_5.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bixilon/Minosoft/74e59142a188fea4bf1aeeccd185e0476cefa5b5/src/integration-test/resources/packets/initialize/vanilla_1_16_5.bin -------------------------------------------------------------------------------- /src/integration-test/resources/packets/initialize/vanilla_1_20_1.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bixilon/Minosoft/74e59142a188fea4bf1aeeccd185e0476cefa5b5/src/integration-test/resources/packets/initialize/vanilla_1_20_1.bin -------------------------------------------------------------------------------- /src/integration-test/resources/packets/initialize/vanilla_1_20_2.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bixilon/Minosoft/74e59142a188fea4bf1aeeccd185e0476cefa5b5/src/integration-test/resources/packets/initialize/vanilla_1_20_2.bin -------------------------------------------------------------------------------- /src/integration-test/resources/packets/initialize/vanilla_1_7_10.bin: -------------------------------------------------------------------------------- 1 | |default -------------------------------------------------------------------------------- /src/integration-test/resources/packets/signed_chat_message/vanilla_1_20_4.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bixilon/Minosoft/74e59142a188fea4bf1aeeccd185e0476cefa5b5/src/integration-test/resources/packets/signed_chat_message/vanilla_1_20_4.bin -------------------------------------------------------------------------------- /src/integration-test/resources/packets/signed_chat_message/vanilla_23w40a.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bixilon/Minosoft/74e59142a188fea4bf1aeeccd185e0476cefa5b5/src/integration-test/resources/packets/signed_chat_message/vanilla_23w40a.bin -------------------------------------------------------------------------------- /src/integration-test/resources/packets/tab/greev_eu_1_15_2.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bixilon/Minosoft/74e59142a188fea4bf1aeeccd185e0476cefa5b5/src/integration-test/resources/packets/tab/greev_eu_1_15_2.bin -------------------------------------------------------------------------------- /src/integration-test/resources/packets/tab/greev_eu_1_20_2.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bixilon/Minosoft/74e59142a188fea4bf1aeeccd185e0476cefa5b5/src/integration-test/resources/packets/tab/greev_eu_1_20_2.bin -------------------------------------------------------------------------------- /src/integration-test/resources/packets/tab/greev_eu_1_20_4.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bixilon/Minosoft/74e59142a188fea4bf1aeeccd185e0476cefa5b5/src/integration-test/resources/packets/tab/greev_eu_1_20_4.bin -------------------------------------------------------------------------------- /src/integration-test/resources/skins/180fce54ab949a1eada68bea6be02633a4c15fd0915f097a93fa6d3ca1e04623.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bixilon/Minosoft/74e59142a188fea4bf1aeeccd185e0476cefa5b5/src/integration-test/resources/skins/180fce54ab949a1eada68bea6be02633a4c15fd0915f097a93fa6d3ca1e04623.png -------------------------------------------------------------------------------- /src/integration-test/resources/skins/5065405b55a729be5a442832b895d4352b3fdcc61c8c57f4b8abad64344194d3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bixilon/Minosoft/74e59142a188fea4bf1aeeccd185e0476cefa5b5/src/integration-test/resources/skins/5065405b55a729be5a442832b895d4352b3fdcc61c8c57f4b8abad64344194d3.png -------------------------------------------------------------------------------- /src/integration-test/resources/skins/7af7c07d1ded61b1d3312685b32e4568ffdda762ec8d808895cc329a93d606e0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bixilon/Minosoft/74e59142a188fea4bf1aeeccd185e0476cefa5b5/src/integration-test/resources/skins/7af7c07d1ded61b1d3312685b32e4568ffdda762ec8d808895cc329a93d606e0.png -------------------------------------------------------------------------------- /src/integration-test/resources/skins/7af7c07d1ded61b1d3312685b32e4568ffdda762ec8d808895cc329a93d606e0_fixed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bixilon/Minosoft/74e59142a188fea4bf1aeeccd185e0476cefa5b5/src/integration-test/resources/skins/7af7c07d1ded61b1d3312685b32e4568ffdda762ec8d808895cc329a93d606e0_fixed.png -------------------------------------------------------------------------------- /src/integration-test/resources/texture_reading/gray_gray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bixilon/Minosoft/74e59142a188fea4bf1aeeccd185e0476cefa5b5/src/integration-test/resources/texture_reading/gray_gray.png -------------------------------------------------------------------------------- /src/integration-test/resources/texture_reading/gray_rgb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bixilon/Minosoft/74e59142a188fea4bf1aeeccd185e0476cefa5b5/src/integration-test/resources/texture_reading/gray_rgb.png -------------------------------------------------------------------------------- /src/integration-test/resources/texture_reading/sand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bixilon/Minosoft/74e59142a188fea4bf1aeeccd185e0476cefa5b5/src/integration-test/resources/texture_reading/sand.png -------------------------------------------------------------------------------- /src/integration-test/resources/tint/foliage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bixilon/Minosoft/74e59142a188fea4bf1aeeccd185e0476cefa5b5/src/integration-test/resources/tint/foliage.png -------------------------------------------------------------------------------- /src/integration-test/resources/tint/grass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bixilon/Minosoft/74e59142a188fea4bf1aeeccd185e0476cefa5b5/src/integration-test/resources/tint/grass.png -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/advancements/AdvancementProgress.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.advancements 15 | 16 | data class AdvancementProgress( 17 | val criterion: String, 18 | val archiveTime: Long?, 19 | ) 20 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/assets/minecraft/MinecraftAssetsManager.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2021 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.assets.minecraft 15 | 16 | import de.bixilon.minosoft.assets.AssetsManager 17 | 18 | interface MinecraftAssetsManager : AssetsManager 19 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/assets/multi/MultiAssetsManager.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2021 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.assets.multi 15 | 16 | import de.bixilon.minosoft.assets.AssetsManager 17 | 18 | interface MultiAssetsManager : AssetsManager 19 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/assets/util/SavedAsset.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2023 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.assets.util 15 | 16 | class SavedAsset( 17 | val hash: String, 18 | val data: ByteArray, 19 | ) 20 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/commands/nodes/SignedNode.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2023 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.commands.nodes 15 | 16 | interface SignedNode { 17 | val sign: Boolean 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/commands/parser/SignedParser.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2023 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.commands.parser 15 | 16 | interface SignedParser 17 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/commands/parser/selector/AbstractTarget.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2023 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.commands.parser.selector 15 | 16 | interface AbstractTarget { 17 | fun filter(entries: Collection): List 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/commands/parser/selector/TargetProperty.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2023 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.commands.parser.selector 15 | 16 | interface TargetProperty { 17 | 18 | fun passes(value: T): Boolean 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/commands/stack/CommandExecutor.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.commands.stack 15 | 16 | typealias CommandExecutor = (stack: CommandStack) -> Unit 17 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/commands/stack/print/PrintTarget.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2024 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.commands.stack.print 15 | 16 | fun interface PrintTarget { 17 | 18 | fun print(message: Any) 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/commands/util/ReadResult.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.commands.util 15 | 16 | class ReadResult( 17 | val start: Int, 18 | val end: Int, 19 | val read: String, 20 | val result: T, 21 | ) 22 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/config/profile/ProfileLock.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2025 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.config.profile 15 | 16 | import de.bixilon.kutil.concurrent.lock.locks.reentrant.ReentrantRWLock 17 | 18 | typealias ProfileLock = ReentrantRWLock 19 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/abilities/InteractionAbilities.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2021 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.abilities 15 | 16 | enum class InteractionAbilities { 17 | NOTHING, 18 | ONLY_ENTITIES, 19 | EVERYTHING, 20 | ; 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/accounts/types/mojang/MojangAccount.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bixilon/Minosoft/74e59142a188fea4bf1aeeccd185e0476cefa5b5/src/main/java/de/bixilon/minosoft/data/accounts/types/mojang/MojangAccount.kt -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/chat/filter/Filter.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger and contributors 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.chat.filter 15 | 16 | interface Filter 17 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/chat/filter/FullFilter.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger and contributors 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.chat.filter 15 | 16 | class FullFilter : Filter 17 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/chat/filter/PassFilter.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger and contributors 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.chat.filter 15 | 16 | class PassFilter : Filter 17 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/chat/filter/SemiFilter.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger and contributors 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.chat.filter 15 | 16 | import java.util.* 17 | 18 | class SemiFilter( 19 | val bitset: BitSet, 20 | ) : Filter 21 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/chat/sender/InvalidSender.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.chat.sender 15 | 16 | import java.util.* 17 | 18 | class InvalidSender( 19 | override val uuid: UUID, 20 | ) : MessageSender 21 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/chat/sender/MessageSender.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.chat.sender 15 | 16 | import java.util.* 17 | 18 | interface MessageSender { 19 | val uuid: UUID 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/chat/sender/UnknownMessageSender.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2023 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.chat.sender 15 | 16 | import java.util.* 17 | 18 | data class UnknownMessageSender(override val uuid: UUID) : MessageSender 19 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/chat/signature/MessageHeader.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.chat.signature 15 | 16 | import java.util.* 17 | 18 | class MessageHeader( 19 | val signature: ByteArray?, 20 | val sender: UUID, 21 | ) 22 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/chat/signature/errors/InvalidSignatureError.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.chat.signature.errors 15 | 16 | class InvalidSignatureError : Exception("Signature does not match") 17 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/container/SlotEdit.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2023 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.container 15 | 16 | class SlotEdit { 17 | var changes = 0 18 | 19 | fun addChange() { 20 | changes++ 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/container/slots/DefaultSlotType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.container.slots 15 | 16 | object DefaultSlotType : SlotType 17 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/container/slots/equipment/EquipmentSlotType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.container.slots.equipment 15 | 16 | interface EquipmentSlotType : SingleItemSlotType 17 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/entities/block/BlockActionEntity.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2023 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.entities.block 15 | 16 | interface BlockActionEntity { 17 | fun setBlockActionData(type: Int, data: Int) 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/entities/data/EntityDataField.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2024 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.entities.data 15 | 16 | class EntityDataField(vararg val names: String) { 17 | 18 | override fun toString() = names.contentToString() 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/entities/entities/SynchronizedEntityData.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | package de.bixilon.minosoft.data.entities.entities 14 | 15 | 16 | @Retention(AnnotationRetention.RUNTIME) 17 | annotation class SynchronizedEntityData 18 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/entities/entities/player/DefaultPlayerProperties.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.entities.entities.player 15 | 16 | object DefaultPlayerProperties { 17 | const val TEXTURES = "textures" 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/entities/entities/properties/riding/Saddleable.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2023 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.entities.entities.properties.riding 15 | 16 | interface Saddleable { 17 | val isSaddled: Boolean 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/language/lang/LanguageData.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.language.lang 15 | 16 | typealias LanguageData = MutableMap 17 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/registries/blocks/types/bee/BeeBlock.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2023 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.registries.blocks.types.bee 15 | 16 | interface BeeBlock 17 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/registries/blocks/types/building/snow/AbstractSnowBlock.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2023 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.registries.blocks.types.building.snow 15 | 16 | interface AbstractSnowBlock 17 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/registries/blocks/types/climbing/ClimbingBlock.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2023 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.registries.blocks.types.climbing 15 | 16 | interface ClimbingBlock 17 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/registries/blocks/types/properties/hardness/HardnessBlock.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2023 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.registries.blocks.types.properties.hardness 15 | 16 | interface HardnessBlock { 17 | val hardness: Float 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/registries/blocks/types/properties/physics/JumpBlock.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2023 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.registries.blocks.types.properties.physics 15 | 16 | interface JumpBlock { 17 | val jumpBoost: Float 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/registries/blocks/types/properties/physics/VelocityBlock.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2023 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.registries.blocks.types.properties.physics 15 | 16 | interface VelocityBlock { 17 | val velocity: Float 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/registries/dimension/effects/FogEffects.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2024 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.registries.dimension.effects 15 | 16 | data class FogEffects( 17 | val start: Float = 1.0f, 18 | ) 19 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/registries/effects/InstantEffect.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.registries.effects 15 | 16 | interface InstantEffect 17 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/registries/factory/clazz/ClassFactory.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2021 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.registries.factory.clazz 15 | 16 | interface ClassFactory 17 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/registries/factory/clazz/MultiClassFactory.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2021 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.registries.factory.clazz 15 | 16 | interface MultiClassFactory : ClassFactory { 17 | val ALIASES: Set 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/registries/factory/name/MultiNameFactory.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2021 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.registries.factory.name 15 | 16 | interface MultiNameFactory : NameFactory { 17 | val aliases: Set 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/registries/factory/name/NameFactory.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2021 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.registries.factory.name 15 | 16 | interface NameFactory { 17 | val name: String 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/registries/identified/AliasedIdentified.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2023 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.registries.identified 15 | 16 | interface AliasedIdentified { 17 | val identifiers: Set 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/registries/identified/Identified.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2023 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.registries.identified 15 | 16 | interface Identified { 17 | val identifier: ResourceLocation 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/registries/item/handler/item/LongUseResults.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.registries.item.handler.item 15 | 16 | enum class LongUseResults { 17 | START, 18 | IGNORE, 19 | STOP, 20 | ; 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/registries/item/items/dye/DyeableItem.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.registries.item.items.dye 15 | 16 | interface DyeableItem 17 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/registries/item/items/end/EndItem.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2023 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.registries.item.items.end 15 | 16 | interface EndItem 17 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/registries/item/items/fishing/FishingItem.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2023 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.registries.item.items.fishing 15 | 16 | interface FishingItem 17 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/registries/item/items/fluid/FluidDrainable.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.registries.item.items.fluid 15 | 16 | interface FluidDrainable 17 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/registries/item/items/tool/properties/MiningSpeedTool.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2023 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.registries.item.items.tool.properties 15 | 16 | interface MiningSpeedTool { 17 | val miningSpeed: Float 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/registries/item/items/tool/properties/requirement/HandBreakable.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2024 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.registries.item.items.tool.properties.requirement 15 | 16 | interface HandBreakable 17 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/registries/item/items/weapon/WeaponItem.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.registries.item.items.weapon 15 | 16 | interface WeaponItem 17 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/registries/item/items/weapon/attack/range/pullable/PullableItem.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.registries.item.items.weapon.attack.range.pullable 15 | 16 | interface PullableItem 17 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/registries/item/items/weapon/defend/DefendingItem.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.registries.item.items.weapon.defend 15 | 16 | interface DefendingItem 17 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/registries/item/stack/HalfStackableItem.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2023 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.registries.item.stack 15 | 16 | interface HalfStackableItem : StackableItem { 17 | override val maxStackSize: Int get() = 16 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/registries/item/stack/StackableItem.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2023 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.registries.item.stack 15 | 16 | interface StackableItem { 17 | val maxStackSize: Int get() = 64 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/registries/materials/PushReactions.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2021 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.registries.materials 15 | 16 | enum class PushReactions { 17 | NORMAL, 18 | DESTROY, 19 | BLOCK, 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/registries/particle/data/vibration/VibrationSource.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2023 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.registries.particle.data.vibration 15 | 16 | interface VibrationSource 17 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/registries/registries/registry/Parentable.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2021 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.registries.registries.registry 15 | 16 | interface Parentable { 17 | 18 | var parent: T? 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/registries/registries/registry/RegistryFakeEnumerable.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2021 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.registries.registries.registry 15 | 16 | interface RegistryFakeEnumerable { 17 | val name: String 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/text/events/ChatEvent.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.text.events 15 | 16 | import javafx.scene.text.Text 17 | 18 | interface ChatEvent { 19 | 20 | fun applyJavaFX(text: Text) {} 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/text/formatting/TextFormattable.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.text.formatting 15 | 16 | interface TextFormattable { 17 | 18 | fun toText(): Any? 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/text/formatting/color/Colored.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.text.formatting.color 15 | 16 | interface Colored { 17 | val color: RGBColor 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/world/border/WorldBorderState.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.world.border 15 | 16 | enum class WorldBorderState { 17 | GROWING, 18 | SHRINKING, 19 | STATIC, 20 | ; 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/world/difficulty/WorldDifficulty.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.world.difficulty 15 | 16 | class WorldDifficulty( 17 | val difficulty: Difficulties, 18 | val locked: Boolean, 19 | ) 20 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/world/positions/SectionHeight.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.world.positions 15 | 16 | typealias SectionHeight = Int 17 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/data/world/positions/SectionIndex.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.data.world.positions 15 | 16 | typealias SectionIndex = Int 17 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/datafixer/Fixer.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2023 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.datafixer 15 | 16 | interface Fixer { 17 | 18 | fun load() = Unit 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/gui/eros/main/play/server/Refreshable.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2021 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.gui.eros.main.play.server 15 | 16 | interface Refreshable { 17 | 18 | fun refresh() 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/gui/rendering/gui/elements/layout/grid/GridGrow.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2021 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.gui.rendering.gui.elements.layout.grid 15 | 16 | enum class GridGrow { 17 | NEVER, 18 | ALWAYS, 19 | ; 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/gui/rendering/gui/gui/ElementStates.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.gui.rendering.gui.gui 15 | 16 | enum class ElementStates { 17 | CLOSED, 18 | HIDDEN, 19 | OPENED, 20 | ; 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/HUDElement.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.gui.rendering.gui.hud 15 | 16 | import de.bixilon.minosoft.gui.rendering.gui.GUIElement 17 | 18 | interface HUDElement : GUIElement 19 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/gui/rendering/input/key/manager/binding/KeyBindingCallback.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2023 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.gui.rendering.input.key.manager.binding 15 | 16 | typealias KeyBindingCallback = (Boolean) -> Unit 17 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/gui/rendering/renderer/drawable/BaseDrawable.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.gui.rendering.renderer.drawable 15 | 16 | interface BaseDrawable { 17 | val skipDraw: Boolean 18 | get() = false 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/gui/rendering/renderer/renderer/AsyncRenderer.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.gui.rendering.renderer.renderer 15 | 16 | interface AsyncRenderer : Renderer { 17 | 18 | fun prepareDrawAsync() 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/gui/rendering/shader/types/AnimatedShader.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.gui.rendering.shader.types 15 | 16 | interface AnimatedShader { 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/gui/rendering/system/base/MeshUtil.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.gui.rendering.system.base 15 | 16 | object MeshUtil { 17 | inline fun Int.buffer() = Float.fromBits(this) 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/gui/rendering/system/base/buffer/IntBuffer.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2021 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | package de.bixilon.minosoft.gui.rendering.system.base.buffer 14 | 15 | interface IntBuffer { 16 | var data: IntArray 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/gui/rendering/system/base/phases/SkipAll.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.gui.rendering.system.base.phases 15 | 16 | interface SkipAll { 17 | val skipAll: Boolean 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/gui/rendering/system/base/texture/shader/ShaderIdentifiable.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.gui.rendering.system.base.texture.shader 15 | 16 | interface ShaderIdentifiable { 17 | val shaderId: Int 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/gui/rendering/system/base/texture/skin/IllegalSkinError.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2023 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.gui.rendering.system.base.texture.skin 15 | 16 | class IllegalSkinError(message: String? = null) : Exception(message) 17 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/gui/rendering/system/opengl/MemoryLeakException.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.gui.rendering.system.opengl 15 | 16 | class MemoryLeakException(message: String? = null) : Exception(message) 17 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/gui/rendering/system/window/CursorModes.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2021 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.gui.rendering.system.window 15 | 16 | enum class CursorModes { 17 | NORMAL, 18 | HIDDEN, 19 | DISABLED, 20 | ; 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/gui/rendering/system/window/KeyChangeTypes.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2021 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.gui.rendering.system.window 15 | 16 | enum class KeyChangeTypes { 17 | PRESS, 18 | RELEASE, 19 | REPEAT, 20 | ; 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/gui/rendering/tint/MultiTintProvider.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.gui.rendering.tint 15 | 16 | interface MultiTintProvider { 17 | val tints: Int 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/gui/rendering/util/mesh/MeshAttribute.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2021 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.gui.rendering.util.mesh 15 | 16 | data class MeshAttribute( 17 | val index: Int, 18 | val size: Int, 19 | val stride: Long, 20 | ) 21 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/local/storage/WorldStorage.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2024 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.local.storage 15 | 16 | import de.bixilon.minosoft.data.world.World 17 | 18 | interface WorldStorage { 19 | 20 | fun loadWorld(world: World) 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/modding/event/events/AsyncEvent.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.modding.event.events 15 | 16 | interface AsyncEvent 17 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/modding/event/events/Event.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2021 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.modding.event.events 15 | 16 | interface Event 17 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/modding/event/events/FinishBootEvent.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | package de.bixilon.minosoft.modding.event.events 14 | 15 | class FinishBootEvent : Event 16 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/modding/event/master/GlobalEventMaster.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.modding.event.master 15 | 16 | 17 | object GlobalEventMaster : EventMaster() 18 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/modding/loader/error/DuplicateModError.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.modding.loader.error 15 | 16 | class DuplicateModError(val name: String) : Exception("Duplicate mod detected: $name") 17 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/modding/loader/error/NoModMainError.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.modding.loader.error 15 | 16 | class NoModMainError(val clazz: Class<*>) : Exception("$clazz does not inherit ModMain!") 17 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/modding/loader/error/NoObjectMainError.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.modding.loader.error 15 | 16 | class NoObjectMainError(val clazz: Class<*>) : Exception("$clazz is not a kotlin object!") 17 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/physics/handlers/movement/StepAdjuster.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2023 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.physics.handlers.movement 15 | 16 | interface StepAdjuster { 17 | val stepHeight:Float 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/properties/MinosoftProperties.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.properties 15 | 16 | import de.bixilon.kutil.cast.CastUtil.unsafeNull 17 | 18 | var MinosoftProperties: MinosoftP = unsafeNull() 19 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/protocol/network/network/client/netty/exceptions/NetworkException.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.protocol.network.network.client.netty.exceptions 15 | 16 | open class NetworkException : Exception() 17 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/protocol/packets/s2c/play/scoreboard/format/BlankFormat.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2023 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.protocol.packets.s2c.play.scoreboard.format 15 | 16 | object BlankFormat : NumberFormat 17 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/protocol/packets/types/Packet.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2023 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | package de.bixilon.minosoft.protocol.packets.types 14 | 15 | interface Packet { 16 | 17 | fun log(reducedLog: Boolean) 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/protocol/protocol/PacketDirections.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2023 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.protocol.protocol 15 | 16 | enum class PacketDirections { 17 | SERVER_TO_CLIENT, 18 | CLIENT_TO_SERVER, 19 | ; 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/protocol/status/StatusPing.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2023 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | package de.bixilon.minosoft.protocol.status 14 | 15 | import de.bixilon.kutil.time.TimeUtil.nanos 16 | 17 | class StatusPing( 18 | val nanos: Long = nanos(), 19 | ) 20 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/protocol/status/StatusPong.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2023 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | package de.bixilon.minosoft.protocol.status 14 | 15 | class StatusPong( 16 | val latency: Long, 17 | ) 18 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/protocol/versions/VersionIndex.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2023 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.protocol.versions 15 | 16 | import de.bixilon.kutil.json.JsonObject 17 | 18 | typealias VersionIndex = Map 19 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/recipes/Recipe.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.recipes 15 | 16 | interface Recipe { 17 | val category: RecipeCategories? 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/recipes/crafting/CraftingRecipe.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.recipes.crafting 15 | 16 | import de.bixilon.minosoft.recipes.Recipe 17 | 18 | interface CraftingRecipe : Recipe 19 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/recipes/special/SpecialRecipe.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.recipes.special 15 | 16 | import de.bixilon.minosoft.recipes.Recipe 17 | 18 | interface SpecialRecipe : Recipe 19 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/terminal/commands/Command.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.terminal.commands 15 | 16 | import de.bixilon.minosoft.commands.nodes.LiteralNode 17 | 18 | interface Command { 19 | var node: LiteralNode 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/terminal/commands/session/SessionCommand.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2024 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.terminal.commands.session 15 | 16 | import de.bixilon.minosoft.terminal.commands.Command 17 | 18 | interface SessionCommand : Command 19 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/util/Initializable.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.util 15 | 16 | interface Initializable { 17 | 18 | fun init() {} 19 | fun postInit() {} 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/util/account/minecraft/MinecraftTokens.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.util.account.minecraft 15 | 16 | data class MinecraftTokens( 17 | val accessToken: String, 18 | val expires: Long, 19 | ) 20 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/util/collections/DirectList.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.util.collections 15 | 16 | interface DirectList 17 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/util/crash/freeze/FreezeDump.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2023 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.util.crash.freeze 15 | 16 | class FreezeDump( 17 | val dump: String, 18 | val path: String?, 19 | ) 20 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/util/delegate/delegate/DelegateSetter.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.util.delegate.delegate 15 | 16 | interface DelegateSetter { 17 | 18 | fun get(): V 19 | fun set(value: V) 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/util/http/exceptions/HTTPException.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2021 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.util.http.exceptions 15 | 16 | open class HTTPException( 17 | val statusCode: Int, 18 | message: String? = null, 19 | ) : Exception(message) 20 | -------------------------------------------------------------------------------- /src/main/java/de/bixilon/minosoft/util/signature/SignatureException.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2023 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.util.signature 15 | 16 | class SignatureException(message: String? = null) : Exception(message) 17 | -------------------------------------------------------------------------------- /src/main/resources/assets/.assets: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bixilon/Minosoft/74e59142a188fea4bf1aeeccd185e0476cefa5b5/src/main/resources/assets/.assets -------------------------------------------------------------------------------- /src/main/resources/assets/minecraft/gui/atlas/block/sign.json: -------------------------------------------------------------------------------- 1 | { 2 | "front": { 3 | "0": { 4 | "texture": "entity/signs/oak", 5 | "resolution": [64, 32], 6 | "start": [2, 2], 7 | "end": [26, 14] 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/assets/minecraft/gui/atlas/elements/button.json: -------------------------------------------------------------------------------- 1 | { 2 | "disabled": { 3 | "0": { 4 | "texture": "gui/widgets", 5 | "start": [0, 46], 6 | "end": [200, 66] 7 | }, 8 | "18": { 9 | "texture": "gui/sprites/widget/button_disabled", 10 | "resolution": [200, 20] 11 | } 12 | }, 13 | "normal": { 14 | "0": { 15 | "texture": "gui/widgets", 16 | "start": [0, 66], 17 | "end": [200, 86] 18 | }, 19 | "18": { 20 | "texture": "gui/sprites/widget/button", 21 | "resolution": [200, 20] 22 | } 23 | }, 24 | "hovered": { 25 | "0": { 26 | "texture": "gui/widgets", 27 | "start": [0, 86], 28 | "end": [200, 106] 29 | }, 30 | "18": { 31 | "texture": "gui/sprites/widget/button_highlighted", 32 | "resolution": [200, 20] 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/main/resources/assets/minecraft/gui/atlas/hud/hotbar/air.json: -------------------------------------------------------------------------------- 1 | { 2 | "bubble": { 3 | "0": { 4 | "texture": "gui/icons", 5 | "start": [16, 18], 6 | "end": [25, 27] 7 | }, 8 | "18": { 9 | "texture": "gui/sprites/hud/air", 10 | "resolution": [9, 9] 11 | } 12 | }, 13 | "popping": { 14 | "0": { 15 | "texture": "gui/icons", 16 | "start": [25, 18], 17 | "end": [34, 27] 18 | }, 19 | "18": { 20 | "texture": "gui/sprites/hud/air_bursting", 21 | "resolution": [9, 9] 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/resources/assets/minecraft/gui/atlas/hud/hotbar/protection.json: -------------------------------------------------------------------------------- 1 | { 2 | "empty": { 3 | "0": { 4 | "texture": "gui/icons", 5 | "start": [16, 9], 6 | "end": [25, 18] 7 | }, 8 | "18": { 9 | "texture": "gui/sprites/hud/armor_empty", 10 | "resolution": [9, 9] 11 | } 12 | }, 13 | "half": { 14 | "0": { 15 | "texture": "gui/icons", 16 | "start": [25, 9], 17 | "end": [34, 18] 18 | }, 19 | "18": { 20 | "texture": "gui/sprites/hud/armor_half", 21 | "resolution": [9, 9] 22 | } 23 | }, 24 | "full": { 25 | "0": { 26 | "texture": "gui/icons", 27 | "start": [34, 9], 28 | "end": [43, 18] 29 | }, 30 | "18": { 31 | "texture": "gui/sprites/hud/armor_full", 32 | "resolution": [9, 9] 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/main/resources/assets/minecraft/gui/atlas/hud/hud.json: -------------------------------------------------------------------------------- 1 | { 2 | "crosshair": { 3 | "0": { 4 | "texture": "gui/icons", 5 | "start": [0, 0], 6 | "end": [16, 16] 7 | }, 8 | "18": { 9 | "texture": "gui/sprites/hud/crosshair", 10 | "resolution": [15, 15] 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/main/resources/assets/minecraft/mappings/enums/entity/actions.json: -------------------------------------------------------------------------------- 1 | { 2 | "0": [ 3 | "START_SNEAKING", 4 | "STOP_SNEAKING", 5 | "LEAVE_BED", 6 | "START_SPRINTING", 7 | "STOP_SPRINTING", 8 | "START_JUMPING_WITH_HORSE", 9 | "OPEN_HORSE_INVENTORY" 10 | ], 11 | "77": [ 12 | "START_SNEAKING", 13 | "STOP_SNEAKING", 14 | "LEAVE_BED", 15 | "START_SPRINTING", 16 | "STOP_SPRINTING", 17 | "START_JUMPING_WITH_HORSE", 18 | "STOP_JUMPING_WITH_HORSE", 19 | "OPEN_HORSE_INVENTORY", 20 | "START_ELYTRA_FLYING" 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /src/main/resources/assets/minecraft/mappings/enums/entity/animations.json: -------------------------------------------------------------------------------- 1 | { 2 | "0": { 3 | "0": "SWING_MAIN_ARM", 4 | "1": "TAKE_DAMAGE", 5 | "2": "LEAVE_BED", 6 | "3": "EAT_FOOD", 7 | "4": "CRITICAL_HIT", 8 | "5": "ENCHANTED_HIT", 9 | "102": "UNKNOWN_1", 10 | "104": "START_SNEAKING", 11 | "105": "STOP_SNEAKING" 12 | }, 13 | "47": { 14 | "0": "SWING_MAIN_ARM", 15 | "1": "TAKE_DAMAGE", 16 | "2": "LEAVE_BED", 17 | "3": "EAT_FOOD", 18 | "4": "CRITICAL_HIT", 19 | "5": "ENCHANTED_HIT" 20 | }, 21 | "110": [ 22 | "SWING_MAIN_ARM", 23 | "TAKE_DAMAGE", 24 | "LEAVE_BED", 25 | "SWING_OFF_ARM", 26 | "CRITICAL_HIT", 27 | "ENCHANTED_HIT" 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /src/main/resources/assets/minecraft/mappings/enums/entity/equipment.json: -------------------------------------------------------------------------------- 1 | { 2 | "0": [ 3 | "MAIN_HAND", 4 | "FEET", 5 | "LEGS", 6 | "CHEST", 7 | "HEAD" 8 | ], 9 | "49": [ 10 | "MAIN_HAND", 11 | "OFF_HAND", 12 | "FEET", 13 | "LEGS", 14 | "CHEST", 15 | "HEAD" 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /src/main/resources/assets/minecraft/mappings/enums/title_actions.json: -------------------------------------------------------------------------------- 1 | { 2 | "18": [ 3 | "TITLE_TEXT", 4 | "SUBTITLE", 5 | "TIMES", 6 | "HIDE", 7 | "RESET" 8 | ], 9 | "302": [ 10 | "TITLE_TEXT", 11 | "SUBTITLE", 12 | "HOTBAR_TEXT", 13 | "TIMES", 14 | "HIDE", 15 | "RESET" 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /src/main/resources/assets/minecraft/mappings/registries/channels.json: -------------------------------------------------------------------------------- 1 | { 2 | "0": { 3 | "minecraft:brand": { 4 | "name": "MC|Brand" 5 | }, 6 | "minecraft:stop_sound": { 7 | "name": "MC|StopSound" 8 | }, 9 | "minecraft:register": { 10 | "name": "REGISTER" 11 | }, 12 | "minecraft:unregister": { 13 | "name": "UNREGISTER" 14 | } 15 | }, 16 | "385": { 17 | "minecraft:brand": { 18 | "name": "minecraft:brand" 19 | }, 20 | "minecraft:register": { 21 | "name": "minecraft:register" 22 | }, 23 | "minecraft:unregister": { 24 | "name": "minecraft:unregister" 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/resources/assets/minecraft/mappings/registries/container_type.json: -------------------------------------------------------------------------------- 1 | { 2 | "0": { 3 | "minecraft:chest": { 4 | "id": 0 5 | }, 6 | "minecraft:crafting_table": { 7 | "id": 1 8 | }, 9 | "minecraft:furnace": { 10 | "id": 2 11 | }, 12 | "minecraft:dispenser": { 13 | "id": 3 14 | }, 15 | "minecraft:enchanting_table": { 16 | "id": 4 17 | }, 18 | "minecraft:brewing_stand": { 19 | "id": 5 20 | }, 21 | "minecraft:villager": { 22 | "id": 6 23 | }, 24 | "minecraft:beacon": { 25 | "id": 7 26 | }, 27 | "minecraft:anvil": { 28 | "id": 8 29 | }, 30 | "minecraft:hopper": { 31 | "id": 9 32 | }, 33 | "minecraft:dropper": { 34 | "id": 9 35 | }, 36 | "minecraft:EntityHorse": { 37 | "id": 9 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/main/resources/assets/minecraft/mappings/registries/message_types.json: -------------------------------------------------------------------------------- 1 | { 2 | "0": { 3 | "minecraft:chat": { 4 | "id": 0, 5 | "position": "chat", 6 | "chat": { 7 | "translation_key": "%s", 8 | "parameters": ["content"] 9 | } 10 | }, 11 | "minecraft:system": { 12 | "id": 1, 13 | "position": "system", 14 | "chat": { 15 | "translation_key": "%s", 16 | "parameters": ["content"] 17 | } 18 | }, 19 | "minecraft:game": { 20 | "id": 2, 21 | "position": "hotbar", 22 | "chat": { 23 | "translation_key": "%s", 24 | "parameters": ["content"] 25 | } 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/resources/assets/minecraft/mappings/registries/vibration_source.json: -------------------------------------------------------------------------------- 1 | { 2 | "0": { 3 | "minecraft:block": { 4 | "id": 0 5 | }, 6 | "minecraft:entity": { 7 | "id": 1 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/assets/minecraft/mappings/registries/world_events.json: -------------------------------------------------------------------------------- 1 | { 2 | "0": { 3 | "minecraft:block_destroyed": { 4 | "id": 2001 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/assets/minecraft/models/block/entities/chest/single.smodel: -------------------------------------------------------------------------------- 1 | { 2 | "elements": { 3 | "body": { 4 | "from": [-7, 0, -7], 5 | "to": [7, 10, 7], 6 | "texture": "minecraft:chest", 7 | "uv": [0, 19], 8 | "faces": "all", 9 | "children": { 10 | "lid": { 11 | "offset": [0, 9, 0], 12 | "transform": "lid", 13 | "from": [-7, 0, -7], 14 | "to": [7, 5, 7], 15 | "uv": [0, 0], 16 | "faces": "all", 17 | "children": { 18 | "lock": { 19 | "offset": [0, -2, -8], 20 | "from": [-1, 0, 0], 21 | "to": [1, 4, 1], 22 | "uv": [0, 0], 23 | "faces": "all" 24 | } 25 | } 26 | } 27 | } 28 | } 29 | }, 30 | "transforms": { 31 | "lid": { 32 | "pivot": [0, 9, 7] 33 | } 34 | }, 35 | "textures": { 36 | "minecraft:chest": { 37 | "resolution": [64, 64] 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/main/resources/assets/minecraft/models/block/entities/shulker_box.smodel: -------------------------------------------------------------------------------- 1 | { 2 | "elements": { 3 | "base": { 4 | "from": [-8, 0, -8], 5 | "to": [8, 8, 8], 6 | "texture": "minecraft:shulker", 7 | "uv": [0, 28], 8 | "faces": "all" 9 | }, 10 | "lid": { 11 | "transform": "lid", 12 | "from": [-8, 4, -8], 13 | "to": [8, 16, 8], 14 | "texture": "minecraft:shulker", 15 | "uv": [0, 0], 16 | "faces": "all" 17 | } 18 | }, 19 | "transforms": { 20 | "lid": { 21 | "pivot": [0, 8, 0] 22 | } 23 | }, 24 | "textures": { 25 | "minecraft:shulker": { 26 | "resolution": [64, 64] 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/resources/assets/minecraft/tags/block/mineable/hoe.json: -------------------------------------------------------------------------------- 1 | {"values":["nether_wart_block","warped_wart_block","hay_block","dried_kelp_block","target","shroomlight","sponge","wet_sponge","jungle_leaves","oak_leaves","spruce_leaves","dark_oak_leaves","acacia_leaves","birch_leaves","azalea_leaves","azalea_leaves_flowers","sculk_sensor","moss_block","moss_carpet"]} 2 | -------------------------------------------------------------------------------- /src/main/resources/assets/minecraft/tags/block/mineable/shovel.json: -------------------------------------------------------------------------------- 1 | {"values":["clay","dirt","coarse_dirt","podzol","farmland","grass_block","gravel","mycelium","sand","red_sand","snow_block","snow","soul_sand","dirt_path","white_concrete_powder","orange_concrete_powder","magenta_concrete_powder","light_blue_concrete_powder","yellow_concrete_powder","lime_concrete_powder","pink_concrete_powder","gray_concrete_powder","light_gray_concrete_powder","cyan_concrete_powder","purple_concrete_powder","blue_concrete_powder","brown_concrete_powder","green_concrete_powder","red_concrete_powder","black_concrete_powder","soul_soil","rooted_dirt"]} 2 | -------------------------------------------------------------------------------- /src/main/resources/assets/minecraft/tags/block/needs_diamond_tool.json: -------------------------------------------------------------------------------- 1 | {"values":["obsidian","crying_obsidian","netherite_block","respawn_anchor","ancient_debris"]} 2 | -------------------------------------------------------------------------------- /src/main/resources/assets/minecraft/tags/block/needs_iron_tool.json: -------------------------------------------------------------------------------- 1 | {"values":["diamond_block","diamond_ore","deepslate_diamond_ore","emerald_ore","deepslate_emerald_ore","emerald_block","gold_block","raw_gold_block","gold_ore","deepslate_gold_ore","redstone_ore","deepslate_redstone_ore"]} 2 | -------------------------------------------------------------------------------- /src/main/resources/assets/minecraft/tags/block/needs_stone_tool.json: -------------------------------------------------------------------------------- 1 | {"values":["iron_block","raw_iron_block","iron_ore","deepslate_iron_ore","lapis_block","lapis_ore","deepslate_lapis_ore","copper_block","raw_copper_block","copper_ore","deepslate_copper_ore","cut_copper_slab","cut_copper_stairs","cut_copper","weathered_copper","weathered_cut_copper_slab","weathered_cut_copper_stairs","weathered_cut_copper","exposed_copper","exposed_cut_copper_slab","exposed_cut_copper_stairs","exposed_cut_copper","waxed_copper_block","waxed_cut_copper_slab","waxed_cut_copper_stairs","waxed_cut_copper","waxed_weathered_copper","waxed_weathered_cut_copper_slab","waxed_weathered_cut_copper_stairs","waxed_weathered_cut_copper","waxed_exposed_copper","waxed_exposed_cut_copper_slab","waxed_exposed_cut_copper_stairs","waxed_exposed_cut_copper","waxed_oxidized_copper","waxed_oxidized_cut_copper_slab","waxed_oxidized_cut_copper_stairs","waxed_oxidized_cut_copper","lightning_rod"]} 2 | -------------------------------------------------------------------------------- /src/main/resources/assets/minosoft/eros/themes/default.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | -------------------------------------------------------------------------------- /src/main/resources/assets/minosoft/eros/themes/green.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | 15 | * { 16 | -primary-color: #13d349; 17 | -primary-light-color: #66ff7a; 18 | -primary-dark-color: #00a012; 19 | -primary-text-color: #000000; 20 | } 21 | 22 | -------------------------------------------------------------------------------- /src/main/resources/assets/minosoft/eros/themes/red.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | 15 | * { 16 | -primary-color: #d33324; 17 | -primary-light-color: #ff684e; 18 | -primary-dark-color: #9a0000; 19 | -primary-text-color: #000000; 20 | } 21 | 22 | -------------------------------------------------------------------------------- /src/main/resources/assets/minosoft/eros/themes/yellow.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2022 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | 15 | * { 16 | -primary-color: #e8da1a; 17 | -primary-light-color: #ffff5a; 18 | -primary-dark-color: #b2a900; 19 | -primary-text-color: #000000; 20 | } 21 | 22 | -------------------------------------------------------------------------------- /src/main/resources/assets/minosoft/fixer/block_entity.json: -------------------------------------------------------------------------------- 1 | { 2 | "Furnace": "furnace", 3 | "Chest": "chest", 4 | "EnderChest": "ender_chest", 5 | "RecordPlayer": "jukebox", 6 | "Trap": "dispenser", 7 | "Dropper": "dropper", 8 | "Sign": "sign", 9 | "wall_sign": "sign", 10 | "MobSpawner": "mob_spawner", 11 | "Music": "note_block", 12 | "Cauldron": "brewing_stand", 13 | "EnchantTable": "enchanting_table", 14 | "CommandBlock": "command_block", 15 | "Beacon": "beacon", 16 | "Skull": "skull", 17 | "DLDetector": "daylight_detector", 18 | "Hopper": "hopper", 19 | "Banner": "banner", 20 | "FlowerPot": "flower_pot", 21 | "Piston": "piston", 22 | "Comparator": "comparator", 23 | "unpowered_comparator": "comparator", 24 | "powered_comparator": "comparator", 25 | "Structure": "structure_block", 26 | "Airportal": "end_portal", 27 | "EndGateway": "end_gateway", 28 | "noteblock": "note_block", 29 | "Bed": "bed" 30 | } 31 | -------------------------------------------------------------------------------- /src/main/resources/assets/minosoft/fixer/container_type.json: -------------------------------------------------------------------------------- 1 | { 2 | "EntityHorse": "minecraft:horse", 3 | "container": "chest" 4 | } 5 | -------------------------------------------------------------------------------- /src/main/resources/assets/minosoft/fixer/entity_attribute.json: -------------------------------------------------------------------------------- 1 | { 2 | 3 | "generic.maxHealth": "generic.max_health", 4 | "zombie.spawnReinforcements": "zombie.spawn_reinforcements", 5 | 6 | "horse.jumpStrength": "horse.jump_strength", 7 | 8 | "generic.followRange": "generic.follow_range", 9 | 10 | "generic.knockbackResistance": "generic.knockback_resistance", 11 | 12 | "generic.movementSpeed": "generic.movement_speed", 13 | 14 | "generic.flyingSpeed": "generic.flying_speed", 15 | 16 | "generic.attackDamage": "generic.attack_damage", 17 | "generic.attackKnockback": "generic.attack_knockback", 18 | "generic.attackSpeed": "generic.attack_speed", 19 | "generic.armorToughness": "generic.armor_toughness" 20 | } 21 | -------------------------------------------------------------------------------- /src/main/resources/assets/minosoft/fixer/entity_type.json: -------------------------------------------------------------------------------- 1 | { 2 | "zombie_pigman": "zombified_piglin" 3 | } 4 | -------------------------------------------------------------------------------- /src/main/resources/assets/minosoft/fixer/motif.json: -------------------------------------------------------------------------------- 1 | { 2 | "Kebab": "kebab", 3 | "Aztec": "aztec", 4 | "Alban": "alban", 5 | "Aztec2": "aztec2", 6 | "Bomb": "bomb", 7 | "Plant": "plant", 8 | "Wasteland": "wasteland", 9 | "Wanderer": "wanderer", 10 | "Graham": "graham", 11 | "Pool": "pool", 12 | "Courbet": "courbet", 13 | "Sunset": "sunset", 14 | "Sea": "sea", 15 | "Creebet": "creebet", 16 | "Match": "match", 17 | "Bust": "bust", 18 | "Stage": "stage", 19 | "Void": "void", 20 | "SkullAndRoses": "skull_and_roses", 21 | "Wither": "wither", 22 | "Fighters": "fighters", 23 | "Skeleton": "skeleton", 24 | "DonkeyKong": "donkey_kong", 25 | "Pointer": "pointer", 26 | "Pigscene": "pigscene", 27 | "BurningSkull": "burning_skull" 28 | } 29 | -------------------------------------------------------------------------------- /src/main/resources/assets/minosoft/fixer/registry.json: -------------------------------------------------------------------------------- 1 | { 2 | "dimension": "dimension_type", 3 | "motive": "motif", 4 | "worldgen/biome": "biome" 5 | } 6 | -------------------------------------------------------------------------------- /src/main/resources/assets/minosoft/gui/atlas/elements/switch.json: -------------------------------------------------------------------------------- 1 | { 2 | "normal": { 3 | "0": { 4 | "texture": "minosoft:textures/icons", 5 | "start": [0, 10], 6 | "end": [30, 31] 7 | } 8 | }, 9 | "disabled": { 10 | "0": { 11 | "texture": "minosoft:textures/icons", 12 | "start": [30, 10], 13 | "end": [60, 31] 14 | } 15 | }, 16 | "hovered": { 17 | "0": { 18 | "texture": "minosoft:textures/icons", 19 | "start": [60, 10], 20 | "end": [90, 31] 21 | } 22 | }, 23 | "state_off": { 24 | "0": { 25 | "texture": "minosoft:textures/icons", 26 | "start": [90, 10], 27 | "end": [96, 31] 28 | } 29 | }, 30 | "state_on": { 31 | "0": { 32 | "texture": "minosoft:textures/icons", 33 | "start": [96, 10], 34 | "end": [102, 31] 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/main/resources/assets/minosoft/rendering/shader/generic/color/color.fsh: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | #version 330 core 15 | 16 | in vec4 finTintColor; 17 | 18 | 19 | out vec4 foutColor; 20 | 21 | 22 | void main() { 23 | foutColor = finTintColor; 24 | } 25 | -------------------------------------------------------------------------------- /src/main/resources/assets/minosoft/rendering/shader/includes/skeletal/buffer.glsl: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2023 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | 15 | layout (std140) uniform uSkeletalBuffer 16 | { 17 | mat4 uSkeletalTransforms[TRANSFORMS]; 18 | }; 19 | -------------------------------------------------------------------------------- /src/main/resources/assets/minosoft/rendering/shader/includes/uv.glsl: -------------------------------------------------------------------------------- 1 | const vec2 CONST_UV[4] = vec2[]( 2 | vec2(+ 0.0f, + 0.0f), 3 | vec2(+ 0.0f, + 1.0f), 4 | vec2(+ 1.0f, + 1.0f), 5 | vec2(+ 1.0f, + 0.0f) 6 | ); 7 | -------------------------------------------------------------------------------- /src/main/resources/assets/minosoft/rendering/shader/sky/skybox/skybox.fsh: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program.If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | #version 330 core 15 | 16 | out vec4 foutColor; 17 | 18 | uniform vec4 uSkyColor; 19 | 20 | void main() { 21 | foutColor = uSkyColor; 22 | } 23 | -------------------------------------------------------------------------------- /src/main/resources/assets/minosoft/textures/debug.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bixilon/Minosoft/74e59142a188fea4bf1aeeccd185e0476cefa5b5/src/main/resources/assets/minosoft/textures/debug.png -------------------------------------------------------------------------------- /src/main/resources/assets/minosoft/textures/gui/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bixilon/Minosoft/74e59142a188fea4bf1aeeccd185e0476cefa5b5/src/main/resources/assets/minosoft/textures/gui/icons.png -------------------------------------------------------------------------------- /src/main/resources/assets/minosoft/textures/icons/window_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bixilon/Minosoft/74e59142a188fea4bf1aeeccd185e0476cefa5b5/src/main/resources/assets/minosoft/textures/icons/window_icon.png -------------------------------------------------------------------------------- /src/main/resources/assets/minosoft/textures/white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bixilon/Minosoft/74e59142a188fea4bf1aeeccd185e0476cefa5b5/src/main/resources/assets/minosoft/textures/white.png -------------------------------------------------------------------------------- /src/main/resources/assets/minosoft/updater/release.der: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bixilon/Minosoft/74e59142a188fea4bf1aeeccd185e0476cefa5b5/src/main/resources/assets/minosoft/updater/release.der -------------------------------------------------------------------------------- /src/main/resources/assets/mojang/yggdrasil/pubkey.der: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bixilon/Minosoft/74e59142a188fea4bf1aeeccd185e0476cefa5b5/src/main/resources/assets/mojang/yggdrasil/pubkey.der -------------------------------------------------------------------------------- /src/main/resources/assets_override/.assets: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bixilon/Minosoft/74e59142a188fea4bf1aeeccd185e0476cefa5b5/src/main/resources/assets_override/.assets -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/blockstates/acacia_wall_sign.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "facing=north": { 4 | "model": "block/sign/acacia/wall" 5 | }, 6 | "facing=east": { 7 | "model": "block/sign/acacia/wall", 8 | "y": 90 9 | }, 10 | "facing=south": { 11 | "model": "block/sign/acacia/wall", 12 | "y": 180 13 | }, 14 | "facing=west": { 15 | "model": "block/sign/acacia/wall", 16 | "y": 270 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/blockstates/bamboo_wall_sign.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "facing=north": { 4 | "model": "block/sign/bamboo/wall" 5 | }, 6 | "facing=east": { 7 | "model": "block/sign/bamboo/wall", 8 | "y": 90 9 | }, 10 | "facing=south": { 11 | "model": "block/sign/bamboo/wall", 12 | "y": 180 13 | }, 14 | "facing=west": { 15 | "model": "block/sign/bamboo/wall", 16 | "y": 270 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/blockstates/birch_wall_sign.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "facing=north": { 4 | "model": "block/sign/birch/wall" 5 | }, 6 | "facing=east": { 7 | "model": "block/sign/birch/wall", 8 | "y": 90 9 | }, 10 | "facing=south": { 11 | "model": "block/sign/birch/wall", 12 | "y": 180 13 | }, 14 | "facing=west": { 15 | "model": "block/sign/birch/wall", 16 | "y": 270 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/blockstates/black_bed.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "part=head,facing=north": { 4 | "model": "block/bed/black/head" 5 | }, 6 | "part=head,facing=east": { 7 | "model": "block/bed/black/head", 8 | "y": 90 9 | }, 10 | "part=head,facing=south": { 11 | "model": "block/bed/black/head", 12 | "y": 180 13 | }, 14 | "part=head,facing=west": { 15 | "model": "block/bed/black/head", 16 | "y": 270 17 | }, 18 | "part=foot,facing=north": { 19 | "model": "block/bed/black/foot" 20 | }, 21 | "part=foot,facing=east": { 22 | "model": "block/bed/black/foot", 23 | "y": 90 24 | }, 25 | "part=foot,facing=south": { 26 | "model": "block/bed/black/foot", 27 | "y": 180 28 | }, 29 | "part=foot,facing=west": { 30 | "model": "block/bed/black/foot", 31 | "y": 270 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/blockstates/blue_bed.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "part=head,facing=north": { 4 | "model": "block/bed/blue/head" 5 | }, 6 | "part=head,facing=east": { 7 | "model": "block/bed/blue/head", 8 | "y": 90 9 | }, 10 | "part=head,facing=south": { 11 | "model": "block/bed/blue/head", 12 | "y": 180 13 | }, 14 | "part=head,facing=west": { 15 | "model": "block/bed/blue/head", 16 | "y": 270 17 | }, 18 | "part=foot,facing=north": { 19 | "model": "block/bed/blue/foot" 20 | }, 21 | "part=foot,facing=east": { 22 | "model": "block/bed/blue/foot", 23 | "y": 90 24 | }, 25 | "part=foot,facing=south": { 26 | "model": "block/bed/blue/foot", 27 | "y": 180 28 | }, 29 | "part=foot,facing=west": { 30 | "model": "block/bed/blue/foot", 31 | "y": 270 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/blockstates/brown_bed.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "part=head,facing=north": { 4 | "model": "block/bed/brown/head" 5 | }, 6 | "part=head,facing=east": { 7 | "model": "block/bed/brown/head", 8 | "y": 90 9 | }, 10 | "part=head,facing=south": { 11 | "model": "block/bed/brown/head", 12 | "y": 180 13 | }, 14 | "part=head,facing=west": { 15 | "model": "block/bed/brown/head", 16 | "y": 270 17 | }, 18 | "part=foot,facing=north": { 19 | "model": "block/bed/brown/foot" 20 | }, 21 | "part=foot,facing=east": { 22 | "model": "block/bed/brown/foot", 23 | "y": 90 24 | }, 25 | "part=foot,facing=south": { 26 | "model": "block/bed/brown/foot", 27 | "y": 180 28 | }, 29 | "part=foot,facing=west": { 30 | "model": "block/bed/brown/foot", 31 | "y": 270 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/blockstates/crimson_wall_sign.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "facing=north": { 4 | "model": "block/sign/crimson/wall" 5 | }, 6 | "facing=east": { 7 | "model": "block/sign/crimson/wall", 8 | "y": 90 9 | }, 10 | "facing=south": { 11 | "model": "block/sign/crimson/wall", 12 | "y": 180 13 | }, 14 | "facing=west": { 15 | "model": "block/sign/crimson/wall", 16 | "y": 270 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/blockstates/cyan_bed.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "part=head,facing=north": { 4 | "model": "block/bed/cyan/head" 5 | }, 6 | "part=head,facing=east": { 7 | "model": "block/bed/cyan/head", 8 | "y": 90 9 | }, 10 | "part=head,facing=south": { 11 | "model": "block/bed/cyan/head", 12 | "y": 180 13 | }, 14 | "part=head,facing=west": { 15 | "model": "block/bed/cyan/head", 16 | "y": 270 17 | }, 18 | "part=foot,facing=north": { 19 | "model": "block/bed/cyan/foot" 20 | }, 21 | "part=foot,facing=east": { 22 | "model": "block/bed/cyan/foot", 23 | "y": 90 24 | }, 25 | "part=foot,facing=south": { 26 | "model": "block/bed/cyan/foot", 27 | "y": 180 28 | }, 29 | "part=foot,facing=west": { 30 | "model": "block/bed/cyan/foot", 31 | "y": 270 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/blockstates/dark_oak_wall_sign.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "facing=north": { 4 | "model": "block/sign/dark_oak/wall" 5 | }, 6 | "facing=east": { 7 | "model": "block/sign/dark_oak/wall", 8 | "y": 90 9 | }, 10 | "facing=south": { 11 | "model": "block/sign/dark_oak/wall", 12 | "y": 180 13 | }, 14 | "facing=west": { 15 | "model": "block/sign/dark_oak/wall", 16 | "y": 270 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/blockstates/gray_bed.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "part=head,facing=north": { 4 | "model": "block/bed/gray/head" 5 | }, 6 | "part=head,facing=east": { 7 | "model": "block/bed/gray/head", 8 | "y": 90 9 | }, 10 | "part=head,facing=south": { 11 | "model": "block/bed/gray/head", 12 | "y": 180 13 | }, 14 | "part=head,facing=west": { 15 | "model": "block/bed/gray/head", 16 | "y": 270 17 | }, 18 | "part=foot,facing=north": { 19 | "model": "block/bed/gray/foot" 20 | }, 21 | "part=foot,facing=east": { 22 | "model": "block/bed/gray/foot", 23 | "y": 90 24 | }, 25 | "part=foot,facing=south": { 26 | "model": "block/bed/gray/foot", 27 | "y": 180 28 | }, 29 | "part=foot,facing=west": { 30 | "model": "block/bed/gray/foot", 31 | "y": 270 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/blockstates/green_bed.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "part=head,facing=north": { 4 | "model": "block/bed/green/head" 5 | }, 6 | "part=head,facing=east": { 7 | "model": "block/bed/green/head", 8 | "y": 90 9 | }, 10 | "part=head,facing=south": { 11 | "model": "block/bed/green/head", 12 | "y": 180 13 | }, 14 | "part=head,facing=west": { 15 | "model": "block/bed/green/head", 16 | "y": 270 17 | }, 18 | "part=foot,facing=north": { 19 | "model": "block/bed/green/foot" 20 | }, 21 | "part=foot,facing=east": { 22 | "model": "block/bed/green/foot", 23 | "y": 90 24 | }, 25 | "part=foot,facing=south": { 26 | "model": "block/bed/green/foot", 27 | "y": 180 28 | }, 29 | "part=foot,facing=west": { 30 | "model": "block/bed/green/foot", 31 | "y": 270 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/blockstates/jungle_wall_sign.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "facing=north": { 4 | "model": "block/sign/jungle/wall" 5 | }, 6 | "facing=east": { 7 | "model": "block/sign/jungle/wall", 8 | "y": 90 9 | }, 10 | "facing=south": { 11 | "model": "block/sign/jungle/wall", 12 | "y": 180 13 | }, 14 | "facing=west": { 15 | "model": "block/sign/jungle/wall", 16 | "y": 270 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/blockstates/light_blue_bed.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "part=head,facing=north": { 4 | "model": "block/bed/light_blue/head" 5 | }, 6 | "part=head,facing=east": { 7 | "model": "block/bed/light_blue/head", 8 | "y": 90 9 | }, 10 | "part=head,facing=south": { 11 | "model": "block/bed/light_blue/head", 12 | "y": 180 13 | }, 14 | "part=head,facing=west": { 15 | "model": "block/bed/light_blue/head", 16 | "y": 270 17 | }, 18 | "part=foot,facing=north": { 19 | "model": "block/bed/light_blue/foot" 20 | }, 21 | "part=foot,facing=east": { 22 | "model": "block/bed/light_blue/foot", 23 | "y": 90 24 | }, 25 | "part=foot,facing=south": { 26 | "model": "block/bed/light_blue/foot", 27 | "y": 180 28 | }, 29 | "part=foot,facing=west": { 30 | "model": "block/bed/light_blue/foot", 31 | "y": 270 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/blockstates/light_gray_bed.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "part=head,facing=north": { 4 | "model": "block/bed/light_gray/head" 5 | }, 6 | "part=head,facing=east": { 7 | "model": "block/bed/light_gray/head", 8 | "y": 90 9 | }, 10 | "part=head,facing=south": { 11 | "model": "block/bed/light_gray/head", 12 | "y": 180 13 | }, 14 | "part=head,facing=west": { 15 | "model": "block/bed/light_gray/head", 16 | "y": 270 17 | }, 18 | "part=foot,facing=north": { 19 | "model": "block/bed/light_gray/foot" 20 | }, 21 | "part=foot,facing=east": { 22 | "model": "block/bed/light_gray/foot", 23 | "y": 90 24 | }, 25 | "part=foot,facing=south": { 26 | "model": "block/bed/light_gray/foot", 27 | "y": 180 28 | }, 29 | "part=foot,facing=west": { 30 | "model": "block/bed/light_gray/foot", 31 | "y": 270 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/blockstates/lime_bed.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "part=head,facing=north": { 4 | "model": "block/bed/lime/head" 5 | }, 6 | "part=head,facing=east": { 7 | "model": "block/bed/lime/head", 8 | "y": 90 9 | }, 10 | "part=head,facing=south": { 11 | "model": "block/bed/lime/head", 12 | "y": 180 13 | }, 14 | "part=head,facing=west": { 15 | "model": "block/bed/lime/head", 16 | "y": 270 17 | }, 18 | "part=foot,facing=north": { 19 | "model": "block/bed/lime/foot" 20 | }, 21 | "part=foot,facing=east": { 22 | "model": "block/bed/lime/foot", 23 | "y": 90 24 | }, 25 | "part=foot,facing=south": { 26 | "model": "block/bed/lime/foot", 27 | "y": 180 28 | }, 29 | "part=foot,facing=west": { 30 | "model": "block/bed/lime/foot", 31 | "y": 270 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/blockstates/magenta_bed.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "part=head,facing=north": { 4 | "model": "block/bed/magenta/head" 5 | }, 6 | "part=head,facing=east": { 7 | "model": "block/bed/magenta/head", 8 | "y": 90 9 | }, 10 | "part=head,facing=south": { 11 | "model": "block/bed/magenta/head", 12 | "y": 180 13 | }, 14 | "part=head,facing=west": { 15 | "model": "block/bed/magenta/head", 16 | "y": 270 17 | }, 18 | "part=foot,facing=north": { 19 | "model": "block/bed/magenta/foot" 20 | }, 21 | "part=foot,facing=east": { 22 | "model": "block/bed/magenta/foot", 23 | "y": 90 24 | }, 25 | "part=foot,facing=south": { 26 | "model": "block/bed/magenta/foot", 27 | "y": 180 28 | }, 29 | "part=foot,facing=west": { 30 | "model": "block/bed/magenta/foot", 31 | "y": 270 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/blockstates/mangrove_wall_sign.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "facing=north": { 4 | "model": "block/sign/mangrove/wall" 5 | }, 6 | "facing=east": { 7 | "model": "block/sign/mangrove/wall", 8 | "y": 90 9 | }, 10 | "facing=south": { 11 | "model": "block/sign/mangrove/wall", 12 | "y": 180 13 | }, 14 | "facing=west": { 15 | "model": "block/sign/mangrove/wall", 16 | "y": 270 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/blockstates/oak_wall_sign.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "facing=north": { 4 | "model": "block/sign/oak/wall" 5 | }, 6 | "facing=east": { 7 | "model": "block/sign/oak/wall", 8 | "y": 90 9 | }, 10 | "facing=south": { 11 | "model": "block/sign/oak/wall", 12 | "y": 180 13 | }, 14 | "facing=west": { 15 | "model": "block/sign/oak/wall", 16 | "y": 270 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/blockstates/orange_bed.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "part=head,facing=north": { 4 | "model": "block/bed/orange/head" 5 | }, 6 | "part=head,facing=east": { 7 | "model": "block/bed/orange/head", 8 | "y": 90 9 | }, 10 | "part=head,facing=south": { 11 | "model": "block/bed/orange/head", 12 | "y": 180 13 | }, 14 | "part=head,facing=west": { 15 | "model": "block/bed/orange/head", 16 | "y": 270 17 | }, 18 | "part=foot,facing=north": { 19 | "model": "block/bed/orange/foot" 20 | }, 21 | "part=foot,facing=east": { 22 | "model": "block/bed/orange/foot", 23 | "y": 90 24 | }, 25 | "part=foot,facing=south": { 26 | "model": "block/bed/orange/foot", 27 | "y": 180 28 | }, 29 | "part=foot,facing=west": { 30 | "model": "block/bed/orange/foot", 31 | "y": 270 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/blockstates/pink_bed.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "part=head,facing=north": { 4 | "model": "block/bed/pink/head" 5 | }, 6 | "part=head,facing=east": { 7 | "model": "block/bed/pink/head", 8 | "y": 90 9 | }, 10 | "part=head,facing=south": { 11 | "model": "block/bed/pink/head", 12 | "y": 180 13 | }, 14 | "part=head,facing=west": { 15 | "model": "block/bed/pink/head", 16 | "y": 270 17 | }, 18 | "part=foot,facing=north": { 19 | "model": "block/bed/pink/foot" 20 | }, 21 | "part=foot,facing=east": { 22 | "model": "block/bed/pink/foot", 23 | "y": 90 24 | }, 25 | "part=foot,facing=south": { 26 | "model": "block/bed/pink/foot", 27 | "y": 180 28 | }, 29 | "part=foot,facing=west": { 30 | "model": "block/bed/pink/foot", 31 | "y": 270 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/blockstates/purple_bed.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "part=head,facing=north": { 4 | "model": "block/bed/purple/head" 5 | }, 6 | "part=head,facing=east": { 7 | "model": "block/bed/purple/head", 8 | "y": 90 9 | }, 10 | "part=head,facing=south": { 11 | "model": "block/bed/purple/head", 12 | "y": 180 13 | }, 14 | "part=head,facing=west": { 15 | "model": "block/bed/purple/head", 16 | "y": 270 17 | }, 18 | "part=foot,facing=north": { 19 | "model": "block/bed/purple/foot" 20 | }, 21 | "part=foot,facing=east": { 22 | "model": "block/bed/purple/foot", 23 | "y": 90 24 | }, 25 | "part=foot,facing=south": { 26 | "model": "block/bed/purple/foot", 27 | "y": 180 28 | }, 29 | "part=foot,facing=west": { 30 | "model": "block/bed/purple/foot", 31 | "y": 270 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/blockstates/red_bed.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "part=head,facing=north": { 4 | "model": "block/bed/red/head" 5 | }, 6 | "part=head,facing=east": { 7 | "model": "block/bed/red/head", 8 | "y": 90 9 | }, 10 | "part=head,facing=south": { 11 | "model": "block/bed/red/head", 12 | "y": 180 13 | }, 14 | "part=head,facing=west": { 15 | "model": "block/bed/red/head", 16 | "y": 270 17 | }, 18 | "part=foot,facing=north": { 19 | "model": "block/bed/red/foot" 20 | }, 21 | "part=foot,facing=east": { 22 | "model": "block/bed/red/foot", 23 | "y": 90 24 | }, 25 | "part=foot,facing=south": { 26 | "model": "block/bed/red/foot", 27 | "y": 180 28 | }, 29 | "part=foot,facing=west": { 30 | "model": "block/bed/red/foot", 31 | "y": 270 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/blockstates/spruce_wall_sign.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "facing=north": { 4 | "model": "block/sign/spruce/wall" 5 | }, 6 | "facing=east": { 7 | "model": "block/sign/spruce/wall", 8 | "y": 90 9 | }, 10 | "facing=south": { 11 | "model": "block/sign/spruce/wall", 12 | "y": 180 13 | }, 14 | "facing=west": { 15 | "model": "block/sign/spruce/wall", 16 | "y": 270 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/blockstates/warped_wall_sign.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "facing=north": { 4 | "model": "block/sign/warped/wall" 5 | }, 6 | "facing=east": { 7 | "model": "block/sign/warped/wall", 8 | "y": 90 9 | }, 10 | "facing=south": { 11 | "model": "block/sign/warped/wall", 12 | "y": 180 13 | }, 14 | "facing=west": { 15 | "model": "block/sign/warped/wall", 16 | "y": 270 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/blockstates/white_bed.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "part=head,facing=north": { 4 | "model": "block/bed/white/head" 5 | }, 6 | "part=head,facing=east": { 7 | "model": "block/bed/white/head", 8 | "y": 90 9 | }, 10 | "part=head,facing=south": { 11 | "model": "block/bed/white/head", 12 | "y": 180 13 | }, 14 | "part=head,facing=west": { 15 | "model": "block/bed/white/head", 16 | "y": 270 17 | }, 18 | "part=foot,facing=north": { 19 | "model": "block/bed/white/foot" 20 | }, 21 | "part=foot,facing=east": { 22 | "model": "block/bed/white/foot", 23 | "y": 90 24 | }, 25 | "part=foot,facing=south": { 26 | "model": "block/bed/white/foot", 27 | "y": 180 28 | }, 29 | "part=foot,facing=west": { 30 | "model": "block/bed/white/foot", 31 | "y": 270 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/blockstates/yellow_bed.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "part=head,facing=north": { 4 | "model": "block/bed/yellow/head" 5 | }, 6 | "part=head,facing=east": { 7 | "model": "block/bed/yellow/head", 8 | "y": 90 9 | }, 10 | "part=head,facing=south": { 11 | "model": "block/bed/yellow/head", 12 | "y": 180 13 | }, 14 | "part=head,facing=west": { 15 | "model": "block/bed/yellow/head", 16 | "y": 270 17 | }, 18 | "part=foot,facing=north": { 19 | "model": "block/bed/yellow/foot" 20 | }, 21 | "part=foot,facing=east": { 22 | "model": "block/bed/yellow/foot", 23 | "y": 90 24 | }, 25 | "part=foot,facing=south": { 26 | "model": "block/bed/yellow/foot", 27 | "y": 180 28 | }, 29 | "part=foot,facing=west": { 30 | "model": "block/bed/yellow/foot", 31 | "y": 270 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/bed/black/foot.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/bed/template/foot", 3 | "textures": { 4 | "bed": "minecraft:entity/bed/black" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/bed/black/head.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/bed/template/head", 3 | "textures": { 4 | "bed": "minecraft:entity/bed/black" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/bed/blue/foot.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/bed/template/foot", 3 | "textures": { 4 | "bed": "minecraft:entity/bed/blue" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/bed/blue/head.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/bed/template/head", 3 | "textures": { 4 | "bed": "minecraft:entity/bed/blue" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/bed/brown/foot.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/bed/template/foot", 3 | "textures": { 4 | "bed": "minecraft:entity/bed/brown" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/bed/brown/head.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/bed/template/head", 3 | "textures": { 4 | "bed": "minecraft:entity/bed/brown" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/bed/cyan/foot.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/bed/template/foot", 3 | "textures": { 4 | "bed": "minecraft:entity/bed/cyan" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/bed/cyan/head.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/bed/template/head", 3 | "textures": { 4 | "bed": "minecraft:entity/bed/cyan" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/bed/gray/foot.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/bed/template/foot", 3 | "textures": { 4 | "bed": "minecraft:entity/bed/gray" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/bed/gray/head.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/bed/template/head", 3 | "textures": { 4 | "bed": "minecraft:entity/bed/gray" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/bed/green/foot.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/bed/template/foot", 3 | "textures": { 4 | "bed": "minecraft:entity/bed/green" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/bed/green/head.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/bed/template/head", 3 | "textures": { 4 | "bed": "minecraft:entity/bed/green" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/bed/light_blue/foot.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/bed/template/foot", 3 | "textures": { 4 | "bed": "minecraft:entity/bed/light_blue" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/bed/light_blue/head.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/bed/template/head", 3 | "textures": { 4 | "bed": "minecraft:entity/bed/light_blue" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/bed/light_gray/foot.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/bed/template/foot", 3 | "textures": { 4 | "bed": "minecraft:entity/bed/light_gray" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/bed/light_gray/head.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/bed/template/head", 3 | "textures": { 4 | "bed": "minecraft:entity/bed/light_gray" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/bed/lime/foot.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/bed/template/foot", 3 | "textures": { 4 | "bed": "minecraft:entity/bed/lime" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/bed/lime/head.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/bed/template/head", 3 | "textures": { 4 | "bed": "minecraft:entity/bed/lime" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/bed/magenta/foot.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/bed/template/foot", 3 | "textures": { 4 | "bed": "minecraft:entity/bed/magenta" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/bed/magenta/head.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/bed/template/head", 3 | "textures": { 4 | "bed": "minecraft:entity/bed/magenta" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/bed/orange/foot.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/bed/template/foot", 3 | "textures": { 4 | "bed": "minecraft:entity/bed/orange" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/bed/orange/head.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/bed/template/head", 3 | "textures": { 4 | "bed": "minecraft:entity/bed/orange" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/bed/pink/foot.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/bed/template/foot", 3 | "textures": { 4 | "bed": "minecraft:entity/bed/pink" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/bed/pink/head.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/bed/template/head", 3 | "textures": { 4 | "bed": "minecraft:entity/bed/pink" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/bed/purple/foot.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/bed/template/foot", 3 | "textures": { 4 | "bed": "minecraft:entity/bed/purple" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/bed/purple/head.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/bed/template/head", 3 | "textures": { 4 | "bed": "minecraft:entity/bed/purple" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/bed/red/foot.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/bed/template/foot", 3 | "textures": { 4 | "bed": "minecraft:entity/bed/red" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/bed/red/head.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/bed/template/head", 3 | "textures": { 4 | "bed": "minecraft:entity/bed/red" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/bed/template/bed.json: -------------------------------------------------------------------------------- 1 | { 2 | "textures": { 3 | "particle": "minecraft:block/oak_planks" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/bed/white/foot.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/bed/template/foot", 3 | "textures": { 4 | "bed": "minecraft:entity/bed/white" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/bed/white/head.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/bed/template/head", 3 | "textures": { 4 | "bed": "minecraft:entity/bed/white" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/bed/yellow/foot.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/bed/template/foot", 3 | "textures": { 4 | "bed": "minecraft:entity/bed/yellow" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/bed/yellow/head.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/bed/template/head", 3 | "textures": { 4 | "bed": "minecraft:entity/bed/yellow" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/sign/acacia/standing.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/sign/template/standing", 3 | "textures": { 4 | "particle": "minecraft:block/acacia_planks", 5 | "sign": "minecraft:entity/signs/acacia" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/sign/acacia/wall.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/sign/template/wall", 3 | "textures": { 4 | "particle": "minecraft:block/acacia_planks", 5 | "sign": "minecraft:entity/signs/acacia" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/sign/bamboo/standing.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/sign/template/standing", 3 | "textures": { 4 | "particle": "minecraft:block/bamboo_block", 5 | "sign": "minecraft:entity/signs/bamboo" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/sign/bamboo/wall.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/sign/template/wall", 3 | "textures": { 4 | "particle": "minecraft:block/bamboo_block", 5 | "sign": "minecraft:entity/signs/bamboo" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/sign/birch/standing.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/sign/template/standing", 3 | "textures": { 4 | "particle": "minecraft:block/birch_planks", 5 | "sign": "minecraft:entity/signs/birch" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/sign/birch/wall.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/sign/template/wall", 3 | "textures": { 4 | "particle": "minecraft:block/birch_planks", 5 | "sign": "minecraft:entity/signs/birch" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/sign/cherry/standing.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/sign/template/standing", 3 | "textures": { 4 | "particle": "minecraft:block/cherry_planks", 5 | "sign": "minecraft:entity/signs/cherry" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/sign/cherry/wall.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/sign/template/wall", 3 | "textures": { 4 | "particle": "minecraft:block/cherry_planks", 5 | "sign": "minecraft:entity/signs/cherry" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/sign/crimson/standing.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/sign/template/standing", 3 | "textures": { 4 | "particle": "minecraft:block/crimson_planks", 5 | "sign": "minecraft:entity/signs/crimson" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/sign/crimson/wall.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/sign/template/wall", 3 | "textures": { 4 | "particle": "minecraft:block/crimson_planks", 5 | "sign": "minecraft:entity/signs/crimson" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/sign/dark_oak/standing.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/sign/template/standing", 3 | "textures": { 4 | "particle": "minecraft:block/dark_oak_planks", 5 | "sign": "minecraft:entity/signs/dark_oak" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/sign/dark_oak/wall.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/sign/template/wall", 3 | "textures": { 4 | "particle": "minecraft:block/dark_oak_planks", 5 | "sign": "minecraft:entity/signs/dark_oak" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/sign/jungle/standing.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/sign/template/standing", 3 | "textures": { 4 | "particle": "minecraft:block/jungle_planks", 5 | "sign": "minecraft:entity/signs/jungle" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/sign/jungle/wall.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/sign/template/wall", 3 | "textures": { 4 | "particle": "minecraft:block/jungle_planks", 5 | "sign": "minecraft:entity/signs/jungle" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/sign/mangrove/standing.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/sign/template/standing", 3 | "textures": { 4 | "particle": "minecraft:block/mangrove_planks", 5 | "sign": "minecraft:entity/signs/mangrove" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/sign/mangrove/wall.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/sign/template/wall", 3 | "textures": { 4 | "particle": "minecraft:block/mangrove_planks", 5 | "sign": "minecraft:entity/signs/mangrove" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/sign/oak/standing.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/sign/template/standing", 3 | "textures": { 4 | "particle": "minecraft:block/oak_planks", 5 | "sign": "minecraft:entity/signs/oak" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/sign/oak/wall.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/sign/template/wall", 3 | "textures": { 4 | "particle": "minecraft:block/oak_planks", 5 | "sign": "minecraft:entity/signs/oak" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/sign/spruce/standing.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/sign/template/standing", 3 | "textures": { 4 | "particle": "minecraft:block/spruce_planks", 5 | "sign": "minecraft:entity/signs/spruce" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/sign/spruce/wall.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/sign/template/wall", 3 | "textures": { 4 | "particle": "minecraft:block/spruce_planks", 5 | "sign": "minecraft:entity/signs/spruce" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/sign/template/wall.json: -------------------------------------------------------------------------------- 1 | { 2 | "elements": [ 3 | { 4 | "from": [0, 4.5, 14], 5 | "to": [16, 12.5, 16], 6 | "faces": { 7 | "down": { 8 | "uv": [0.5, 0, 4.5, 1], 9 | "texture": "#sign" 10 | }, 11 | "up": { 12 | "uv": [4.5, 0, 8.5, 1], 13 | "rotation": 180, 14 | "texture": "#sign" 15 | }, 16 | "east": { 17 | "uv": [0.0, 1, 0.5, 7], 18 | "texture": "#sign", 19 | "cullface": "east" 20 | }, 21 | "north": { 22 | "uv": [0.5, 1, 6.5, 7], 23 | "texture": "#sign", 24 | "cullface": "north" 25 | }, 26 | "west": { 27 | "uv": [6.5, 1, 7.0, 7], 28 | "texture": "#sign", 29 | "cullface": "west" 30 | }, 31 | "south": { 32 | "uv": [7.0, 1, 13.0, 7], 33 | "texture": "#sign", 34 | "cullface": "south" 35 | } 36 | } 37 | } 38 | ] 39 | } 40 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/sign/warped/standing.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/sign/template/standing", 3 | "textures": { 4 | "particle": "minecraft:block/warped_planks", 5 | "sign": "minecraft:entity/signs/warped" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/assets_override/minecraft/models/block/sign/warped/wall.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/sign/template/wall", 3 | "textures": { 4 | "particle": "minecraft:block/warped_planks", 5 | "sign": "minecraft:entity/signs/warped" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/test/java/de/bixilon/minosoft/util/KUtilTest.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Minosoft 3 | * Copyright (C) 2020-2023 Moritz Zwerger 4 | * 5 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 | * 7 | * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | * You should have received a copy of the GNU General Public License along with this program. If not, see . 10 | * 11 | * This software is not affiliated with Mojang AB, the original developer of Minecraft. 12 | */ 13 | 14 | package de.bixilon.minosoft.util 15 | 16 | 17 | class KUtilTest 18 | -------------------------------------------------------------------------------- /util/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | --------------------------------------------------------------------------------