├── .editorconfig ├── .github ├── FUNDING.yml ├── ISSUE_TEMPLATE │ ├── bug.yml │ ├── config.yml │ ├── crash.yml │ └── suggestion.yml ├── builds │ ├── get_number.js │ ├── index.js │ ├── mc_version.js │ ├── package-lock.json │ └── package.json ├── pull_request_template.md └── workflows │ ├── build.yml │ ├── issue-moderator.yml │ └── pull-request.yml ├── .gitignore ├── .idea ├── copyright │ ├── Meteor.xml │ └── profiles_settings.xml └── scopes │ └── Meteor_Copyright_Notice.xml ├── LICENSE ├── README.md ├── build.gradle.kts ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── launch ├── build.gradle.kts └── src │ └── main │ └── java │ └── meteordevelopment │ └── meteorclient │ └── Main.java ├── settings.gradle.kts └── src └── main ├── java └── meteordevelopment │ └── meteorclient │ ├── MeteorClient.java │ ├── MixinPlugin.java │ ├── ModMenuIntegration.java │ ├── addons │ ├── AddonManager.java │ ├── GithubRepo.java │ └── MeteorAddon.java │ ├── asm │ ├── Asm.java │ ├── AsmTransformer.java │ ├── Descriptor.java │ ├── FieldInfo.java │ ├── MethodInfo.java │ └── transformers │ │ └── PacketInflaterTransformer.java │ ├── commands │ ├── Command.java │ ├── Commands.java │ ├── arguments │ │ ├── ComponentMapArgumentType.java │ │ ├── CompoundNbtTagArgumentType.java │ │ ├── DirectionArgumentType.java │ │ ├── FakePlayerArgumentType.java │ │ ├── FriendArgumentType.java │ │ ├── MacroArgumentType.java │ │ ├── ModuleArgumentType.java │ │ ├── NotebotSongArgumentType.java │ │ ├── PlayerArgumentType.java │ │ ├── PlayerListEntryArgumentType.java │ │ ├── ProfileArgumentType.java │ │ ├── RegistryEntryReferenceArgumentType.java │ │ ├── SettingArgumentType.java │ │ ├── SettingValueArgumentType.java │ │ └── WaypointArgumentType.java │ └── commands │ │ ├── BindCommand.java │ │ ├── BindsCommand.java │ │ ├── CommandsCommand.java │ │ ├── DamageCommand.java │ │ ├── DisconnectCommand.java │ │ ├── DismountCommand.java │ │ ├── DropCommand.java │ │ ├── EnchantCommand.java │ │ ├── EnderChestCommand.java │ │ ├── FakePlayerCommand.java │ │ ├── FovCommand.java │ │ ├── FriendsCommand.java │ │ ├── GamemodeCommand.java │ │ ├── GiveCommand.java │ │ ├── HClipCommand.java │ │ ├── InputCommand.java │ │ ├── InventoryCommand.java │ │ ├── LocateCommand.java │ │ ├── MacroCommand.java │ │ ├── ModulesCommand.java │ │ ├── NameHistoryCommand.java │ │ ├── NbtCommand.java │ │ ├── NotebotCommand.java │ │ ├── PeekCommand.java │ │ ├── ProfilesCommand.java │ │ ├── ReloadCommand.java │ │ ├── ResetCommand.java │ │ ├── RotationCommand.java │ │ ├── SaveMapCommand.java │ │ ├── SayCommand.java │ │ ├── ServerCommand.java │ │ ├── SettingCommand.java │ │ ├── SpectateCommand.java │ │ ├── SwarmCommand.java │ │ ├── ToggleCommand.java │ │ ├── VClipCommand.java │ │ ├── WaspCommand.java │ │ └── WaypointCommand.java │ ├── events │ ├── Cancellable.java │ ├── entity │ │ ├── BoatMoveEvent.java │ │ ├── DropItemsEvent.java │ │ ├── EntityAddedEvent.java │ │ ├── EntityDestroyEvent.java │ │ ├── EntityRemovedEvent.java │ │ ├── LivingEntityMoveEvent.java │ │ └── player │ │ │ ├── AttackEntityEvent.java │ │ │ ├── BlockBreakingCooldownEvent.java │ │ │ ├── BreakBlockEvent.java │ │ │ ├── CanWalkOnFluidEvent.java │ │ │ ├── ClipAtLedgeEvent.java │ │ │ ├── FinishUsingItemEvent.java │ │ │ ├── InteractBlockEvent.java │ │ │ ├── InteractEntityEvent.java │ │ │ ├── InteractItemEvent.java │ │ │ ├── ItemUseCrosshairTargetEvent.java │ │ │ ├── JumpVelocityMultiplierEvent.java │ │ │ ├── PickItemsEvent.java │ │ │ ├── PlaceBlockEvent.java │ │ │ ├── PlayerMoveEvent.java │ │ │ ├── PlayerTickMovementEvent.java │ │ │ ├── SendMovementPacketsEvent.java │ │ │ ├── StartBreakingBlockEvent.java │ │ │ └── StoppedUsingItemEvent.java │ ├── game │ │ ├── ChangePerspectiveEvent.java │ │ ├── GameJoinedEvent.java │ │ ├── GameLeftEvent.java │ │ ├── ItemStackTooltipEvent.java │ │ ├── OpenScreenEvent.java │ │ ├── ReceiveMessageEvent.java │ │ ├── ResolutionChangedEvent.java │ │ ├── ResourcePacksReloadedEvent.java │ │ └── SendMessageEvent.java │ ├── meteor │ │ ├── ActiveModulesChangedEvent.java │ │ ├── CharTypedEvent.java │ │ ├── CustomFontChangedEvent.java │ │ ├── KeyEvent.java │ │ ├── ModuleBindChangedEvent.java │ │ ├── MouseButtonEvent.java │ │ └── MouseScrollEvent.java │ ├── packets │ │ ├── ContainerSlotUpdateEvent.java │ │ ├── InventoryEvent.java │ │ ├── PacketEvent.java │ │ └── PlaySoundPacketEvent.java │ ├── render │ │ ├── ApplyTransformationEvent.java │ │ ├── ArmRenderEvent.java │ │ ├── GetFovEvent.java │ │ ├── HeldItemRendererEvent.java │ │ ├── Render2DEvent.java │ │ ├── Render3DEvent.java │ │ ├── RenderAfterWorldEvent.java │ │ ├── RenderBlockEntityEvent.java │ │ ├── RenderBossBarEvent.java │ │ ├── RenderItemEntityEvent.java │ │ └── TooltipDataEvent.java │ └── world │ │ ├── AmbientOcclusionEvent.java │ │ ├── BlockActivateEvent.java │ │ ├── BlockUpdateEvent.java │ │ ├── ChunkDataEvent.java │ │ ├── ChunkOcclusionEvent.java │ │ ├── CollisionShapeEvent.java │ │ ├── ParticleEvent.java │ │ ├── PlaySoundEvent.java │ │ ├── ServerConnectBeginEvent.java │ │ ├── ServerConnectEndEvent.java │ │ └── TickEvent.java │ ├── gui │ ├── DefaultSettingsWidgetFactory.java │ ├── GuiKeyEvents.java │ ├── GuiTheme.java │ ├── GuiThemes.java │ ├── WidgetScreen.java │ ├── WindowScreen.java │ ├── renderer │ │ ├── GuiDebugRenderer.java │ │ ├── GuiRenderOperation.java │ │ ├── GuiRenderer.java │ │ ├── Scissor.java │ │ ├── operations │ │ │ └── TextOperation.java │ │ └── packer │ │ │ ├── GuiTexture.java │ │ │ ├── TexturePacker.java │ │ │ └── TextureRegion.java │ ├── screens │ │ ├── CommitsScreen.java │ │ ├── EditBookTitleAndAuthorScreen.java │ │ ├── EditSystemScreen.java │ │ ├── MarkerScreen.java │ │ ├── ModuleScreen.java │ │ ├── ModulesScreen.java │ │ ├── NotebotSongsScreen.java │ │ ├── ProxiesImportScreen.java │ │ ├── ProxiesScreen.java │ │ ├── accounts │ │ │ ├── AccountInfoScreen.java │ │ │ ├── AccountsScreen.java │ │ │ ├── AddAccountScreen.java │ │ │ ├── AddAlteningAccountScreen.java │ │ │ ├── AddCrackedAccountScreen.java │ │ │ └── AddMicrosoftAccountScreen.java │ │ └── settings │ │ │ ├── BlockDataSettingScreen.java │ │ │ ├── BlockListSettingScreen.java │ │ │ ├── BlockSettingScreen.java │ │ │ ├── CollectionListSettingScreen.java │ │ │ ├── ColorSettingScreen.java │ │ │ ├── DynamicRegistryListSettingScreen.java │ │ │ ├── EnchantmentListSettingScreen.java │ │ │ ├── EntityTypeListSettingScreen.java │ │ │ ├── FontFaceSettingScreen.java │ │ │ ├── ItemListSettingScreen.java │ │ │ ├── ItemSettingScreen.java │ │ │ ├── ModuleListSettingScreen.java │ │ │ ├── PacketBoolSettingScreen.java │ │ │ ├── ParticleTypeListSettingScreen.java │ │ │ ├── PotionSettingScreen.java │ │ │ ├── ScreenHandlerSettingScreen.java │ │ │ ├── SoundEventListSettingScreen.java │ │ │ ├── StatusEffectAmplifierMapSettingScreen.java │ │ │ ├── StatusEffectListSettingScreen.java │ │ │ └── StorageBlockListSettingScreen.java │ ├── tabs │ │ ├── Tab.java │ │ ├── TabScreen.java │ │ ├── Tabs.java │ │ ├── WindowTabScreen.java │ │ └── builtin │ │ │ ├── ConfigTab.java │ │ │ ├── FriendsTab.java │ │ │ ├── GuiTab.java │ │ │ ├── HudTab.java │ │ │ ├── MacrosTab.java │ │ │ ├── ModulesTab.java │ │ │ ├── PathManagerTab.java │ │ │ └── ProfilesTab.java │ ├── themes │ │ └── meteor │ │ │ ├── MeteorGuiTheme.java │ │ │ ├── MeteorWidget.java │ │ │ └── widgets │ │ │ ├── WMeteorAccount.java │ │ │ ├── WMeteorHorizontalSeparator.java │ │ │ ├── WMeteorLabel.java │ │ │ ├── WMeteorModule.java │ │ │ ├── WMeteorMultiLabel.java │ │ │ ├── WMeteorQuad.java │ │ │ ├── WMeteorSection.java │ │ │ ├── WMeteorTooltip.java │ │ │ ├── WMeteorTopBar.java │ │ │ ├── WMeteorVerticalSeparator.java │ │ │ ├── WMeteorView.java │ │ │ ├── WMeteorWindow.java │ │ │ ├── input │ │ │ ├── WMeteorDropdown.java │ │ │ ├── WMeteorSlider.java │ │ │ └── WMeteorTextBox.java │ │ │ └── pressable │ │ │ ├── WMeteorButton.java │ │ │ ├── WMeteorCheckbox.java │ │ │ ├── WMeteorFavorite.java │ │ │ ├── WMeteorMinus.java │ │ │ ├── WMeteorPlus.java │ │ │ └── WMeteorTriangle.java │ ├── utils │ │ ├── AlignmentX.java │ │ ├── AlignmentY.java │ │ ├── BaseWidget.java │ │ ├── Cell.java │ │ ├── CharFilter.java │ │ ├── IScreenFactory.java │ │ ├── SettingsWidgetFactory.java │ │ ├── StarscriptTextBoxRenderer.java │ │ └── WindowConfig.java │ └── widgets │ │ ├── WAccount.java │ │ ├── WHorizontalSeparator.java │ │ ├── WItem.java │ │ ├── WItemWithLabel.java │ │ ├── WKeybind.java │ │ ├── WLabel.java │ │ ├── WMultiLabel.java │ │ ├── WQuad.java │ │ ├── WRoot.java │ │ ├── WTexture.java │ │ ├── WTooltip.java │ │ ├── WTopBar.java │ │ ├── WVerticalSeparator.java │ │ ├── WWidget.java │ │ ├── containers │ │ ├── WContainer.java │ │ ├── WHorizontalList.java │ │ ├── WSection.java │ │ ├── WTable.java │ │ ├── WVerticalList.java │ │ ├── WView.java │ │ └── WWindow.java │ │ ├── input │ │ ├── WBlockPosEdit.java │ │ ├── WDoubleEdit.java │ │ ├── WDropdown.java │ │ ├── WIntEdit.java │ │ ├── WSlider.java │ │ └── WTextBox.java │ │ └── pressable │ │ ├── WButton.java │ │ ├── WCheckbox.java │ │ ├── WFavorite.java │ │ ├── WMinus.java │ │ ├── WPlus.java │ │ ├── WPressable.java │ │ └── WTriangle.java │ ├── mixin │ ├── AbstractBlockAccessor.java │ ├── AbstractBlockMixin.java │ ├── AbstractBlockStateMixin.java │ ├── AbstractBoatEntityMixin.java │ ├── AbstractClientPlayerEntityMixin.java │ ├── AbstractFurnaceScreenHandlerMixin.java │ ├── AbstractFurnaceScreenMixin.java │ ├── AbstractSignBlockEntityRendererMixin.java │ ├── AbstractSignEditScreenAccessor.java │ ├── AbstractSignEditScreenMixin.java │ ├── ArmorFeatureRendererMixin.java │ ├── BackgroundRendererMixin.java │ ├── BakedQuadMixin.java │ ├── BannerBlockEntityRendererMixin.java │ ├── BeaconBlockEntityRendererMixin.java │ ├── BeaconScreenMixin.java │ ├── BiomeColorsMixin.java │ ├── BlockCollisionSpliteratorMixin.java │ ├── BlockColorsMixin.java │ ├── BlockEntityRenderDispatcherMixin.java │ ├── BlockEntityTypeAccessor.java │ ├── BlockHitResultAccessor.java │ ├── BlockItemMixin.java │ ├── BlockMixin.java │ ├── BlockModelRendererMixin.java │ ├── BlockRenderManagerMixin.java │ ├── BlockStateMixin.java │ ├── BookEditScreenMixin.java │ ├── BookScreenMixin.java │ ├── BossBarHudMixin.java │ ├── BoxMixin.java │ ├── BrewingStandScreenMixin.java │ ├── BrightnessGetterMixin.java │ ├── CameraMixin.java │ ├── CapabilityTrackerMixin.java │ ├── CapeFeatureRendererMixin.java │ ├── ChatHudAccessor.java │ ├── ChatHudLineMixin.java │ ├── ChatHudLineVisibleMixin.java │ ├── ChatHudMixin.java │ ├── ChatInputSuggestorMixin.java │ ├── ChatScreenMixin.java │ ├── ChunkAccessor.java │ ├── ChunkBorderDebugRendererMixin.java │ ├── ChunkOcclusionDataBuilderMixin.java │ ├── ChunkSkyLightProviderMixin.java │ ├── ClientChunkManagerAccessor.java │ ├── ClientChunkMapAccessor.java │ ├── ClientConnectionAccessor.java │ ├── ClientConnectionMixin.java │ ├── ClientPlayNetworkHandlerAccessor.java │ ├── ClientPlayNetworkHandlerMixin.java │ ├── ClientPlayerEntityAccessor.java │ ├── ClientPlayerEntityMixin.java │ ├── ClientPlayerInteractionManagerAccessor.java │ ├── ClientPlayerInteractionManagerMixin.java │ ├── ClientWorldMixin.java │ ├── CobwebBlockMixin.java │ ├── CompassStateMixin.java │ ├── ConnectScreenMixin.java │ ├── ContainerComponentAccessor.java │ ├── ContainerComponentMixin.java │ ├── CrashReportMixin.java │ ├── CreativeInventoryScreenAccessor.java │ ├── CreativeSlotMixin.java │ ├── CrossbowItemAccessor.java │ ├── DefaultSkinHelperMixin.java │ ├── DisconnectedScreenMixin.java │ ├── DrawContextMixin.java │ ├── ElytraFeatureRendererMixin.java │ ├── EnchantingTableBlockEntityRendererMixin.java │ ├── EndCrystalEntityModelMixin.java │ ├── EndCrystalEntityRendererMixin.java │ ├── EntityAccessor.java │ ├── EntityBucketItemAccessor.java │ ├── EntityEffectParticleEffectAccessor.java │ ├── EntityMixin.java │ ├── EntityRenderDispatcherMixin.java │ ├── EntityRenderStateMixin.java │ ├── EntityRendererMixin.java │ ├── EntityTrackingSectionAccessor.java │ ├── EntityVelocityUpdateS2CPacketAccessor.java │ ├── ExplosionS2CPacketMixin.java │ ├── FileCacheAccessor.java │ ├── FireworkRocketEntityMixin.java │ ├── FireworksSparkParticleMixin.java │ ├── FireworksSparkParticleSubMixin.java │ ├── FishingBobberEntityMixin.java │ ├── FluidRendererMixin.java │ ├── GameOptionsMixin.java │ ├── GameRendererMixin.java │ ├── GlBackendMixin.java │ ├── GlResourceManagerMixin.java │ ├── GpuTextureMixin.java │ ├── HandledScreenAccessor.java │ ├── HandledScreenMixin.java │ ├── HeadFeatureRendererMixin.java │ ├── HeldItemRendererMixin.java │ ├── HorseBaseEntityMixin.java │ ├── HorseScreenHandlerAccessor.java │ ├── IdentifierAccessor.java │ ├── InGameHudMixin.java │ ├── InGameOverlayRendererMixin.java │ ├── ItemEntityRendererMixin.java │ ├── ItemGroupsMixin.java │ ├── ItemMixin.java │ ├── ItemRendererMixin.java │ ├── ItemStackMixin.java │ ├── KeyBindingAccessor.java │ ├── KeyboardInputMixin.java │ ├── KeyboardMixin.java │ ├── LayerRenderStateAccessor.java │ ├── LightmapTextureManagerMixin.java │ ├── LightningEntityRendererMixin.java │ ├── LivingEntityAccessor.java │ ├── LivingEntityMixin.java │ ├── LivingEntityRendererMixin.java │ ├── MapRendererMixin.java │ ├── MapTextureManagerAccessor.java │ ├── MessageHandlerMixin.java │ ├── MinecraftClientAccessor.java │ ├── MinecraftClientMixin.java │ ├── MinecraftServerAccessor.java │ ├── MobSpawnerBlockEntityRendererMixin.java │ ├── MouseMixin.java │ ├── MultiPhaseMixin.java │ ├── MultiPhaseParametersMixin.java │ ├── MultiplayerScreenMixin.java │ ├── MutableTextMixin.java │ ├── PacketByteBufMixin.java │ ├── ParticleManagerMixin.java │ ├── PlayerArmorSlotMixin.java │ ├── PlayerEntityAccessor.java │ ├── PlayerEntityMixin.java │ ├── PlayerEntityRendererMixin.java │ ├── PlayerInteractEntityC2SPacketMixin.java │ ├── PlayerListEntryMixin.java │ ├── PlayerListHudMixin.java │ ├── PlayerMoveC2SPacketAccessor.java │ ├── PlayerMoveC2SPacketMixin.java │ ├── PlayerSkinProviderAccessor.java │ ├── PowderSnowBlockMixin.java │ ├── ProjectileEntityAccessor.java │ ├── ProjectileInGroundAccessor.java │ ├── RaycastContextMixin.java │ ├── RegistriesMixin.java │ ├── ReloadStateAccessor.java │ ├── RenderLayersMixin.java │ ├── RenderPipelineMixin.java │ ├── RenderTickCounterDynamicMixin.java │ ├── ResourceReloadLoggerAccessor.java │ ├── ScreenMixin.java │ ├── SectionedEntityCacheAccessor.java │ ├── ServerPlayerEntityMixin.java │ ├── ServerResourcePackLoaderMixin.java │ ├── ShapeIndexBufferAccessor.java │ ├── ShulkerBoxScreenHandlerAccessor.java │ ├── SimpleEntityLookupAccessor.java │ ├── SimpleOptionMixin.java │ ├── SlimeBlockMixin.java │ ├── SlotMixin.java │ ├── SoundSystemMixin.java │ ├── SplashTextResourceSupplierMixin.java │ ├── StatusEffectInstanceAccessor.java │ ├── StatusEffectInstanceMixin.java │ ├── StringHelperMixin.java │ ├── SweetBerryBushBlockMixin.java │ ├── TextHandlerAccessor.java │ ├── TextMixin.java │ ├── TextRendererMixin.java │ ├── TextVisitFactoryMixin.java │ ├── TitleScreenMixin.java │ ├── TooltipComponentMixin.java │ ├── TooltipDisplayComponentMixin.java │ ├── TransformationMixin.java │ ├── TridentItemMixin.java │ ├── Vec3dMixin.java │ ├── WorldAccessor.java │ ├── WorldBorderMixin.java │ ├── WorldChunkMixin.java │ ├── WorldRendererAccessor.java │ ├── WorldRendererMixin.java │ ├── YggdrasilMinecraftSessionServiceAccessor.java │ ├── baritone │ │ └── ComeCommandMixin.java │ ├── indigo │ │ └── AbstractTerrainRenderContextMixin.java │ ├── lithium │ │ ├── ChunkAwareBlockCollisionSweeperMixin.java │ │ └── LithiumEntityCollisionsMixin.java │ ├── sodium │ │ ├── MeshVertexConsumerMixin.java │ │ ├── SodiumBlockOcclusionCacheMixin.java │ │ ├── SodiumBlockRendererMixin.java │ │ ├── SodiumFluidRendererImplDefaultRenderContextMixin.java │ │ ├── SodiumFluidRendererImplMixin.java │ │ └── SodiumLightDataAccessMixin.java │ └── viafabricplus │ │ └── GeneralSettingsMixin.java │ ├── mixininterface │ ├── IAbstractFurnaceScreenHandler.java │ ├── IBakedQuad.java │ ├── IBox.java │ ├── ICamera.java │ ├── ICapabilityTracker.java │ ├── IChatHud.java │ ├── IChatHudLine.java │ ├── IChatHudLineVisible.java │ ├── IClientPlayerInteractionManager.java │ ├── IEntityRenderState.java │ ├── IExplosionS2CPacket.java │ ├── IGpuDevice.java │ ├── IGpuTexture.java │ ├── IHorseBaseEntity.java │ ├── IMessageHandler.java │ ├── IMinecraftClient.java │ ├── IMultiPhase.java │ ├── IMultiPhaseParameters.java │ ├── IPlayerInteractEntityC2SPacket.java │ ├── IPlayerMoveC2SPacket.java │ ├── IRaycastContext.java │ ├── IRenderPipeline.java │ ├── ISimpleOption.java │ ├── ISlot.java │ ├── IText.java │ ├── IVec3d.java │ └── IWorldRenderer.java │ ├── pathing │ ├── BaritonePathManager.java │ ├── BaritoneSettings.java │ ├── BaritoneUtils.java │ ├── IPathManager.java │ ├── NopPathManager.java │ └── PathManagers.java │ ├── renderer │ ├── ExtendedRenderPipelineBuilder.java │ ├── Fonts.java │ ├── FullScreenRenderer.java │ ├── MeshBuilder.java │ ├── MeshRenderer.java │ ├── MeteorRenderPipelines.java │ ├── MeteorVertexFormatElements.java │ ├── MeteorVertexFormats.java │ ├── Renderer2D.java │ ├── Renderer3D.java │ ├── ShapeMode.java │ ├── Texture.java │ └── text │ │ ├── BuiltinFontFace.java │ │ ├── CustomTextRenderer.java │ │ ├── Font.java │ │ ├── FontFace.java │ │ ├── FontFamily.java │ │ ├── FontInfo.java │ │ ├── SystemFontFace.java │ │ ├── TextRenderer.java │ │ └── VanillaTextRenderer.java │ ├── settings │ ├── BlockDataSetting.java │ ├── BlockListSetting.java │ ├── BlockPosSetting.java │ ├── BlockSetting.java │ ├── BoolSetting.java │ ├── ColorListSetting.java │ ├── ColorSetting.java │ ├── DoubleSetting.java │ ├── EnchantmentListSetting.java │ ├── EntityTypeListSetting.java │ ├── EnumSetting.java │ ├── FontFaceSetting.java │ ├── GenericSetting.java │ ├── IBlockData.java │ ├── IVisible.java │ ├── IntSetting.java │ ├── ItemListSetting.java │ ├── ItemSetting.java │ ├── KeybindSetting.java │ ├── ModuleListSetting.java │ ├── PacketListSetting.java │ ├── ParticleTypeListSetting.java │ ├── PotionSetting.java │ ├── ProvidedStringSetting.java │ ├── ScreenHandlerListSetting.java │ ├── Setting.java │ ├── SettingGroup.java │ ├── Settings.java │ ├── SoundEventListSetting.java │ ├── StatusEffectAmplifierMapSetting.java │ ├── StatusEffectListSetting.java │ ├── StorageBlockListSetting.java │ ├── StringListSetting.java │ ├── StringSetting.java │ └── Vector3dSetting.java │ ├── systems │ ├── System.java │ ├── Systems.java │ ├── accounts │ │ ├── Account.java │ │ ├── AccountCache.java │ │ ├── AccountType.java │ │ ├── Accounts.java │ │ ├── MicrosoftLogin.java │ │ ├── TexturesJson.java │ │ ├── TokenAccount.java │ │ ├── UuidToProfileResponse.java │ │ └── types │ │ │ ├── CrackedAccount.java │ │ │ ├── MicrosoftAccount.java │ │ │ └── TheAlteningAccount.java │ ├── config │ │ └── Config.java │ ├── friends │ │ ├── Friend.java │ │ └── Friends.java │ ├── hud │ │ ├── Alignment.java │ │ ├── Hud.java │ │ ├── HudBox.java │ │ ├── HudElement.java │ │ ├── HudElementInfo.java │ │ ├── HudGroup.java │ │ ├── HudRenderer.java │ │ ├── XAnchor.java │ │ ├── YAnchor.java │ │ ├── elements │ │ │ ├── ActiveModulesHud.java │ │ │ ├── ArmorHud.java │ │ │ ├── CombatHud.java │ │ │ ├── CompassHud.java │ │ │ ├── HoleHud.java │ │ │ ├── InventoryHud.java │ │ │ ├── ItemHud.java │ │ │ ├── LagNotifierHud.java │ │ │ ├── MeteorTextHud.java │ │ │ ├── ModuleInfosHud.java │ │ │ ├── PlayerModelHud.java │ │ │ ├── PlayerRadarHud.java │ │ │ ├── PotionTimersHud.java │ │ │ └── TextHud.java │ │ └── screens │ │ │ ├── AddHudElementScreen.java │ │ │ ├── HudEditorScreen.java │ │ │ ├── HudElementPresetsScreen.java │ │ │ └── HudElementScreen.java │ ├── macros │ │ ├── Macro.java │ │ └── Macros.java │ ├── modules │ │ ├── Categories.java │ │ ├── Category.java │ │ ├── Module.java │ │ ├── Modules.java │ │ ├── combat │ │ │ ├── AnchorAura.java │ │ │ ├── AntiAnchor.java │ │ │ ├── AntiAnvil.java │ │ │ ├── AntiBed.java │ │ │ ├── ArrowDodge.java │ │ │ ├── AutoAnvil.java │ │ │ ├── AutoArmor.java │ │ │ ├── AutoCity.java │ │ │ ├── AutoEXP.java │ │ │ ├── AutoTotem.java │ │ │ ├── AutoTrap.java │ │ │ ├── AutoWeapon.java │ │ │ ├── AutoWeb.java │ │ │ ├── BedAura.java │ │ │ ├── BowAimbot.java │ │ │ ├── BowSpam.java │ │ │ ├── Burrow.java │ │ │ ├── Criticals.java │ │ │ ├── CrystalAura.java │ │ │ ├── Hitboxes.java │ │ │ ├── HoleFiller.java │ │ │ ├── KillAura.java │ │ │ ├── Offhand.java │ │ │ ├── Quiver.java │ │ │ ├── SelfAnvil.java │ │ │ ├── SelfTrap.java │ │ │ ├── SelfWeb.java │ │ │ └── Surround.java │ │ ├── misc │ │ │ ├── AntiPacketKick.java │ │ │ ├── AutoLog.java │ │ │ ├── AutoReconnect.java │ │ │ ├── AutoRespawn.java │ │ │ ├── BetterBeacons.java │ │ │ ├── BetterChat.java │ │ │ ├── BookBot.java │ │ │ ├── DiscordPresence.java │ │ │ ├── InventoryTweaks.java │ │ │ ├── MessageAura.java │ │ │ ├── NameProtect.java │ │ │ ├── Notebot.java │ │ │ ├── Notifier.java │ │ │ ├── PacketCanceller.java │ │ │ ├── ServerSpoof.java │ │ │ ├── SoundBlocker.java │ │ │ ├── Spam.java │ │ │ └── swarm │ │ │ │ ├── Swarm.java │ │ │ │ ├── SwarmConnection.java │ │ │ │ ├── SwarmHost.java │ │ │ │ └── SwarmWorker.java │ │ ├── movement │ │ │ ├── AirJump.java │ │ │ ├── Anchor.java │ │ │ ├── AntiAFK.java │ │ │ ├── AntiVoid.java │ │ │ ├── AutoJump.java │ │ │ ├── AutoWalk.java │ │ │ ├── AutoWasp.java │ │ │ ├── Blink.java │ │ │ ├── BoatFly.java │ │ │ ├── ClickTP.java │ │ │ ├── ElytraBoost.java │ │ │ ├── EntityControl.java │ │ │ ├── EntitySpeed.java │ │ │ ├── FastClimb.java │ │ │ ├── Flight.java │ │ │ ├── GUIMove.java │ │ │ ├── HighJump.java │ │ │ ├── Jesus.java │ │ │ ├── LongJump.java │ │ │ ├── NoFall.java │ │ │ ├── NoSlow.java │ │ │ ├── Parkour.java │ │ │ ├── ReverseStep.java │ │ │ ├── SafeWalk.java │ │ │ ├── Scaffold.java │ │ │ ├── Slippy.java │ │ │ ├── Sneak.java │ │ │ ├── Spider.java │ │ │ ├── Sprint.java │ │ │ ├── Step.java │ │ │ ├── TridentBoost.java │ │ │ ├── Velocity.java │ │ │ ├── elytrafly │ │ │ │ ├── ElytraFlightMode.java │ │ │ │ ├── ElytraFlightModes.java │ │ │ │ ├── ElytraFly.java │ │ │ │ └── modes │ │ │ │ │ ├── Bounce.java │ │ │ │ │ ├── Packet.java │ │ │ │ │ ├── Pitch40.java │ │ │ │ │ └── Vanilla.java │ │ │ └── speed │ │ │ │ ├── Speed.java │ │ │ │ ├── SpeedMode.java │ │ │ │ ├── SpeedModes.java │ │ │ │ └── modes │ │ │ │ ├── Strafe.java │ │ │ │ └── Vanilla.java │ │ ├── player │ │ │ ├── AntiHunger.java │ │ │ ├── AutoClicker.java │ │ │ ├── AutoEat.java │ │ │ ├── AutoFish.java │ │ │ ├── AutoGap.java │ │ │ ├── AutoMend.java │ │ │ ├── AutoReplenish.java │ │ │ ├── AutoTool.java │ │ │ ├── BreakDelay.java │ │ │ ├── ChestSwap.java │ │ │ ├── EXPThrower.java │ │ │ ├── FakePlayer.java │ │ │ ├── FastUse.java │ │ │ ├── GhostHand.java │ │ │ ├── InstantRebreak.java │ │ │ ├── LiquidInteract.java │ │ │ ├── MiddleClickExtra.java │ │ │ ├── Multitask.java │ │ │ ├── NoInteract.java │ │ │ ├── NoMiningTrace.java │ │ │ ├── NoRotate.java │ │ │ ├── NoStatusEffects.java │ │ │ ├── OffhandCrash.java │ │ │ ├── Portals.java │ │ │ ├── PotionSaver.java │ │ │ ├── Reach.java │ │ │ ├── Rotation.java │ │ │ └── SpeedMine.java │ │ ├── render │ │ │ ├── BetterTab.java │ │ │ ├── BetterTooltips.java │ │ │ ├── BlockSelection.java │ │ │ ├── Blur.java │ │ │ ├── BossStack.java │ │ │ ├── Breadcrumbs.java │ │ │ ├── BreakIndicators.java │ │ │ ├── CameraTweaks.java │ │ │ ├── Chams.java │ │ │ ├── CityESP.java │ │ │ ├── ESP.java │ │ │ ├── EntityOwner.java │ │ │ ├── FreeLook.java │ │ │ ├── Freecam.java │ │ │ ├── Fullbright.java │ │ │ ├── HandView.java │ │ │ ├── HoleESP.java │ │ │ ├── ItemHighlight.java │ │ │ ├── ItemPhysics.java │ │ │ ├── LightOverlay.java │ │ │ ├── LogoutSpots.java │ │ │ ├── Nametags.java │ │ │ ├── NoRender.java │ │ │ ├── PopChams.java │ │ │ ├── StorageESP.java │ │ │ ├── TimeChanger.java │ │ │ ├── Tracers.java │ │ │ ├── Trail.java │ │ │ ├── Trajectories.java │ │ │ ├── TunnelESP.java │ │ │ ├── VoidESP.java │ │ │ ├── WallHack.java │ │ │ ├── WaypointsModule.java │ │ │ ├── Xray.java │ │ │ ├── Zoom.java │ │ │ ├── blockesp │ │ │ │ ├── BlockESP.java │ │ │ │ ├── ESPBlock.java │ │ │ │ ├── ESPBlockData.java │ │ │ │ ├── ESPBlockDataScreen.java │ │ │ │ ├── ESPChunk.java │ │ │ │ └── ESPGroup.java │ │ │ └── marker │ │ │ │ ├── BaseMarker.java │ │ │ │ ├── CuboidMarker.java │ │ │ │ ├── Marker.java │ │ │ │ ├── MarkerFactory.java │ │ │ │ └── Sphere2dMarker.java │ │ └── world │ │ │ ├── AirPlace.java │ │ │ ├── Ambience.java │ │ │ ├── AutoBreed.java │ │ │ ├── AutoBrewer.java │ │ │ ├── AutoMount.java │ │ │ ├── AutoNametag.java │ │ │ ├── AutoShearer.java │ │ │ ├── AutoSign.java │ │ │ ├── AutoSmelter.java │ │ │ ├── BuildHeight.java │ │ │ ├── Collisions.java │ │ │ ├── EChestFarmer.java │ │ │ ├── EndermanLook.java │ │ │ ├── Excavator.java │ │ │ ├── Flamethrower.java │ │ │ ├── HighwayBuilder.java │ │ │ ├── InfinityMiner.java │ │ │ ├── LiquidFiller.java │ │ │ ├── MountBypass.java │ │ │ ├── NoGhostBlocks.java │ │ │ ├── Nuker.java │ │ │ ├── PacketMine.java │ │ │ ├── SpawnProofer.java │ │ │ ├── StashFinder.java │ │ │ ├── Timer.java │ │ │ └── VeinMiner.java │ ├── profiles │ │ ├── Profile.java │ │ └── Profiles.java │ ├── proxies │ │ ├── Proxies.java │ │ ├── Proxy.java │ │ └── ProxyType.java │ └── waypoints │ │ ├── Waypoint.java │ │ ├── Waypoints.java │ │ └── events │ │ ├── WaypointAddedEvent.java │ │ └── WaypointRemovedEvent.java │ └── utils │ ├── PostInit.java │ ├── PreInit.java │ ├── ReflectInit.java │ ├── Utils.java │ ├── entity │ ├── DamageUtils.java │ ├── EntityUtils.java │ ├── ProjectileEntitySimulator.java │ ├── SortPriority.java │ ├── Target.java │ ├── TargetUtils.java │ └── fakeplayer │ │ ├── FakePlayerEntity.java │ │ └── FakePlayerManager.java │ ├── files │ └── StreamUtils.java │ ├── misc │ ├── ByteCountDataOutput.java │ ├── CPSUtils.java │ ├── ComponentMapReader.java │ ├── CursorStyle.java │ ├── EmptyIterator.java │ ├── FakeClientPlayer.java │ ├── HorizontalDirection.java │ ├── IChangeable.java │ ├── ICopyable.java │ ├── IGetter.java │ ├── ISerializable.java │ ├── Keybind.java │ ├── MBlockPos.java │ ├── MeteorStarscript.java │ ├── MissHitResult.java │ ├── MyPotion.java │ ├── Names.java │ ├── NbtException.java │ ├── NbtUtils.java │ ├── Pool.java │ ├── Producer.java │ ├── UnorderedArrayList.java │ ├── ValueComparableMap.java │ ├── Version.java │ ├── input │ │ ├── Input.java │ │ ├── KeyAction.java │ │ └── KeyBinds.java │ └── text │ │ ├── ColoredText.java │ │ ├── MeteorClickEvent.java │ │ ├── RunnableClickEvent.java │ │ ├── TextUtils.java │ │ └── TextVisitor.java │ ├── network │ ├── Capes.java │ ├── FailedHttpResponse.java │ ├── Http.java │ ├── JsonBodyHandler.java │ ├── MeteorExecutor.java │ ├── OnlinePlayers.java │ ├── PacketUtils.java │ └── PacketUtilsUtil.java │ ├── notebot │ ├── NotebotUtils.java │ ├── decoder │ │ ├── NBSSongDecoder.java │ │ ├── SongDecoder.java │ │ ├── SongDecoders.java │ │ └── TextSongDecoder.java │ ├── instrumentdetect │ │ ├── InstrumentDetectFunction.java │ │ └── InstrumentDetectMode.java │ └── song │ │ ├── Note.java │ │ └── Song.java │ ├── other │ ├── JsonDateDeserializer.java │ └── Snapper.java │ ├── player │ ├── ChatUtils.java │ ├── CustomPlayerInput.java │ ├── EChestMemory.java │ ├── FindItemResult.java │ ├── InvUtils.java │ ├── InventorySorter.java │ ├── PathFinder.java │ ├── PlayerUtils.java │ ├── Rotations.java │ ├── Safety.java │ ├── SlotUtils.java │ └── TitleScreenCredits.java │ ├── render │ ├── AlignmentX.java │ ├── AlignmentY.java │ ├── Box.java │ ├── FontUtils.java │ ├── IVertexConsumerProvider.java │ ├── MeshBuilderVertexConsumerProvider.java │ ├── MeteorToast.java │ ├── NametagUtils.java │ ├── PeekScreen.java │ ├── PlayerHeadTexture.java │ ├── PlayerHeadUtils.java │ ├── RenderUtils.java │ ├── SimpleBlockRenderer.java │ ├── WireframeEntityRenderer.java │ ├── color │ │ ├── Color.java │ │ ├── RainbowColor.java │ │ ├── RainbowColors.java │ │ └── SettingColor.java │ ├── postprocess │ │ ├── ChamsShader.java │ │ ├── EntityOutlineShader.java │ │ ├── EntityShader.java │ │ ├── PostProcessShader.java │ │ ├── PostProcessShaders.java │ │ └── StorageOutlineShader.java │ └── prompts │ │ ├── OkPrompt.java │ │ ├── Prompt.java │ │ └── YesNoPrompt.java │ ├── tooltip │ ├── BannerTooltipComponent.java │ ├── BookTooltipComponent.java │ ├── ContainerTooltipComponent.java │ ├── EntityTooltipComponent.java │ ├── MapTooltipComponent.java │ ├── MeteorTooltipData.java │ └── TextTooltipComponent.java │ └── world │ ├── BlockEntityIterator.java │ ├── BlockIterator.java │ ├── BlockUtils.java │ ├── CardinalDirection.java │ ├── ChunkIterator.java │ ├── Dimension.java │ ├── Dir.java │ └── TickRate.java └── resources ├── assets └── meteor-client │ ├── fonts │ ├── Comfortaa.ttf │ ├── JetBrains Mono.ttf │ ├── Pixelation.ttf │ └── Tw Cen MT.ttf │ ├── icon.png │ ├── lang │ ├── en_gb.json │ ├── en_us.json │ ├── hi_in.json │ ├── pt_br.json │ ├── vi_vn.json │ └── zh_cn.json │ ├── shaders │ ├── blur.vert │ ├── blur_down.frag │ ├── blur_up.frag │ ├── passthrough.frag │ ├── passthrough.vert │ ├── pos_color.frag │ ├── pos_color.vert │ ├── pos_tex_color.frag │ ├── pos_tex_color.vert │ ├── post-process │ │ ├── base.vert │ │ ├── image.frag │ │ └── outline.frag │ ├── text.frag │ └── text.vert │ └── textures │ ├── blank.png │ ├── chams.jpg │ ├── container-transparent.png │ ├── container.png │ ├── icons │ ├── chat │ │ ├── baritone.png │ │ └── meteor.png │ ├── gui │ │ ├── circle.png │ │ ├── copy.png │ │ ├── edit.png │ │ ├── favorite_no.png │ │ ├── favorite_yes.png │ │ ├── paste.png │ │ ├── reset.png │ │ └── triangle.png │ └── waypoints │ │ ├── circle.png │ │ ├── diamond.png │ │ ├── skull.png │ │ ├── square.png │ │ ├── star.png │ │ └── triangle.png │ ├── meteor.png │ └── steve.png ├── fabric.mod.json ├── meteor-client-baritone.mixins.json ├── meteor-client-indigo.mixins.json ├── meteor-client-lithium.mixins.json ├── meteor-client-sodium.mixins.json ├── meteor-client-viafabricplus.mixins.json ├── meteor-client.accesswidener └── meteor-client.mixins.json /.editorconfig: -------------------------------------------------------------------------------- 1 | [*] 2 | charset = utf-8 3 | indent_style = space 4 | insert_final_newline = true 5 | trim_trailing_whitespace = true 6 | indent_size = 4 7 | 8 | [*.{json, yml}] 9 | indent_size = 2 10 | 11 | [*.md] 12 | trim_trailing_whitespace = false 13 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | custom: ['https://meteorclient.com/donate'] 2 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | contact_links: 3 | - name: Discord 4 | url: https://meteorclient.com/discord 5 | about: Join our discord for faster support on smaller issues. 6 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/suggestion.yml: -------------------------------------------------------------------------------- 1 | name: Suggestion 2 | description: Suggest a new feature or change for Meteor. 3 | labels: [ enhancement ] 4 | body: 5 | - type: textarea 6 | id: description 7 | attributes: 8 | label: Describe the feature 9 | description: A clear and concise description of what the feature/change is. 10 | validations: 11 | required: true 12 | - type: checkboxes 13 | id: prerequisites 14 | attributes: 15 | label: Before submitting a suggestion 16 | options: 17 | - label: | 18 | This feature doesn't already exist in the client. (I have checked every module and their settings on the **latest dev build**) 19 | required: true 20 | - label: | 21 | This wasn't already suggested. (I have searched suggestions on GitHub and read the FAQ) 22 | required: true 23 | -------------------------------------------------------------------------------- /.github/builds/get_number.js: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | import { getMcVersion } from "./mc_version.js" 7 | 8 | const mcVersion = await getMcVersion(); 9 | 10 | fetch("https://meteorclient.com/api/stats") 11 | .then(async res => { 12 | let stats = await res.json() 13 | let build = 0 14 | 15 | if (mcVersion in stats.builds) { 16 | build = parseInt(stats.builds[mcVersion]) 17 | } 18 | 19 | console.log("number=" + (build + 1)) 20 | }) 21 | .catch(err => { 22 | console.log("Failed to fetch stats:") 23 | console.log(err) 24 | process.exit(1) 25 | }) 26 | -------------------------------------------------------------------------------- /.github/builds/mc_version.js: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | import * as fs from "fs" 7 | import * as readline from "readline" 8 | 9 | export async function getMcVersion() { 10 | let lines = readline.createInterface({ 11 | input: fs.createReadStream("../../gradle.properties"), 12 | crlfDelay: Infinity 13 | }) 14 | 15 | let mcVersion = "" 16 | 17 | for await (const line of lines) { 18 | if (line.startsWith("minecraft_version")) { 19 | mcVersion = line.substring(line.indexOf("=") + 1) 20 | break 21 | } 22 | } 23 | 24 | if (mcVersion === "") { 25 | console.log("Failed to read minecraft_version") 26 | process.exit(1) 27 | } 28 | 29 | return mcVersion 30 | } 31 | -------------------------------------------------------------------------------- /.github/builds/package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "devbuilds", 3 | "version": "1.0.0", 4 | "lockfileVersion": 2, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "devbuilds", 9 | "version": "1.0.0", 10 | "license": "MIT" 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /.github/builds/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "devbuilds", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "author": "MineGame159", 7 | "license": "MIT", 8 | "type": "module", 9 | "scripts": { 10 | "get_number": "node get_number.js", 11 | "webhook": "node index.js" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | ## Type of change 2 | 3 | - [ ] Bug fix 4 | - [ ] New feature 5 | 6 | ## Description 7 | 8 | A summary of the changes along with the reasoning behind the changes. 9 | 10 | ## Related issues 11 | 12 | Mention any issues that this pr relates to. 13 | 14 | # How Has This Been Tested? 15 | 16 | Videos or screenshots of the changes if applicable. 17 | 18 | # Checklist: 19 | 20 | - [ ] My code follows the style guidelines of this project. 21 | - [ ] I have added comments to my code in more complex areas. 22 | - [ ] I have tested the code in both development and production environments. 23 | -------------------------------------------------------------------------------- /.github/workflows/issue-moderator.yml: -------------------------------------------------------------------------------- 1 | name: Issue automatic actions 2 | 3 | on: 4 | issues: 5 | types: [opened] 6 | 7 | permissions: 8 | issues: write 9 | 10 | jobs: 11 | issue-moderator: 12 | runs-on: ubuntu-latest 13 | steps: 14 | - name: Checkout Repository 15 | uses: actions/checkout@v4 16 | with: 17 | persist-credentials: false 18 | 19 | - name: Automatically close issues that don't follow the issue template 20 | uses: lucasbento/auto-close-issues@v1.0.2 21 | with: 22 | github-token: ${{ secrets.GITHUB_TOKEN }} 23 | issue-close-message: | 24 | @${issue.user.login}: hello! :wave: 25 | This issue is being automatically closed because it does not follow the issue template." 26 | closed-issues-label: "invalid" 27 | -------------------------------------------------------------------------------- /.github/workflows/pull-request.yml: -------------------------------------------------------------------------------- 1 | name: Build Pull Request 2 | 3 | on: [ pull_request ] 4 | 5 | jobs: 6 | build: 7 | runs-on: ubuntu-latest 8 | 9 | steps: 10 | - name: Checkout Repository 11 | uses: actions/checkout@v4 12 | with: 13 | persist-credentials: false 14 | 15 | - name: Set up Gradle 16 | uses: gradle/actions/setup-gradle@v4 17 | 18 | - name: Set up Java 19 | uses: actions/setup-java@v4 20 | with: 21 | distribution: 'temurin' 22 | java-version: '21' 23 | 24 | - name: Build 25 | run: ./gradlew build 26 | 27 | - name: Upload Artifact 28 | uses: actions/upload-artifact@v4 29 | with: 30 | name: pull-request-build 31 | path: build/libs/ 32 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.DS_Store 2 | .gradle 3 | .settings 4 | .project 5 | .classpath 6 | build 7 | out 8 | run 9 | bin 10 | logs 11 | .github/builds/node_modules 12 | *.iws 13 | *.ipr 14 | *.iml 15 | .idea/* 16 | !.idea/copyright/* 17 | !.idea/scopes/* 18 | -------------------------------------------------------------------------------- /.idea/copyright/Meteor.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | -------------------------------------------------------------------------------- /.idea/copyright/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /.idea/scopes/Meteor_Copyright_Notice.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeteorDevelopment/meteor-client/c59a465a6d677c67ba99b424c9fc6c2dc69c4468/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /launch/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | id("java") 3 | } 4 | 5 | group = "meteordevelopment" 6 | version = "0.1.0" 7 | 8 | tasks { 9 | withType { 10 | options.release = 8 11 | options.compilerArgs.add("-Xlint:-options") // Suppress Java 8 deprecation warnings 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /settings.gradle.kts: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | maven { 4 | name = "Fabric" 5 | url = uri("https://maven.fabricmc.net/") 6 | } 7 | mavenCentral() 8 | gradlePluginPortal() 9 | } 10 | } 11 | 12 | include("launch") 13 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/ModMenuIntegration.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient; 7 | 8 | import com.terraformersmc.modmenu.api.ConfigScreenFactory; 9 | import com.terraformersmc.modmenu.api.ModMenuApi; 10 | import meteordevelopment.meteorclient.gui.GuiThemes; 11 | import meteordevelopment.meteorclient.gui.screens.ModulesScreen; 12 | 13 | public class ModMenuIntegration implements ModMenuApi { 14 | @Override 15 | public ConfigScreenFactory getModConfigScreenFactory() { 16 | return screen -> new ModulesScreen(GuiThemes.get()); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/commands/arguments/DirectionArgumentType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.commands.arguments; 7 | 8 | import net.minecraft.command.argument.EnumArgumentType; 9 | import net.minecraft.util.math.Direction; 10 | 11 | public class DirectionArgumentType extends EnumArgumentType { 12 | private static final DirectionArgumentType INSTANCE = new DirectionArgumentType(); 13 | 14 | private DirectionArgumentType() { 15 | super(Direction.CODEC, Direction::values); 16 | } 17 | 18 | public static DirectionArgumentType create() { 19 | return INSTANCE; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/Cancellable.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events; 7 | 8 | import meteordevelopment.orbit.ICancellable; 9 | 10 | public class Cancellable implements ICancellable { 11 | private boolean cancelled = false; 12 | 13 | @Override 14 | public void setCancelled(boolean cancelled) { 15 | this.cancelled = cancelled; 16 | } 17 | 18 | @Override 19 | public boolean isCancelled() { 20 | return cancelled; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/entity/BoatMoveEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.entity; 7 | 8 | import net.minecraft.entity.vehicle.AbstractBoatEntity; 9 | 10 | public class BoatMoveEvent { 11 | private static final BoatMoveEvent INSTANCE = new BoatMoveEvent(); 12 | 13 | public AbstractBoatEntity boat; 14 | 15 | public static BoatMoveEvent get(AbstractBoatEntity entity) { 16 | INSTANCE.boat = entity; 17 | return INSTANCE; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/entity/DropItemsEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.entity; 7 | 8 | import meteordevelopment.meteorclient.events.Cancellable; 9 | import net.minecraft.item.ItemStack; 10 | 11 | public class DropItemsEvent extends Cancellable { 12 | private static final DropItemsEvent INSTANCE = new DropItemsEvent(); 13 | 14 | public ItemStack itemStack; 15 | 16 | public static DropItemsEvent get(ItemStack itemStack) { 17 | INSTANCE.setCancelled(false); 18 | INSTANCE.itemStack = itemStack; 19 | return INSTANCE; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/entity/EntityAddedEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.entity; 7 | 8 | import net.minecraft.entity.Entity; 9 | 10 | public class EntityAddedEvent { 11 | private static final EntityAddedEvent INSTANCE = new EntityAddedEvent(); 12 | 13 | public Entity entity; 14 | 15 | public static EntityAddedEvent get(Entity entity) { 16 | INSTANCE.entity = entity; 17 | return INSTANCE; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/entity/EntityDestroyEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.entity; 7 | 8 | import net.minecraft.entity.Entity; 9 | 10 | public class EntityDestroyEvent { 11 | private static final EntityDestroyEvent INSTANCE = new EntityDestroyEvent(); 12 | 13 | public Entity entity; 14 | 15 | public static EntityDestroyEvent get(Entity entity) { 16 | INSTANCE.entity = entity; 17 | return INSTANCE; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/entity/EntityRemovedEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.entity; 7 | 8 | import net.minecraft.entity.Entity; 9 | 10 | public class EntityRemovedEvent { 11 | private static final EntityRemovedEvent INSTANCE = new EntityRemovedEvent(); 12 | 13 | public Entity entity; 14 | 15 | public static EntityRemovedEvent get(Entity entity) { 16 | INSTANCE.entity = entity; 17 | return INSTANCE; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/entity/LivingEntityMoveEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.entity; 7 | 8 | import net.minecraft.entity.LivingEntity; 9 | import net.minecraft.util.math.Vec3d; 10 | 11 | public class LivingEntityMoveEvent { 12 | private static final LivingEntityMoveEvent INSTANCE = new LivingEntityMoveEvent(); 13 | 14 | public LivingEntity entity; 15 | public Vec3d movement; 16 | 17 | public static LivingEntityMoveEvent get(LivingEntity entity, Vec3d movement) { 18 | INSTANCE.entity = entity; 19 | INSTANCE.movement = movement; 20 | return INSTANCE; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/entity/player/AttackEntityEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.entity.player; 7 | 8 | import meteordevelopment.meteorclient.events.Cancellable; 9 | import net.minecraft.entity.Entity; 10 | 11 | public class AttackEntityEvent extends Cancellable { 12 | private static final AttackEntityEvent INSTANCE = new AttackEntityEvent(); 13 | 14 | public Entity entity; 15 | 16 | public static AttackEntityEvent get(Entity entity) { 17 | INSTANCE.setCancelled(false); 18 | INSTANCE.entity = entity; 19 | return INSTANCE; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/entity/player/BlockBreakingCooldownEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.entity.player; 7 | 8 | public class BlockBreakingCooldownEvent { 9 | private static final BlockBreakingCooldownEvent INSTANCE = new BlockBreakingCooldownEvent(); 10 | 11 | public int cooldown; 12 | 13 | public static BlockBreakingCooldownEvent get(int cooldown) { 14 | INSTANCE.cooldown = cooldown; 15 | return INSTANCE; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/entity/player/BreakBlockEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.entity.player; 7 | 8 | import meteordevelopment.meteorclient.events.Cancellable; 9 | import net.minecraft.util.math.BlockPos; 10 | 11 | public class BreakBlockEvent extends Cancellable { 12 | private static final BreakBlockEvent INSTANCE = new BreakBlockEvent(); 13 | 14 | public BlockPos blockPos; 15 | 16 | public static BreakBlockEvent get(BlockPos blockPos) { 17 | INSTANCE.setCancelled(false); 18 | INSTANCE.blockPos = blockPos; 19 | return INSTANCE; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/entity/player/ClipAtLedgeEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.entity.player; 7 | 8 | public class ClipAtLedgeEvent { 9 | private static final ClipAtLedgeEvent INSTANCE = new ClipAtLedgeEvent(); 10 | 11 | private boolean set, clip; 12 | 13 | public void reset() { 14 | set = false; 15 | } 16 | 17 | public void setClip(boolean clip) { 18 | set = true; 19 | this.clip = clip; 20 | } 21 | 22 | public boolean isSet() { 23 | return set; 24 | } 25 | public boolean isClip() { 26 | return clip; 27 | } 28 | 29 | public static ClipAtLedgeEvent get() { 30 | INSTANCE.reset(); 31 | return INSTANCE; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/entity/player/FinishUsingItemEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.entity.player; 7 | 8 | import net.minecraft.item.ItemStack; 9 | 10 | public class FinishUsingItemEvent { 11 | private static final FinishUsingItemEvent INSTANCE = new FinishUsingItemEvent(); 12 | 13 | public ItemStack itemStack; 14 | 15 | public static FinishUsingItemEvent get(ItemStack itemStack) { 16 | INSTANCE.itemStack = itemStack; 17 | return INSTANCE; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/entity/player/InteractBlockEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.entity.player; 7 | 8 | import meteordevelopment.meteorclient.events.Cancellable; 9 | import net.minecraft.util.Hand; 10 | import net.minecraft.util.hit.BlockHitResult; 11 | 12 | public class InteractBlockEvent extends Cancellable { 13 | private static final InteractBlockEvent INSTANCE = new InteractBlockEvent(); 14 | 15 | public Hand hand; 16 | public BlockHitResult result; 17 | 18 | public static InteractBlockEvent get(Hand hand, BlockHitResult result) { 19 | INSTANCE.setCancelled(false); 20 | INSTANCE.hand = hand; 21 | INSTANCE.result = result; 22 | return INSTANCE; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/entity/player/InteractEntityEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.entity.player; 7 | 8 | import meteordevelopment.meteorclient.events.Cancellable; 9 | import net.minecraft.entity.Entity; 10 | import net.minecraft.util.Hand; 11 | 12 | public class InteractEntityEvent extends Cancellable { 13 | private static final InteractEntityEvent INSTANCE = new InteractEntityEvent(); 14 | 15 | public Entity entity; 16 | public Hand hand; 17 | 18 | public static InteractEntityEvent get(Entity entity, Hand hand) { 19 | INSTANCE.setCancelled(false); 20 | INSTANCE.entity = entity; 21 | INSTANCE.hand = hand; 22 | return INSTANCE; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/entity/player/InteractItemEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.entity.player; 7 | 8 | import net.minecraft.util.ActionResult; 9 | import net.minecraft.util.Hand; 10 | 11 | public class InteractItemEvent { 12 | private static final InteractItemEvent INSTANCE = new InteractItemEvent(); 13 | 14 | public Hand hand; 15 | public ActionResult toReturn; 16 | 17 | public static InteractItemEvent get(Hand hand) { 18 | INSTANCE.hand = hand; 19 | INSTANCE.toReturn = null; 20 | 21 | return INSTANCE; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/entity/player/ItemUseCrosshairTargetEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.entity.player; 7 | 8 | import net.minecraft.util.hit.HitResult; 9 | 10 | public class ItemUseCrosshairTargetEvent { 11 | private static final ItemUseCrosshairTargetEvent INSTANCE = new ItemUseCrosshairTargetEvent(); 12 | 13 | public HitResult target; 14 | 15 | public static ItemUseCrosshairTargetEvent get(HitResult target) { 16 | INSTANCE.target = target; 17 | return INSTANCE; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/entity/player/JumpVelocityMultiplierEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.entity.player; 7 | 8 | public class JumpVelocityMultiplierEvent { 9 | private static final JumpVelocityMultiplierEvent INSTANCE = new JumpVelocityMultiplierEvent(); 10 | 11 | public float multiplier = 1; 12 | 13 | public static JumpVelocityMultiplierEvent get() { 14 | INSTANCE.multiplier = 1; 15 | return INSTANCE; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/entity/player/PickItemsEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.entity.player; 7 | 8 | import net.minecraft.item.ItemStack; 9 | 10 | public class PickItemsEvent { 11 | private static final PickItemsEvent INSTANCE = new PickItemsEvent(); 12 | 13 | public ItemStack itemStack; 14 | public int count; 15 | 16 | public static PickItemsEvent get(ItemStack itemStack, int count) { 17 | INSTANCE.itemStack = itemStack; 18 | INSTANCE.count = count; 19 | return INSTANCE; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/entity/player/PlaceBlockEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.entity.player; 7 | 8 | import meteordevelopment.meteorclient.events.Cancellable; 9 | import net.minecraft.block.Block; 10 | import net.minecraft.util.math.BlockPos; 11 | 12 | public class PlaceBlockEvent extends Cancellable { 13 | private static final PlaceBlockEvent INSTANCE = new PlaceBlockEvent(); 14 | 15 | public BlockPos blockPos; 16 | public Block block; 17 | 18 | public static PlaceBlockEvent get(BlockPos blockPos, Block block) { 19 | INSTANCE.setCancelled(false); 20 | INSTANCE.blockPos = blockPos; 21 | INSTANCE.block = block; 22 | return INSTANCE; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/entity/player/PlayerMoveEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.entity.player; 7 | 8 | import net.minecraft.entity.MovementType; 9 | import net.minecraft.util.math.Vec3d; 10 | 11 | public class PlayerMoveEvent { 12 | private static final PlayerMoveEvent INSTANCE = new PlayerMoveEvent(); 13 | 14 | public MovementType type; 15 | public Vec3d movement; 16 | 17 | public static PlayerMoveEvent get(MovementType type, Vec3d movement) { 18 | INSTANCE.type = type; 19 | INSTANCE.movement = movement; 20 | return INSTANCE; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/entity/player/PlayerTickMovementEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.entity.player; 7 | 8 | /** 9 | * @see net.minecraft.client.network.ClientPlayerEntity#tickMovement() 10 | */ 11 | public class PlayerTickMovementEvent { 12 | private static final PlayerTickMovementEvent INSTANCE = new PlayerTickMovementEvent(); 13 | 14 | public static PlayerTickMovementEvent get() { 15 | return INSTANCE; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/entity/player/SendMovementPacketsEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.entity.player; 7 | 8 | public class SendMovementPacketsEvent { 9 | public static class Pre { 10 | private static final Pre INSTANCE = new Pre(); 11 | 12 | public static SendMovementPacketsEvent.Pre get() { 13 | return INSTANCE; 14 | } 15 | } 16 | 17 | public static class Post { 18 | private static final Post INSTANCE = new Post(); 19 | 20 | public static SendMovementPacketsEvent.Post get() { 21 | return INSTANCE; 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/entity/player/StartBreakingBlockEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.entity.player; 7 | 8 | import meteordevelopment.meteorclient.events.Cancellable; 9 | import net.minecraft.util.math.BlockPos; 10 | import net.minecraft.util.math.Direction; 11 | 12 | public class StartBreakingBlockEvent extends Cancellable { 13 | private static final StartBreakingBlockEvent INSTANCE = new StartBreakingBlockEvent(); 14 | 15 | public BlockPos blockPos; 16 | public Direction direction; 17 | 18 | public static StartBreakingBlockEvent get(BlockPos blockPos, Direction direction) { 19 | INSTANCE.setCancelled(false); 20 | INSTANCE.blockPos = blockPos; 21 | INSTANCE.direction = direction; 22 | return INSTANCE; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/entity/player/StoppedUsingItemEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.entity.player; 7 | 8 | import net.minecraft.item.ItemStack; 9 | 10 | public class StoppedUsingItemEvent { 11 | private static final StoppedUsingItemEvent INSTANCE = new StoppedUsingItemEvent(); 12 | 13 | public ItemStack itemStack; 14 | 15 | public static StoppedUsingItemEvent get(ItemStack itemStack) { 16 | INSTANCE.itemStack = itemStack; 17 | return INSTANCE; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/game/ChangePerspectiveEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.game; 7 | 8 | import meteordevelopment.meteorclient.events.Cancellable; 9 | import net.minecraft.client.option.Perspective; 10 | 11 | public class ChangePerspectiveEvent extends Cancellable { 12 | private static final ChangePerspectiveEvent INSTANCE = new ChangePerspectiveEvent(); 13 | 14 | public Perspective perspective; 15 | 16 | public static ChangePerspectiveEvent get(Perspective perspective) { 17 | INSTANCE.setCancelled(false); 18 | INSTANCE.perspective = perspective; 19 | return INSTANCE; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/game/GameJoinedEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.game; 7 | 8 | public class GameJoinedEvent { 9 | private static final GameJoinedEvent INSTANCE = new GameJoinedEvent(); 10 | 11 | public static GameJoinedEvent get() { 12 | return INSTANCE; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/game/GameLeftEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.game; 7 | 8 | public class GameLeftEvent { 9 | private static final GameLeftEvent INSTANCE = new GameLeftEvent(); 10 | 11 | public static GameLeftEvent get() { 12 | return INSTANCE; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/game/OpenScreenEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.game; 7 | 8 | import meteordevelopment.meteorclient.events.Cancellable; 9 | import net.minecraft.client.gui.screen.Screen; 10 | 11 | public class OpenScreenEvent extends Cancellable { 12 | private static final OpenScreenEvent INSTANCE = new OpenScreenEvent(); 13 | 14 | public Screen screen; 15 | 16 | public static OpenScreenEvent get(Screen screen) { 17 | INSTANCE.setCancelled(false); 18 | INSTANCE.screen = screen; 19 | return INSTANCE; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/game/ResolutionChangedEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.game; 7 | 8 | public class ResolutionChangedEvent { 9 | private static final ResolutionChangedEvent INSTANCE = new ResolutionChangedEvent(); 10 | 11 | public static ResolutionChangedEvent get() { 12 | return INSTANCE; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/game/ResourcePacksReloadedEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.game; 7 | 8 | public class ResourcePacksReloadedEvent { 9 | private static final ResourcePacksReloadedEvent INSTANCE = new ResourcePacksReloadedEvent(); 10 | 11 | public static ResourcePacksReloadedEvent get() { 12 | return INSTANCE; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/game/SendMessageEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.game; 7 | 8 | import meteordevelopment.meteorclient.events.Cancellable; 9 | 10 | public class SendMessageEvent extends Cancellable { 11 | private static final SendMessageEvent INSTANCE = new SendMessageEvent(); 12 | 13 | public String message; 14 | 15 | public static SendMessageEvent get(String message) { 16 | INSTANCE.setCancelled(false); 17 | INSTANCE.message = message; 18 | return INSTANCE; 19 | } 20 | } 21 | 22 | 23 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/meteor/ActiveModulesChangedEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.meteor; 7 | 8 | public class ActiveModulesChangedEvent { 9 | private static final ActiveModulesChangedEvent INSTANCE = new ActiveModulesChangedEvent(); 10 | 11 | public static ActiveModulesChangedEvent get() { 12 | return INSTANCE; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/meteor/CharTypedEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.meteor; 7 | 8 | import meteordevelopment.meteorclient.events.Cancellable; 9 | 10 | public class CharTypedEvent extends Cancellable { 11 | private static final CharTypedEvent INSTANCE = new CharTypedEvent(); 12 | 13 | public char c; 14 | 15 | public static CharTypedEvent get(char c) { 16 | INSTANCE.setCancelled(false); 17 | INSTANCE.c = c; 18 | return INSTANCE; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/meteor/CustomFontChangedEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.meteor; 7 | 8 | @SuppressWarnings("InstantiationOfUtilityClass") 9 | public class CustomFontChangedEvent { 10 | private static final CustomFontChangedEvent INSTANCE = new CustomFontChangedEvent(); 11 | 12 | public static CustomFontChangedEvent get() { 13 | return INSTANCE; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/meteor/KeyEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.meteor; 7 | 8 | import meteordevelopment.meteorclient.events.Cancellable; 9 | import meteordevelopment.meteorclient.utils.misc.input.KeyAction; 10 | 11 | public class KeyEvent extends Cancellable { 12 | private static final KeyEvent INSTANCE = new KeyEvent(); 13 | 14 | public int key, modifiers; 15 | public KeyAction action; 16 | 17 | public static KeyEvent get(int key, int modifiers, KeyAction action) { 18 | INSTANCE.setCancelled(false); 19 | INSTANCE.key = key; 20 | INSTANCE.modifiers = modifiers; 21 | INSTANCE.action = action; 22 | return INSTANCE; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/meteor/ModuleBindChangedEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.meteor; 7 | 8 | import meteordevelopment.meteorclient.systems.modules.Module; 9 | 10 | public class ModuleBindChangedEvent { 11 | private static final ModuleBindChangedEvent INSTANCE = new ModuleBindChangedEvent(); 12 | 13 | public Module module; 14 | 15 | public static ModuleBindChangedEvent get(Module module) { 16 | INSTANCE.module = module; 17 | return INSTANCE; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/meteor/MouseButtonEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.meteor; 7 | 8 | import meteordevelopment.meteorclient.events.Cancellable; 9 | import meteordevelopment.meteorclient.utils.misc.input.KeyAction; 10 | 11 | public class MouseButtonEvent extends Cancellable { 12 | private static final MouseButtonEvent INSTANCE = new MouseButtonEvent(); 13 | 14 | public int button; 15 | public KeyAction action; 16 | 17 | public static MouseButtonEvent get(int button, KeyAction action) { 18 | INSTANCE.setCancelled(false); 19 | INSTANCE.button = button; 20 | INSTANCE.action = action; 21 | return INSTANCE; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/meteor/MouseScrollEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.meteor; 7 | 8 | import meteordevelopment.meteorclient.events.Cancellable; 9 | 10 | public class MouseScrollEvent extends Cancellable { 11 | private static final MouseScrollEvent INSTANCE = new MouseScrollEvent(); 12 | 13 | public double value; 14 | 15 | public static MouseScrollEvent get(double value) { 16 | INSTANCE.setCancelled(false); 17 | INSTANCE.value = value; 18 | return INSTANCE; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/packets/ContainerSlotUpdateEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.packets; 7 | 8 | import net.minecraft.network.packet.s2c.play.ScreenHandlerSlotUpdateS2CPacket; 9 | 10 | public class ContainerSlotUpdateEvent { 11 | private static final ContainerSlotUpdateEvent INSTANCE = new ContainerSlotUpdateEvent(); 12 | 13 | public ScreenHandlerSlotUpdateS2CPacket packet; 14 | 15 | public static ContainerSlotUpdateEvent get(ScreenHandlerSlotUpdateS2CPacket packet) { 16 | INSTANCE.packet = packet; 17 | return INSTANCE; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/packets/InventoryEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.packets; 7 | 8 | import net.minecraft.network.packet.s2c.play.InventoryS2CPacket; 9 | 10 | public class InventoryEvent { 11 | private static final InventoryEvent INSTANCE = new InventoryEvent(); 12 | 13 | public InventoryS2CPacket packet; 14 | 15 | public static InventoryEvent get(InventoryS2CPacket packet) { 16 | INSTANCE.packet = packet; 17 | return INSTANCE; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/packets/PlaySoundPacketEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.packets; 7 | 8 | import net.minecraft.network.packet.s2c.play.PlaySoundS2CPacket; 9 | 10 | public class PlaySoundPacketEvent { 11 | 12 | private static final PlaySoundPacketEvent INSTANCE = new PlaySoundPacketEvent(); 13 | 14 | public PlaySoundS2CPacket packet; 15 | 16 | public static PlaySoundPacketEvent get(PlaySoundS2CPacket packet) { 17 | INSTANCE.packet = packet; 18 | return INSTANCE; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/render/ApplyTransformationEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.render; 7 | 8 | import meteordevelopment.meteorclient.events.Cancellable; 9 | import net.minecraft.client.render.model.json.Transformation; 10 | 11 | public class ApplyTransformationEvent extends Cancellable { 12 | private static final ApplyTransformationEvent INSTANCE = new ApplyTransformationEvent(); 13 | 14 | public Transformation transformation; 15 | public boolean leftHanded; 16 | 17 | public static ApplyTransformationEvent get(Transformation transformation, boolean leftHanded) { 18 | INSTANCE.setCancelled(false); 19 | 20 | INSTANCE.transformation = transformation; 21 | INSTANCE.leftHanded = leftHanded; 22 | 23 | return INSTANCE; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/render/ArmRenderEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.render; 7 | 8 | 9 | import net.minecraft.client.util.math.MatrixStack; 10 | import net.minecraft.util.Hand; 11 | 12 | public class ArmRenderEvent { 13 | public static ArmRenderEvent INSTANCE = new ArmRenderEvent(); 14 | 15 | public MatrixStack matrix; 16 | public Hand hand; 17 | 18 | public static ArmRenderEvent get(Hand hand, MatrixStack matrices) { 19 | INSTANCE.matrix = matrices; 20 | INSTANCE.hand = hand; 21 | 22 | return INSTANCE; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/render/GetFovEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.render; 7 | 8 | public class GetFovEvent { 9 | private static final GetFovEvent INSTANCE = new GetFovEvent(); 10 | 11 | public float fov; 12 | 13 | public static GetFovEvent get(float fov) { 14 | INSTANCE.fov = fov; 15 | return INSTANCE; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/render/HeldItemRendererEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.render; 7 | 8 | import net.minecraft.client.util.math.MatrixStack; 9 | import net.minecraft.util.Hand; 10 | 11 | public class HeldItemRendererEvent { 12 | private static final HeldItemRendererEvent INSTANCE = new HeldItemRendererEvent(); 13 | 14 | public Hand hand; 15 | public MatrixStack matrix; 16 | 17 | public static HeldItemRendererEvent get(Hand hand, MatrixStack matrices) { 18 | INSTANCE.hand = hand; 19 | INSTANCE.matrix = matrices; 20 | return INSTANCE; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/render/Render2DEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.render; 7 | 8 | import meteordevelopment.meteorclient.utils.Utils; 9 | import net.minecraft.client.gui.DrawContext; 10 | 11 | public class Render2DEvent { 12 | private static final Render2DEvent INSTANCE = new Render2DEvent(); 13 | 14 | public DrawContext drawContext; 15 | public int screenWidth, screenHeight; 16 | public double frameTime; 17 | public float tickDelta; 18 | 19 | public static Render2DEvent get(DrawContext drawContext, int screenWidth, int screenHeight, float tickDelta) { 20 | INSTANCE.drawContext = drawContext; 21 | INSTANCE.screenWidth = screenWidth; 22 | INSTANCE.screenHeight = screenHeight; 23 | INSTANCE.frameTime = Utils.frameTime; 24 | INSTANCE.tickDelta = tickDelta; 25 | return INSTANCE; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/render/RenderAfterWorldEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.render; 7 | 8 | public class RenderAfterWorldEvent { 9 | private static final RenderAfterWorldEvent INSTANCE = new RenderAfterWorldEvent(); 10 | 11 | public static RenderAfterWorldEvent get() { 12 | return INSTANCE; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/render/RenderBlockEntityEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.render; 7 | 8 | import meteordevelopment.meteorclient.events.Cancellable; 9 | import net.minecraft.block.entity.BlockEntity; 10 | 11 | public class RenderBlockEntityEvent extends Cancellable { 12 | private static final RenderBlockEntityEvent INSTANCE = new RenderBlockEntityEvent(); 13 | 14 | public BlockEntity blockEntity; 15 | 16 | public static RenderBlockEntityEvent get(BlockEntity blockEntity) { 17 | INSTANCE.setCancelled(false); 18 | INSTANCE.blockEntity = blockEntity; 19 | return INSTANCE; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/render/TooltipDataEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.render; 7 | 8 | import net.minecraft.item.tooltip.TooltipData; 9 | import net.minecraft.item.ItemStack; 10 | 11 | 12 | public class TooltipDataEvent { 13 | private static final TooltipDataEvent INSTANCE = new TooltipDataEvent(); 14 | 15 | public TooltipData tooltipData; 16 | public ItemStack itemStack; 17 | 18 | public static TooltipDataEvent get(ItemStack itemStack) { 19 | INSTANCE.tooltipData = null; 20 | INSTANCE.itemStack = itemStack; 21 | return INSTANCE; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/world/AmbientOcclusionEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.world; 7 | 8 | public class AmbientOcclusionEvent { 9 | private static final AmbientOcclusionEvent INSTANCE = new AmbientOcclusionEvent(); 10 | 11 | public float lightLevel = -1; 12 | 13 | public static AmbientOcclusionEvent get() { 14 | INSTANCE.lightLevel = -1; 15 | return INSTANCE; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/world/BlockActivateEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.world; 7 | 8 | import net.minecraft.block.BlockState; 9 | 10 | public class BlockActivateEvent { 11 | private static final BlockActivateEvent INSTANCE = new BlockActivateEvent(); 12 | 13 | public BlockState blockState; 14 | 15 | public static BlockActivateEvent get(BlockState blockState) { 16 | INSTANCE.blockState = blockState; 17 | return INSTANCE; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/world/BlockUpdateEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.world; 7 | 8 | import net.minecraft.block.BlockState; 9 | import net.minecraft.util.math.BlockPos; 10 | 11 | public class BlockUpdateEvent { 12 | private static final BlockUpdateEvent INSTANCE = new BlockUpdateEvent(); 13 | 14 | public BlockPos pos; 15 | public BlockState oldState, newState; 16 | 17 | public static BlockUpdateEvent get(BlockPos pos, BlockState oldState, BlockState newState) { 18 | INSTANCE.pos = pos; 19 | INSTANCE.oldState = oldState; 20 | INSTANCE.newState = newState; 21 | 22 | return INSTANCE; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/world/ChunkDataEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.world; 7 | 8 | import net.minecraft.world.chunk.WorldChunk; 9 | 10 | /** 11 | * @implNote Shouldn't be put in a {@link meteordevelopment.meteorclient.utils.misc.Pool} to avoid a race-condition, or in a {@link ThreadLocal} as it is shared between threads. 12 | * @author Crosby 13 | */ 14 | public record ChunkDataEvent(WorldChunk chunk) {} 15 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/world/ChunkOcclusionEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.world; 7 | 8 | import meteordevelopment.meteorclient.events.Cancellable; 9 | 10 | public class ChunkOcclusionEvent extends Cancellable { 11 | private static final ChunkOcclusionEvent INSTANCE = new ChunkOcclusionEvent(); 12 | 13 | public static ChunkOcclusionEvent get() { 14 | INSTANCE.setCancelled(false); 15 | return INSTANCE; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/world/ParticleEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.world; 7 | 8 | import meteordevelopment.meteorclient.events.Cancellable; 9 | import net.minecraft.particle.ParticleEffect; 10 | 11 | public class ParticleEvent extends Cancellable { 12 | private static final ParticleEvent INSTANCE = new ParticleEvent(); 13 | 14 | public ParticleEffect particle; 15 | 16 | public static ParticleEvent get(ParticleEffect particle) { 17 | INSTANCE.setCancelled(false); 18 | INSTANCE.particle = particle; 19 | return INSTANCE; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/world/PlaySoundEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.world; 7 | 8 | import meteordevelopment.meteorclient.events.Cancellable; 9 | import net.minecraft.client.sound.SoundInstance; 10 | 11 | public class PlaySoundEvent extends Cancellable { 12 | private static final PlaySoundEvent INSTANCE = new PlaySoundEvent(); 13 | 14 | public SoundInstance sound; 15 | 16 | public static PlaySoundEvent get(SoundInstance sound) { 17 | INSTANCE.setCancelled(false); 18 | INSTANCE.sound = sound; 19 | return INSTANCE; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/world/ServerConnectBeginEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.world; 7 | 8 | import net.minecraft.client.network.ServerAddress; 9 | import net.minecraft.client.network.ServerInfo; 10 | 11 | public class ServerConnectBeginEvent { 12 | private static final ServerConnectBeginEvent INSTANCE = new ServerConnectBeginEvent(); 13 | public ServerAddress address; 14 | public ServerInfo info; 15 | 16 | public static ServerConnectBeginEvent get(ServerAddress address, ServerInfo info) { 17 | INSTANCE.address = address; 18 | INSTANCE.info = info; 19 | return INSTANCE; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/world/ServerConnectEndEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.world; 7 | 8 | import java.net.InetSocketAddress; 9 | 10 | public class ServerConnectEndEvent { 11 | private static final ServerConnectEndEvent INSTANCE = new ServerConnectEndEvent(); 12 | public InetSocketAddress address; 13 | 14 | public static ServerConnectEndEvent get(InetSocketAddress address) { 15 | INSTANCE.address = address; 16 | return INSTANCE; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/events/world/TickEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.events.world; 7 | 8 | public class TickEvent { 9 | public static class Pre extends TickEvent { 10 | private static final Pre INSTANCE = new Pre(); 11 | 12 | public static Pre get() { 13 | return INSTANCE; 14 | } 15 | } 16 | 17 | public static class Post extends TickEvent { 18 | private static final Post INSTANCE = new Post(); 19 | 20 | public static Post get() { 21 | return INSTANCE; 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/gui/GuiKeyEvents.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.gui; 7 | 8 | public class GuiKeyEvents { 9 | public static boolean canUseKeys = true; 10 | 11 | private GuiKeyEvents() { 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/gui/renderer/GuiRenderOperation.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.gui.renderer; 7 | 8 | import meteordevelopment.meteorclient.utils.misc.Pool; 9 | import meteordevelopment.meteorclient.utils.render.color.Color; 10 | 11 | public abstract class GuiRenderOperation> { 12 | protected double x, y; 13 | protected Color color; 14 | 15 | public void set(double x, double y, Color color) { 16 | this.x = x; 17 | this.y = y; 18 | this.color = color; 19 | } 20 | 21 | @SuppressWarnings("unchecked") 22 | public void run(Pool pool) { 23 | onRun(); 24 | pool.free((T) this); 25 | } 26 | 27 | protected abstract void onRun(); 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/gui/renderer/operations/TextOperation.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.gui.renderer.operations; 7 | 8 | import meteordevelopment.meteorclient.gui.renderer.GuiRenderOperation; 9 | import meteordevelopment.meteorclient.renderer.text.TextRenderer; 10 | 11 | public class TextOperation extends GuiRenderOperation { 12 | private String text; 13 | private TextRenderer renderer; 14 | 15 | public boolean title; 16 | 17 | public TextOperation set(String text, TextRenderer renderer, boolean title) { 18 | this.text = text; 19 | this.renderer = renderer; 20 | this.title = title; 21 | 22 | return this; 23 | } 24 | 25 | @Override 26 | protected void onRun() { 27 | renderer.render(text, x, y, color); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/gui/renderer/packer/TextureRegion.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.gui.renderer.packer; 7 | 8 | public class TextureRegion { 9 | public double x1, y1; 10 | public double x2, y2; 11 | 12 | public double diagonal; 13 | 14 | public TextureRegion(double width, double height) { 15 | diagonal = Math.sqrt(width * width + height * height); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/gui/tabs/Tab.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.gui.tabs; 7 | 8 | import meteordevelopment.meteorclient.gui.GuiTheme; 9 | import net.minecraft.client.gui.screen.Screen; 10 | 11 | import static meteordevelopment.meteorclient.MeteorClient.mc; 12 | 13 | public abstract class Tab { 14 | public final String name; 15 | 16 | public Tab(String name) { 17 | this.name = name; 18 | } 19 | 20 | public void openScreen(GuiTheme theme) { 21 | TabScreen screen = this.createScreen(theme); 22 | screen.addDirect(theme.topBar()).top().centerX(); 23 | mc.setScreen(screen); 24 | } 25 | 26 | public abstract TabScreen createScreen(GuiTheme theme); 27 | 28 | public abstract boolean isScreen(Screen screen); 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/gui/tabs/TabScreen.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.gui.tabs; 7 | 8 | import meteordevelopment.meteorclient.gui.GuiTheme; 9 | import meteordevelopment.meteorclient.gui.WidgetScreen; 10 | import meteordevelopment.meteorclient.gui.utils.Cell; 11 | import meteordevelopment.meteorclient.gui.widgets.WWidget; 12 | 13 | public abstract class TabScreen extends WidgetScreen { 14 | public final Tab tab; 15 | 16 | public TabScreen(GuiTheme theme, Tab tab) { 17 | super(theme, tab.name); 18 | 19 | this.tab = tab; 20 | } 21 | 22 | public Cell addDirect(T widget) { 23 | return super.add(widget); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/gui/tabs/WindowTabScreen.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.gui.tabs; 7 | 8 | import meteordevelopment.meteorclient.gui.GuiTheme; 9 | import meteordevelopment.meteorclient.gui.utils.Cell; 10 | import meteordevelopment.meteorclient.gui.widgets.WWidget; 11 | import meteordevelopment.meteorclient.gui.widgets.containers.WWindow; 12 | 13 | public abstract class WindowTabScreen extends TabScreen { 14 | protected final WWindow window; 15 | 16 | public WindowTabScreen(GuiTheme theme, Tab tab) { 17 | super(theme, tab); 18 | 19 | window = super.add(theme.window(tab.name)).center().widget(); 20 | } 21 | 22 | @Override 23 | public Cell add(W widget) { 24 | return window.add(widget); 25 | } 26 | 27 | @Override 28 | public void clear() { 29 | window.clear(); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/gui/tabs/builtin/ModulesTab.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.gui.tabs.builtin; 7 | 8 | import meteordevelopment.meteorclient.gui.GuiTheme; 9 | import meteordevelopment.meteorclient.gui.GuiThemes; 10 | import meteordevelopment.meteorclient.gui.tabs.Tab; 11 | import meteordevelopment.meteorclient.gui.tabs.TabScreen; 12 | import net.minecraft.client.gui.screen.Screen; 13 | 14 | public class ModulesTab extends Tab { 15 | public ModulesTab() { 16 | super("Modules"); 17 | } 18 | 19 | @Override 20 | public TabScreen createScreen(GuiTheme theme) { 21 | return theme.modulesScreen(); 22 | } 23 | 24 | @Override 25 | public boolean isScreen(Screen screen) { 26 | return GuiThemes.get().isModulesScreen(screen); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/gui/themes/meteor/widgets/WMeteorLabel.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.gui.themes.meteor.widgets; 7 | 8 | import meteordevelopment.meteorclient.gui.renderer.GuiRenderer; 9 | import meteordevelopment.meteorclient.gui.themes.meteor.MeteorWidget; 10 | import meteordevelopment.meteorclient.gui.widgets.WLabel; 11 | 12 | public class WMeteorLabel extends WLabel implements MeteorWidget { 13 | public WMeteorLabel(String text, boolean title) { 14 | super(text, title); 15 | } 16 | 17 | @Override 18 | protected void onRender(GuiRenderer renderer, double mouseX, double mouseY, double delta) { 19 | if (!text.isEmpty()) { 20 | renderer.text(text, x, y, color != null ? color : (title ? theme().titleTextColor.get() : theme().textColor.get()), title); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/gui/themes/meteor/widgets/WMeteorQuad.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.gui.themes.meteor.widgets; 7 | 8 | import meteordevelopment.meteorclient.gui.renderer.GuiRenderer; 9 | import meteordevelopment.meteorclient.gui.widgets.WQuad; 10 | import meteordevelopment.meteorclient.utils.render.color.Color; 11 | 12 | public class WMeteorQuad extends WQuad { 13 | public WMeteorQuad(Color color) { 14 | super(color); 15 | } 16 | 17 | @Override 18 | protected void onRender(GuiRenderer renderer, double mouseX, double mouseY, double delta) { 19 | renderer.quad(x, y, width, height, color); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/gui/themes/meteor/widgets/WMeteorTooltip.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.gui.themes.meteor.widgets; 7 | 8 | import meteordevelopment.meteorclient.gui.renderer.GuiRenderer; 9 | import meteordevelopment.meteorclient.gui.themes.meteor.MeteorWidget; 10 | import meteordevelopment.meteorclient.gui.widgets.WTooltip; 11 | 12 | public class WMeteorTooltip extends WTooltip implements MeteorWidget { 13 | public WMeteorTooltip(String text) { 14 | super(text); 15 | } 16 | 17 | @Override 18 | protected void onRender(GuiRenderer renderer, double mouseX, double mouseY, double delta) { 19 | renderer.quad(this, theme().backgroundColor.get()); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/gui/themes/meteor/widgets/WMeteorTopBar.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.gui.themes.meteor.widgets; 7 | 8 | import meteordevelopment.meteorclient.gui.themes.meteor.MeteorWidget; 9 | import meteordevelopment.meteorclient.gui.widgets.WTopBar; 10 | import meteordevelopment.meteorclient.utils.render.color.Color; 11 | 12 | public class WMeteorTopBar extends WTopBar implements MeteorWidget { 13 | @Override 14 | protected Color getButtonColor(boolean pressed, boolean hovered) { 15 | return theme().backgroundColor.get(pressed, hovered); 16 | } 17 | 18 | @Override 19 | protected Color getNameColor() { 20 | return theme().textColor.get(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/gui/themes/meteor/widgets/WMeteorView.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.gui.themes.meteor.widgets; 7 | 8 | import meteordevelopment.meteorclient.gui.renderer.GuiRenderer; 9 | import meteordevelopment.meteorclient.gui.themes.meteor.MeteorWidget; 10 | import meteordevelopment.meteorclient.gui.widgets.containers.WView; 11 | 12 | public class WMeteorView extends WView implements MeteorWidget { 13 | @Override 14 | protected void onRender(GuiRenderer renderer, double mouseX, double mouseY, double delta) { 15 | if (canScroll && hasScrollBar) { 16 | renderer.quad(handleX(), handleY(), handleWidth(), handleHeight(), theme().scrollbarColor.get(handlePressed, handleMouseOver)); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/gui/themes/meteor/widgets/pressable/WMeteorFavorite.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.gui.themes.meteor.widgets.pressable; 7 | 8 | import meteordevelopment.meteorclient.gui.themes.meteor.MeteorWidget; 9 | import meteordevelopment.meteorclient.gui.widgets.pressable.WFavorite; 10 | import meteordevelopment.meteorclient.utils.render.color.Color; 11 | 12 | public class WMeteorFavorite extends WFavorite implements MeteorWidget { 13 | public WMeteorFavorite(boolean checked) { 14 | super(checked); 15 | } 16 | 17 | @Override 18 | protected Color getColor() { 19 | return theme().favoriteColor.get(); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/gui/themes/meteor/widgets/pressable/WMeteorMinus.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.gui.themes.meteor.widgets.pressable; 7 | 8 | import meteordevelopment.meteorclient.gui.renderer.GuiRenderer; 9 | import meteordevelopment.meteorclient.gui.themes.meteor.MeteorWidget; 10 | import meteordevelopment.meteorclient.gui.widgets.pressable.WMinus; 11 | 12 | public class WMeteorMinus extends WMinus implements MeteorWidget { 13 | @Override 14 | protected void onRender(GuiRenderer renderer, double mouseX, double mouseY, double delta) { 15 | double pad = pad(); 16 | double s = theme.scale(3); 17 | 18 | renderBackground(renderer, this, pressed, mouseOver); 19 | renderer.quad(x + pad, y + height / 2 - s / 2, width - pad * 2, s, theme().minusColor.get()); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/gui/themes/meteor/widgets/pressable/WMeteorTriangle.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.gui.themes.meteor.widgets.pressable; 7 | 8 | import meteordevelopment.meteorclient.gui.renderer.GuiRenderer; 9 | import meteordevelopment.meteorclient.gui.themes.meteor.MeteorWidget; 10 | import meteordevelopment.meteorclient.gui.widgets.pressable.WTriangle; 11 | 12 | public class WMeteorTriangle extends WTriangle implements MeteorWidget { 13 | @Override 14 | protected void onRender(GuiRenderer renderer, double mouseX, double mouseY, double delta) { 15 | renderer.rotatedQuad(x, y, width, height, rotation, GuiRenderer.TRIANGLE, theme().backgroundColor.get(pressed, mouseOver)); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/gui/utils/AlignmentX.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.gui.utils; 7 | 8 | public enum AlignmentX { 9 | Left, Center, Right 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/gui/utils/AlignmentY.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.gui.utils; 7 | 8 | public enum AlignmentY { 9 | Top, Center, Bottom 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/gui/utils/BaseWidget.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.gui.utils; 7 | 8 | import meteordevelopment.meteorclient.gui.GuiTheme; 9 | 10 | public interface BaseWidget { 11 | GuiTheme getTheme(); 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/gui/utils/CharFilter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.gui.utils; 7 | 8 | public interface CharFilter { 9 | boolean filter(String text, char c); 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/gui/utils/IScreenFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.gui.utils; 7 | 8 | import meteordevelopment.meteorclient.gui.GuiTheme; 9 | import meteordevelopment.meteorclient.gui.WidgetScreen; 10 | 11 | public interface IScreenFactory { 12 | WidgetScreen createScreen(GuiTheme theme); 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/gui/widgets/WHorizontalSeparator.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.gui.widgets; 7 | 8 | public abstract class WHorizontalSeparator extends WWidget { 9 | protected String text; 10 | protected double textWidth; 11 | 12 | public WHorizontalSeparator(String text) { 13 | this.text = text; 14 | } 15 | 16 | @Override 17 | protected void onCalculateSize() { 18 | if (text != null) textWidth = theme.textWidth(text); 19 | 20 | width = 1; 21 | height = text != null ? theme.textHeight() : theme.scale(3); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/gui/widgets/WQuad.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.gui.widgets; 7 | 8 | import meteordevelopment.meteorclient.utils.render.color.Color; 9 | 10 | public abstract class WQuad extends WWidget { 11 | public Color color; 12 | 13 | public WQuad(Color color) { 14 | this.color = color; 15 | } 16 | 17 | @Override 18 | protected void onCalculateSize() { 19 | double s = theme.scale(32); 20 | 21 | width = s; 22 | height = s; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/gui/widgets/WRoot.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.gui.widgets; 7 | 8 | public interface WRoot { 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/gui/widgets/WVerticalSeparator.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.gui.widgets; 7 | 8 | public class WVerticalSeparator extends WWidget { 9 | @Override 10 | protected void onCalculateSize() { 11 | width = theme.scale(3); 12 | height = 1; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/gui/widgets/pressable/WCheckbox.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.gui.widgets.pressable; 7 | 8 | public abstract class WCheckbox extends WPressable { 9 | public boolean checked; 10 | 11 | public WCheckbox(boolean checked) { 12 | this.checked = checked; 13 | } 14 | 15 | @Override 16 | protected void onCalculateSize() { 17 | double pad = pad(); 18 | double s = theme.textHeight(); 19 | 20 | width = pad + s + pad; 21 | height = pad + s + pad; 22 | } 23 | 24 | @Override 25 | protected void onPressed(int button) { 26 | checked = !checked; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/gui/widgets/pressable/WMinus.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.gui.widgets.pressable; 7 | 8 | public abstract class WMinus extends WPressable { 9 | @Override 10 | protected void onCalculateSize() { 11 | double pad = pad(); 12 | double s = theme.textHeight(); 13 | 14 | width = pad + s + pad; 15 | height = pad + s + pad; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/gui/widgets/pressable/WPlus.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.gui.widgets.pressable; 7 | 8 | public abstract class WPlus extends WPressable { 9 | @Override 10 | protected void onCalculateSize() { 11 | double pad = pad(); 12 | double s = theme.textHeight(); 13 | 14 | width = pad + s + pad; 15 | height = pad + s + pad; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/gui/widgets/pressable/WTriangle.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.gui.widgets.pressable; 7 | 8 | public abstract class WTriangle extends WPressable { 9 | public double rotation; 10 | 11 | @Override 12 | protected void onCalculateSize() { 13 | double s = theme.textHeight(); 14 | 15 | width = s; 16 | height = s; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/AbstractBlockAccessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import net.minecraft.block.AbstractBlock; 9 | import org.spongepowered.asm.mixin.Mixin; 10 | import org.spongepowered.asm.mixin.gen.Accessor; 11 | 12 | @Mixin(AbstractBlock.class) 13 | public interface AbstractBlockAccessor { 14 | @Accessor("collidable") 15 | boolean isCollidable(); 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/AbstractFurnaceScreenHandlerMixin.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import meteordevelopment.meteorclient.mixininterface.IAbstractFurnaceScreenHandler; 9 | import net.minecraft.item.ItemStack; 10 | import net.minecraft.screen.AbstractFurnaceScreenHandler; 11 | import org.spongepowered.asm.mixin.Mixin; 12 | import org.spongepowered.asm.mixin.Shadow; 13 | 14 | @Mixin(AbstractFurnaceScreenHandler.class) 15 | public abstract class AbstractFurnaceScreenHandlerMixin implements IAbstractFurnaceScreenHandler { 16 | @Shadow 17 | protected abstract boolean isSmeltable(ItemStack itemStack); 18 | 19 | @Override 20 | public boolean meteor$isItemSmeltable(ItemStack itemStack) { 21 | return isSmeltable(itemStack); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/AbstractSignEditScreenAccessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import net.minecraft.block.entity.SignBlockEntity; 9 | import net.minecraft.client.gui.screen.ingame.AbstractSignEditScreen; 10 | import org.spongepowered.asm.mixin.Mixin; 11 | import org.spongepowered.asm.mixin.gen.Accessor; 12 | 13 | @Mixin(AbstractSignEditScreen.class) 14 | public interface AbstractSignEditScreenAccessor { 15 | @Accessor("blockEntity") 16 | SignBlockEntity getSign(); 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/BlockEntityTypeAccessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import net.minecraft.block.Block; 9 | import net.minecraft.block.entity.BlockEntityType; 10 | import org.spongepowered.asm.mixin.Mixin; 11 | import org.spongepowered.asm.mixin.gen.Accessor; 12 | 13 | import java.util.Set; 14 | 15 | @Mixin(BlockEntityType.class) 16 | public interface BlockEntityTypeAccessor { 17 | @Accessor 18 | Set getBlocks(); 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/BlockHitResultAccessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import net.minecraft.util.hit.BlockHitResult; 9 | import net.minecraft.util.math.Direction; 10 | import org.spongepowered.asm.mixin.Mixin; 11 | import org.spongepowered.asm.mixin.Mutable; 12 | import org.spongepowered.asm.mixin.gen.Accessor; 13 | 14 | @Mixin(BlockHitResult.class) 15 | public interface BlockHitResultAccessor { 16 | @Mutable 17 | @Accessor("side") 18 | void setSide(Direction direction); 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/CapabilityTrackerMixin.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import com.mojang.blaze3d.opengl.GlStateManager; 9 | import meteordevelopment.meteorclient.mixininterface.ICapabilityTracker; 10 | import org.spongepowered.asm.mixin.Mixin; 11 | import org.spongepowered.asm.mixin.Shadow; 12 | 13 | @Mixin(GlStateManager.CapabilityTracker.class) 14 | public abstract class CapabilityTrackerMixin implements ICapabilityTracker { 15 | @Shadow 16 | private boolean state; 17 | 18 | @Shadow 19 | public abstract void setState(boolean state); 20 | 21 | @Override 22 | public boolean meteor$get() { 23 | return state; 24 | } 25 | 26 | @Override 27 | public void meteor$set(boolean state) { 28 | setState(state); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/ChatHudAccessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import net.minecraft.client.gui.hud.ChatHud; 9 | import net.minecraft.client.gui.hud.ChatHudLine; 10 | import org.spongepowered.asm.mixin.Mixin; 11 | import org.spongepowered.asm.mixin.gen.Accessor; 12 | 13 | import java.util.List; 14 | 15 | @Mixin(ChatHud.class) 16 | public interface ChatHudAccessor { 17 | @Accessor("visibleMessages") 18 | List getVisibleMessages(); 19 | 20 | @Accessor("messages") 21 | List getMessages(); 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/ChunkAccessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import net.minecraft.block.entity.BlockEntity; 9 | import net.minecraft.util.math.BlockPos; 10 | import net.minecraft.world.chunk.Chunk; 11 | import org.spongepowered.asm.mixin.Mixin; 12 | import org.spongepowered.asm.mixin.gen.Accessor; 13 | 14 | import java.util.Map; 15 | 16 | @Mixin(Chunk.class) 17 | public interface ChunkAccessor { 18 | @Accessor("blockEntities") 19 | Map getBlockEntities(); 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/ClientChunkManagerAccessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import net.minecraft.client.world.ClientChunkManager; 9 | import org.spongepowered.asm.mixin.Mixin; 10 | import org.spongepowered.asm.mixin.gen.Accessor; 11 | 12 | @Mixin(ClientChunkManager.class) 13 | public interface ClientChunkManagerAccessor { 14 | @Accessor("chunks") 15 | ClientChunkManager.ClientChunkMap getChunks(); 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/ClientChunkMapAccessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import net.minecraft.client.world.ClientChunkManager; 9 | import net.minecraft.world.chunk.WorldChunk; 10 | import org.spongepowered.asm.mixin.Mixin; 11 | import org.spongepowered.asm.mixin.gen.Accessor; 12 | 13 | import java.util.concurrent.atomic.AtomicReferenceArray; 14 | 15 | @Mixin(ClientChunkManager.ClientChunkMap.class) 16 | public interface ClientChunkMapAccessor { 17 | @Accessor("chunks") 18 | AtomicReferenceArray getChunks(); 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/ClientConnectionAccessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import io.netty.channel.Channel; 9 | import net.minecraft.network.ClientConnection; 10 | import org.spongepowered.asm.mixin.Mixin; 11 | import org.spongepowered.asm.mixin.gen.Accessor; 12 | 13 | @Mixin(ClientConnection.class) 14 | public interface ClientConnectionAccessor { 15 | @Accessor("channel") 16 | Channel getChannel(); 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/ClientPlayerEntityAccessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import net.minecraft.client.network.ClientPlayerEntity; 9 | import org.spongepowered.asm.mixin.Mixin; 10 | import org.spongepowered.asm.mixin.gen.Accessor; 11 | import org.spongepowered.asm.mixin.gen.Invoker; 12 | 13 | @Mixin(ClientPlayerEntity.class) 14 | public interface ClientPlayerEntityAccessor { 15 | @Accessor("mountJumpStrength") 16 | void setMountJumpStrength(float strength); 17 | 18 | @Accessor("ticksSinceLastPositionPacketSent") 19 | void setTicksSinceLastPositionPacketSent(int ticks); 20 | 21 | @Invoker("canSprint") 22 | boolean invokeCanSprint(); 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/ClientPlayerInteractionManagerAccessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import net.minecraft.client.network.ClientPlayerInteractionManager; 9 | import net.minecraft.util.math.BlockPos; 10 | import org.spongepowered.asm.mixin.Mixin; 11 | import org.spongepowered.asm.mixin.gen.Accessor; 12 | 13 | @Mixin(ClientPlayerInteractionManager.class) 14 | public interface ClientPlayerInteractionManagerAccessor { 15 | @Accessor("currentBreakingProgress") 16 | float getBreakingProgress(); 17 | 18 | @Accessor("currentBreakingProgress") 19 | void setCurrentBreakingProgress(float progress); 20 | 21 | @Accessor("currentBreakingPos") 22 | BlockPos getCurrentBreakingBlockPos(); 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/ContainerComponentAccessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import net.minecraft.component.type.ContainerComponent; 9 | import net.minecraft.item.ItemStack; 10 | import net.minecraft.util.collection.DefaultedList; 11 | import org.spongepowered.asm.mixin.Mixin; 12 | import org.spongepowered.asm.mixin.gen.Accessor; 13 | 14 | @Mixin(ContainerComponent.class) 15 | public interface ContainerComponentAccessor { 16 | @Accessor 17 | DefaultedList getStacks(); 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/CreativeInventoryScreenAccessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import net.minecraft.client.gui.screen.ingame.CreativeInventoryScreen; 9 | import net.minecraft.item.ItemGroup; 10 | import org.spongepowered.asm.mixin.Mixin; 11 | import org.spongepowered.asm.mixin.gen.Accessor; 12 | 13 | @Mixin(CreativeInventoryScreen.class) 14 | public interface CreativeInventoryScreenAccessor { 15 | @Accessor("selectedTab") 16 | static ItemGroup getSelectedTab() { 17 | return null; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/CreativeSlotMixin.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import meteordevelopment.meteorclient.mixininterface.ISlot; 9 | import net.minecraft.screen.slot.Slot; 10 | import org.spongepowered.asm.mixin.Final; 11 | import org.spongepowered.asm.mixin.Mixin; 12 | import org.spongepowered.asm.mixin.Shadow; 13 | 14 | @Mixin(targets = "net.minecraft.client.gui.screen.ingame.CreativeInventoryScreen$CreativeSlot") 15 | public abstract class CreativeSlotMixin implements ISlot { 16 | @Shadow @Final Slot slot; 17 | 18 | @Override 19 | public int meteor$getId() { 20 | return slot.id; 21 | } 22 | 23 | @Override 24 | public int meteor$getIndex() { 25 | return slot.getIndex(); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/CrossbowItemAccessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import net.minecraft.component.type.ChargedProjectilesComponent; 9 | import net.minecraft.item.CrossbowItem; 10 | import org.spongepowered.asm.mixin.Mixin; 11 | import org.spongepowered.asm.mixin.gen.Invoker; 12 | 13 | @Mixin(CrossbowItem.class) 14 | public interface CrossbowItemAccessor { 15 | @Invoker("getSpeed") 16 | static float getSpeed(ChargedProjectilesComponent itemStack) { return 0; } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/DefaultSkinHelperMixin.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import net.minecraft.client.util.DefaultSkinHelper; 9 | import org.spongepowered.asm.mixin.Mixin; 10 | import org.spongepowered.asm.mixin.injection.At; 11 | import org.spongepowered.asm.mixin.injection.Inject; 12 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; 13 | 14 | import java.util.UUID; 15 | 16 | @Mixin(DefaultSkinHelper.class) 17 | public abstract class DefaultSkinHelperMixin { 18 | // Player model rendering in main menu 19 | @Inject(method = "getSkinTextures(Ljava/util/UUID;)Lnet/minecraft/client/util/SkinTextures;", at = @At("HEAD"), cancellable = true) 20 | private static void onShouldUseSlimModel(UUID uuid, CallbackInfoReturnable info) { 21 | if (uuid == null) info.setReturnValue(false); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/EntityAccessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import net.minecraft.entity.Entity; 9 | import org.spongepowered.asm.mixin.Mixin; 10 | import org.spongepowered.asm.mixin.gen.Accessor; 11 | 12 | @Mixin(Entity.class) 13 | public interface EntityAccessor { 14 | @Accessor("touchingWater") 15 | void setInWater(boolean touchingWater); 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/EntityBucketItemAccessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import net.minecraft.entity.EntityType; 9 | import net.minecraft.item.EntityBucketItem; 10 | import org.spongepowered.asm.mixin.Mixin; 11 | import org.spongepowered.asm.mixin.gen.Accessor; 12 | 13 | @Mixin(EntityBucketItem.class) 14 | public interface EntityBucketItemAccessor { 15 | @Accessor("entityType") 16 | EntityType getEntityType(); 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/EntityEffectParticleEffectAccessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import net.minecraft.particle.EntityEffectParticleEffect; 9 | import org.spongepowered.asm.mixin.Mixin; 10 | import org.spongepowered.asm.mixin.gen.Accessor; 11 | 12 | @Mixin(EntityEffectParticleEffect.class) 13 | public interface EntityEffectParticleEffectAccessor { 14 | @Accessor 15 | int getColor(); 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/EntityRenderStateMixin.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import meteordevelopment.meteorclient.mixininterface.IEntityRenderState; 9 | import net.minecraft.client.render.entity.state.EntityRenderState; 10 | import net.minecraft.entity.Entity; 11 | import org.spongepowered.asm.mixin.Mixin; 12 | import org.spongepowered.asm.mixin.Unique; 13 | 14 | @Mixin(EntityRenderState.class) 15 | public abstract class EntityRenderStateMixin implements IEntityRenderState { 16 | @Unique 17 | private Entity entity; 18 | 19 | @Override 20 | public Entity meteor$getEntity() { 21 | return entity; 22 | } 23 | 24 | @Override 25 | public void meteor$setEntity(Entity entity) { 26 | this.entity = entity; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/EntityTrackingSectionAccessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import net.minecraft.util.collection.TypeFilterableList; 9 | import net.minecraft.world.entity.EntityTrackingSection; 10 | import org.spongepowered.asm.mixin.Mixin; 11 | import org.spongepowered.asm.mixin.gen.Accessor; 12 | 13 | @Mixin(EntityTrackingSection.class) 14 | public interface EntityTrackingSectionAccessor { 15 | @Accessor("collection") 16 | TypeFilterableList getCollection(); 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/EntityVelocityUpdateS2CPacketAccessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import net.minecraft.network.packet.s2c.play.EntityVelocityUpdateS2CPacket; 9 | import org.spongepowered.asm.mixin.Mixin; 10 | import org.spongepowered.asm.mixin.Mutable; 11 | import org.spongepowered.asm.mixin.gen.Accessor; 12 | 13 | @Mixin(EntityVelocityUpdateS2CPacket.class) 14 | public interface EntityVelocityUpdateS2CPacketAccessor { 15 | @Mutable 16 | @Accessor("velocityX") 17 | void setX(int velocityX); 18 | 19 | @Mutable 20 | @Accessor("velocityY") 21 | void setY(int velocityY); 22 | 23 | @Mutable 24 | @Accessor("velocityZ") 25 | void setZ(int velocityZ); 26 | } 27 | 28 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/FileCacheAccessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import net.minecraft.client.texture.PlayerSkinProvider; 9 | import org.spongepowered.asm.mixin.Mixin; 10 | import org.spongepowered.asm.mixin.gen.Accessor; 11 | 12 | import java.nio.file.Path; 13 | 14 | @Mixin(PlayerSkinProvider.FileCache.class) 15 | public interface FileCacheAccessor { 16 | @Accessor 17 | Path getDirectory(); 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/GpuTextureMixin.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import com.mojang.blaze3d.textures.AddressMode; 9 | import com.mojang.blaze3d.textures.GpuTexture; 10 | import meteordevelopment.meteorclient.mixininterface.IGpuTexture; 11 | import org.spongepowered.asm.mixin.Mixin; 12 | import org.spongepowered.asm.mixin.Shadow; 13 | 14 | @Mixin(GpuTexture.class) 15 | public abstract class GpuTextureMixin implements IGpuTexture { 16 | @Shadow(remap = false) 17 | protected AddressMode addressModeU; 18 | 19 | @Shadow(remap = false) 20 | protected AddressMode addressModeV; 21 | 22 | @Override 23 | public AddressMode meteor$getAddressModeU() { 24 | return this.addressModeU; 25 | } 26 | 27 | @Override 28 | public AddressMode meteor$getAddressModeV() { 29 | return this.addressModeV; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/HandledScreenAccessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import net.minecraft.client.gui.screen.ingame.HandledScreen; 9 | import net.minecraft.screen.slot.Slot; 10 | import org.spongepowered.asm.mixin.Mixin; 11 | import org.spongepowered.asm.mixin.gen.Accessor; 12 | 13 | @Mixin(HandledScreen.class) 14 | public interface HandledScreenAccessor { 15 | @Accessor("focusedSlot") 16 | Slot getFocusedSlot(); 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/HorseBaseEntityMixin.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import meteordevelopment.meteorclient.mixininterface.IHorseBaseEntity; 9 | import net.minecraft.entity.passive.AbstractHorseEntity; 10 | import org.spongepowered.asm.mixin.Mixin; 11 | import org.spongepowered.asm.mixin.Shadow; 12 | 13 | @Mixin(AbstractHorseEntity.class) 14 | public abstract class HorseBaseEntityMixin implements IHorseBaseEntity { 15 | @Shadow protected abstract void setHorseFlag(int bitmask, boolean flag); 16 | 17 | @Override 18 | public void meteor$setSaddled(boolean saddled) { 19 | setHorseFlag(4, saddled); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/HorseScreenHandlerAccessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import net.minecraft.entity.passive.AbstractHorseEntity; 9 | import net.minecraft.screen.HorseScreenHandler; 10 | import org.spongepowered.asm.mixin.Mixin; 11 | import org.spongepowered.asm.mixin.gen.Accessor; 12 | 13 | @Mixin(HorseScreenHandler.class) 14 | public interface HorseScreenHandlerAccessor { 15 | @Accessor("entity") 16 | AbstractHorseEntity getEntity(); 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/IdentifierAccessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import net.minecraft.util.Identifier; 9 | import org.spongepowered.asm.mixin.Mixin; 10 | import org.spongepowered.asm.mixin.Mutable; 11 | import org.spongepowered.asm.mixin.gen.Accessor; 12 | 13 | @Mixin(Identifier.class) 14 | public interface IdentifierAccessor { 15 | @Mutable 16 | @Accessor 17 | void setPath(String path); 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/ItemGroupsMixin.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import com.llamalad7.mixinextras.injector.ModifyReturnValue; 9 | import meteordevelopment.meteorclient.systems.modules.Modules; 10 | import meteordevelopment.meteorclient.systems.modules.render.BetterTooltips; 11 | import net.minecraft.item.ItemGroups; 12 | import org.spongepowered.asm.mixin.Mixin; 13 | import org.spongepowered.asm.mixin.injection.At; 14 | 15 | @Mixin(ItemGroups.class) 16 | public abstract class ItemGroupsMixin { 17 | @ModifyReturnValue(method = "updateDisplayContext", at = @At("RETURN")) 18 | private static boolean modifyReturn(boolean original) { 19 | return original || Modules.get().get(BetterTooltips.class).updateTooltips(); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/KeyBindingAccessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import net.minecraft.client.option.KeyBinding; 9 | import net.minecraft.client.util.InputUtil; 10 | import org.spongepowered.asm.mixin.Mixin; 11 | import org.spongepowered.asm.mixin.gen.Accessor; 12 | 13 | import java.util.Map; 14 | 15 | @Mixin(KeyBinding.class) 16 | public interface KeyBindingAccessor { 17 | @Accessor("CATEGORY_ORDER_MAP") 18 | static Map getCategoryOrderMap() { return null; } 19 | 20 | @Accessor("boundKey") 21 | InputUtil.Key getKey(); 22 | 23 | @Accessor("timesPressed") 24 | int meteor$getTimesPressed(); 25 | 26 | @Accessor("timesPressed") 27 | void meteor$setTimesPressed(int timesPressed); 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/LayerRenderStateAccessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import net.minecraft.client.render.item.ItemRenderState; 9 | import net.minecraft.client.render.model.json.Transformation; 10 | import org.spongepowered.asm.mixin.Mixin; 11 | import org.spongepowered.asm.mixin.gen.Accessor; 12 | 13 | @Mixin(ItemRenderState.LayerRenderState.class) 14 | public interface LayerRenderStateAccessor { 15 | @Accessor 16 | Transformation getTransform(); 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/LivingEntityAccessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import net.minecraft.entity.LivingEntity; 9 | import net.minecraft.fluid.Fluid; 10 | import net.minecraft.registry.tag.TagKey; 11 | import org.spongepowered.asm.mixin.Mixin; 12 | import org.spongepowered.asm.mixin.gen.Accessor; 13 | import org.spongepowered.asm.mixin.gen.Invoker; 14 | 15 | @Mixin(LivingEntity.class) 16 | public interface LivingEntityAccessor { 17 | @Invoker("swimUpward") 18 | void swimUpwards(TagKey fluid); 19 | 20 | @Accessor("jumping") 21 | boolean isJumping(); 22 | 23 | @Accessor("jumpingCooldown") 24 | int getJumpCooldown(); 25 | 26 | @Accessor("jumpingCooldown") 27 | void setJumpCooldown(int cooldown); 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/MapTextureManagerAccessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import net.minecraft.client.texture.MapTextureManager; 9 | import net.minecraft.component.type.MapIdComponent; 10 | import net.minecraft.item.map.MapState; 11 | import org.spongepowered.asm.mixin.Mixin; 12 | import org.spongepowered.asm.mixin.gen.Invoker; 13 | 14 | @Mixin(MapTextureManager.class) 15 | public interface MapTextureManagerAccessor { 16 | @Invoker("getMapTexture") 17 | MapTextureManager.MapTexture invokeGetMapTexture(MapIdComponent id, MapState state); 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/MinecraftServerAccessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import net.minecraft.server.MinecraftServer; 9 | import net.minecraft.world.level.storage.LevelStorage; 10 | import org.spongepowered.asm.mixin.Mixin; 11 | import org.spongepowered.asm.mixin.gen.Accessor; 12 | 13 | @Mixin(MinecraftServer.class) 14 | public interface MinecraftServerAccessor { 15 | @Accessor("session") 16 | LevelStorage.Session getSession(); 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/MultiPhaseMixin.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import meteordevelopment.meteorclient.mixininterface.IMultiPhase; 9 | import net.minecraft.client.render.RenderLayer; 10 | import org.spongepowered.asm.mixin.Final; 11 | import org.spongepowered.asm.mixin.Mixin; 12 | import org.spongepowered.asm.mixin.Shadow; 13 | 14 | @Mixin(RenderLayer.MultiPhase.class) 15 | public abstract class MultiPhaseMixin implements IMultiPhase { 16 | @Shadow 17 | @Final 18 | private RenderLayer.MultiPhaseParameters phases; 19 | 20 | @Override 21 | public RenderLayer.MultiPhaseParameters meteor$getParameters() { 22 | return this.phases; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/MultiPhaseParametersMixin.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import meteordevelopment.meteorclient.mixininterface.IMultiPhaseParameters; 9 | import net.minecraft.client.render.RenderLayer; 10 | import net.minecraft.client.render.RenderPhase; 11 | import org.spongepowered.asm.mixin.Final; 12 | import org.spongepowered.asm.mixin.Mixin; 13 | import org.spongepowered.asm.mixin.Shadow; 14 | 15 | @Mixin(RenderLayer.MultiPhaseParameters.class) 16 | public abstract class MultiPhaseParametersMixin implements IMultiPhaseParameters { 17 | @Shadow 18 | @Final 19 | RenderPhase.Target target; 20 | 21 | @Override 22 | public RenderPhase.Target meteor$getTarget() { 23 | return this.target; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/MutableTextMixin.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import meteordevelopment.meteorclient.mixininterface.IText; 9 | import net.minecraft.text.MutableText; 10 | import net.minecraft.util.Language; 11 | import org.jetbrains.annotations.Nullable; 12 | import org.spongepowered.asm.mixin.Mixin; 13 | import org.spongepowered.asm.mixin.Shadow; 14 | 15 | @Mixin(MutableText.class) 16 | public abstract class MutableTextMixin implements IText { 17 | @Shadow 18 | private @Nullable Language language; 19 | 20 | @Override 21 | public void meteor$invalidateCache() { 22 | this.language = null; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/PlayerEntityAccessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import net.minecraft.entity.EntityPose; 9 | import net.minecraft.entity.player.PlayerEntity; 10 | import org.spongepowered.asm.mixin.Mixin; 11 | import org.spongepowered.asm.mixin.gen.Invoker; 12 | 13 | @Mixin(PlayerEntity.class) 14 | public interface PlayerEntityAccessor { 15 | @Invoker("canChangeIntoPose") 16 | boolean meteor$canChangeIntoPose(EntityPose pose); 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/PlayerMoveC2SPacketAccessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import net.minecraft.network.packet.c2s.play.PlayerMoveC2SPacket; 9 | import org.spongepowered.asm.mixin.Mixin; 10 | import org.spongepowered.asm.mixin.Mutable; 11 | import org.spongepowered.asm.mixin.gen.Accessor; 12 | 13 | @Mixin(PlayerMoveC2SPacket.class) 14 | public interface PlayerMoveC2SPacketAccessor { 15 | @Mutable 16 | @Accessor("y") 17 | void setY(double y); 18 | 19 | @Mutable 20 | @Accessor("onGround") 21 | void setOnGround(boolean onGround); 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/PlayerMoveC2SPacketMixin.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import meteordevelopment.meteorclient.mixininterface.IPlayerMoveC2SPacket; 9 | import net.minecraft.network.packet.c2s.play.PlayerMoveC2SPacket; 10 | import org.spongepowered.asm.mixin.Mixin; 11 | import org.spongepowered.asm.mixin.Unique; 12 | 13 | @Mixin(PlayerMoveC2SPacket.class) 14 | public abstract class PlayerMoveC2SPacketMixin implements IPlayerMoveC2SPacket { 15 | @Unique private int tag; 16 | 17 | @Override 18 | public void meteor$setTag(int tag) { this.tag = tag; } 19 | 20 | @Override 21 | public int meteor$getTag() { return this.tag; } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/PlayerSkinProviderAccessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import net.minecraft.client.texture.PlayerSkinProvider; 9 | import org.spongepowered.asm.mixin.Mixin; 10 | import org.spongepowered.asm.mixin.gen.Accessor; 11 | 12 | @Mixin(PlayerSkinProvider.class) 13 | public interface PlayerSkinProviderAccessor { 14 | @Accessor("skinCache") 15 | PlayerSkinProvider.FileCache getSkinCache(); 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/ProjectileEntityAccessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import net.minecraft.entity.projectile.ProjectileEntity; 9 | import org.spongepowered.asm.mixin.Mixin; 10 | import org.spongepowered.asm.mixin.gen.Accessor; 11 | 12 | import java.util.UUID; 13 | 14 | @Mixin(ProjectileEntity.class) 15 | public interface ProjectileEntityAccessor { 16 | @Accessor 17 | UUID getOwnerUuid(); 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/ProjectileInGroundAccessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import net.minecraft.entity.projectile.PersistentProjectileEntity; 9 | import org.spongepowered.asm.mixin.Mixin; 10 | import org.spongepowered.asm.mixin.gen.Invoker; 11 | 12 | @Mixin(PersistentProjectileEntity.class) 13 | public interface ProjectileInGroundAccessor { 14 | @Invoker("isInGround") 15 | boolean invokeIsInGround(); 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/RegistriesMixin.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import net.minecraft.registry.Registries; 9 | import org.spongepowered.asm.mixin.Mixin; 10 | import org.spongepowered.asm.mixin.injection.At; 11 | import org.spongepowered.asm.mixin.injection.Redirect; 12 | 13 | import java.util.function.Supplier; 14 | 15 | @Mixin(Registries.class) 16 | public abstract class RegistriesMixin { 17 | @Redirect(method = "create(Lnet/minecraft/registry/RegistryKey;Lnet/minecraft/registry/MutableRegistry;Lnet/minecraft/registry/Registries$Initializer;)Lnet/minecraft/registry/MutableRegistry;", at = @At(value = "INVOKE", target = "Lnet/minecraft/Bootstrap;ensureBootstrapped(Ljava/util/function/Supplier;)V")) 18 | private static void ignoreBootstrap(Supplier callerGetter) { 19 | // nothing 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/ReloadStateAccessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import net.minecraft.client.resource.ResourceReloadLogger; 9 | import org.spongepowered.asm.mixin.Mixin; 10 | import org.spongepowered.asm.mixin.gen.Accessor; 11 | 12 | @Mixin(ResourceReloadLogger.ReloadState.class) 13 | public interface ReloadStateAccessor { 14 | @Accessor("finished") 15 | boolean isFinished(); 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/RenderPipelineMixin.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import com.mojang.blaze3d.pipeline.RenderPipeline; 9 | import meteordevelopment.meteorclient.mixininterface.IRenderPipeline; 10 | import org.spongepowered.asm.mixin.Mixin; 11 | import org.spongepowered.asm.mixin.Unique; 12 | 13 | @Mixin(RenderPipeline.class) 14 | public abstract class RenderPipelineMixin implements IRenderPipeline { 15 | @Unique 16 | private boolean lineSmooth; 17 | 18 | @Override 19 | public void meteor$setLineSmooth(boolean lineSmooth) { 20 | this.lineSmooth = lineSmooth; 21 | } 22 | 23 | @Override 24 | public boolean meteor$getLineSmooth() { 25 | return lineSmooth; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/ResourceReloadLoggerAccessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import net.minecraft.client.resource.ResourceReloadLogger; 9 | import org.spongepowered.asm.mixin.Mixin; 10 | import org.spongepowered.asm.mixin.gen.Accessor; 11 | 12 | @Mixin(ResourceReloadLogger.class) 13 | public interface ResourceReloadLoggerAccessor { 14 | @Accessor("reloadState") 15 | ResourceReloadLogger.ReloadState getReloadState(); 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/SectionedEntityCacheAccessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import it.unimi.dsi.fastutil.longs.Long2ObjectMap; 9 | import it.unimi.dsi.fastutil.longs.LongSortedSet; 10 | import net.minecraft.world.entity.EntityLike; 11 | import net.minecraft.world.entity.EntityTrackingSection; 12 | import net.minecraft.world.entity.SectionedEntityCache; 13 | import org.spongepowered.asm.mixin.Mixin; 14 | import org.spongepowered.asm.mixin.gen.Accessor; 15 | 16 | @Mixin(SectionedEntityCache.class) 17 | public interface SectionedEntityCacheAccessor { 18 | @Accessor("trackedPositions") 19 | LongSortedSet getTrackedPositions(); 20 | 21 | @Accessor("trackingSections") 22 | Long2ObjectMap> getTrackingSections(); 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/ServerResourcePackLoaderMixin.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import meteordevelopment.meteorclient.systems.modules.Modules; 9 | import meteordevelopment.meteorclient.systems.modules.misc.ServerSpoof; 10 | import net.minecraft.client.resource.server.ServerResourcePackLoader; 11 | import org.spongepowered.asm.mixin.Mixin; 12 | import org.spongepowered.asm.mixin.injection.At; 13 | import org.spongepowered.asm.mixin.injection.Inject; 14 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 15 | 16 | @Mixin(ServerResourcePackLoader.class) 17 | public abstract class ServerResourcePackLoaderMixin { 18 | @Inject(method = "onReloadSuccess", at = @At("TAIL")) 19 | private void removeInactivePacksTail(CallbackInfo ci) { 20 | Modules.get().get(ServerSpoof.class).silentAcceptResourcePack = false; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/ShapeIndexBufferAccessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import com.mojang.blaze3d.buffers.GpuBuffer; 9 | import com.mojang.blaze3d.systems.RenderSystem; 10 | import org.spongepowered.asm.mixin.Mixin; 11 | import org.spongepowered.asm.mixin.gen.Accessor; 12 | 13 | @Mixin(RenderSystem.ShapeIndexBuffer.class) 14 | public interface ShapeIndexBufferAccessor { 15 | @Accessor("indexBuffer") 16 | GpuBuffer getBuffer(); 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/ShulkerBoxScreenHandlerAccessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import net.minecraft.inventory.Inventory; 9 | import net.minecraft.screen.ShulkerBoxScreenHandler; 10 | import org.spongepowered.asm.mixin.Mixin; 11 | import org.spongepowered.asm.mixin.gen.Accessor; 12 | 13 | @Mixin(ShulkerBoxScreenHandler.class) 14 | public interface ShulkerBoxScreenHandlerAccessor { 15 | @Accessor("inventory") 16 | Inventory meteor$getInventory(); 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/SimpleEntityLookupAccessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import net.minecraft.world.entity.EntityLike; 9 | import net.minecraft.world.entity.SectionedEntityCache; 10 | import net.minecraft.world.entity.SimpleEntityLookup; 11 | import org.spongepowered.asm.mixin.Mixin; 12 | import org.spongepowered.asm.mixin.gen.Accessor; 13 | 14 | @Mixin(SimpleEntityLookup.class) 15 | public interface SimpleEntityLookupAccessor { 16 | @Accessor("cache") 17 | SectionedEntityCache getCache(); 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/SlotMixin.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import meteordevelopment.meteorclient.mixininterface.ISlot; 9 | import net.minecraft.screen.slot.Slot; 10 | import org.spongepowered.asm.mixin.Final; 11 | import org.spongepowered.asm.mixin.Mixin; 12 | import org.spongepowered.asm.mixin.Shadow; 13 | 14 | @Mixin(Slot.class) 15 | public abstract class SlotMixin implements ISlot { 16 | @Shadow public int id; 17 | @Shadow @Final private int index; 18 | 19 | @Override 20 | public int meteor$getId() { 21 | return id; 22 | } 23 | 24 | @Override 25 | public int meteor$getIndex() { 26 | return index; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/StatusEffectInstanceAccessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import net.minecraft.entity.effect.StatusEffectInstance; 9 | import org.spongepowered.asm.mixin.Mixin; 10 | import org.spongepowered.asm.mixin.gen.Accessor; 11 | 12 | @Mixin(StatusEffectInstance.class) 13 | public interface StatusEffectInstanceAccessor { 14 | @Accessor("duration") 15 | void setDuration(int duration); 16 | 17 | @Accessor("amplifier") 18 | void setAmplifier(int amplifier); 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/TextHandlerAccessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import net.minecraft.client.font.TextHandler; 9 | import org.spongepowered.asm.mixin.Mixin; 10 | import org.spongepowered.asm.mixin.gen.Accessor; 11 | 12 | @Mixin(TextHandler.class) 13 | public interface TextHandlerAccessor { 14 | @Accessor("widthRetriever") 15 | TextHandler.WidthRetriever getWidthRetriever(); 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/TextMixin.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import meteordevelopment.meteorclient.mixininterface.IText; 9 | import net.minecraft.text.Text; 10 | import org.spongepowered.asm.mixin.Mixin; 11 | 12 | @Mixin(Text.class) 13 | public interface TextMixin extends IText { 14 | @Override 15 | default void meteor$invalidateCache() {} 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/WorldAccessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import net.minecraft.entity.Entity; 9 | import net.minecraft.world.World; 10 | import net.minecraft.world.entity.EntityLookup; 11 | import org.spongepowered.asm.mixin.Mixin; 12 | import org.spongepowered.asm.mixin.gen.Invoker; 13 | 14 | @Mixin(World.class) 15 | public interface WorldAccessor { 16 | @Invoker("getEntityLookup") 17 | EntityLookup getEntityLookup(); 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/WorldRendererAccessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import it.unimi.dsi.fastutil.ints.Int2ObjectMap; 9 | 10 | import net.minecraft.client.render.WorldRenderer; 11 | import net.minecraft.entity.player.BlockBreakingInfo; 12 | import org.spongepowered.asm.mixin.Mixin; 13 | import org.spongepowered.asm.mixin.gen.Accessor; 14 | 15 | @Mixin(WorldRenderer.class) 16 | public interface WorldRendererAccessor { 17 | @Accessor("blockBreakingInfos") 18 | Int2ObjectMap getBlockBreakingInfos(); 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixin/YggdrasilMinecraftSessionServiceAccessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixin; 7 | 8 | import com.mojang.authlib.Environment; 9 | import com.mojang.authlib.yggdrasil.ServicesKeySet; 10 | import com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService; 11 | import org.spongepowered.asm.mixin.Mixin; 12 | import org.spongepowered.asm.mixin.gen.Invoker; 13 | 14 | import java.net.Proxy; 15 | 16 | @Mixin(YggdrasilMinecraftSessionService.class) 17 | public interface YggdrasilMinecraftSessionServiceAccessor { 18 | @Invoker("") 19 | static YggdrasilMinecraftSessionService createYggdrasilMinecraftSessionService(final ServicesKeySet servicesKeySet, final Proxy proxy, final Environment env) { 20 | throw new UnsupportedOperationException(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixininterface/IAbstractFurnaceScreenHandler.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixininterface; 7 | 8 | import net.minecraft.item.ItemStack; 9 | 10 | public interface IAbstractFurnaceScreenHandler { 11 | boolean meteor$isItemSmeltable(ItemStack itemStack); 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixininterface/IBakedQuad.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixininterface; 7 | 8 | public interface IBakedQuad { 9 | float meteor$getX(int vertexI); 10 | 11 | float meteor$getY(int vertexI); 12 | 13 | float meteor$getZ(int vertexI); 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixininterface/IBox.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixininterface; 7 | 8 | import net.minecraft.util.math.BlockPos; 9 | 10 | public interface IBox { 11 | void meteor$expand(double v); 12 | 13 | void meteor$set(double x1, double y1, double z1, double x2, double y2, double z2); 14 | 15 | default void meteor$set(BlockPos pos) { 16 | meteor$set(pos.getX(), pos.getY(), pos.getZ(), pos.getX() + 1, pos.getY() + 1, pos.getZ() + 1); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixininterface/ICamera.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixininterface; 7 | 8 | public interface ICamera { 9 | void meteor$setRot(double yaw, double pitch); 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixininterface/ICapabilityTracker.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixininterface; 7 | 8 | public interface ICapabilityTracker { 9 | boolean meteor$get(); 10 | 11 | void meteor$set(boolean state); 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixininterface/IChatHud.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixininterface; 7 | 8 | import net.minecraft.text.Text; 9 | 10 | public interface IChatHud { 11 | void meteor$add(Text message, int id); 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixininterface/IChatHudLine.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixininterface; 7 | 8 | import com.mojang.authlib.GameProfile; 9 | 10 | public interface IChatHudLine { 11 | String meteor$getText(); 12 | 13 | int meteor$getId(); 14 | 15 | void meteor$setId(int id); 16 | 17 | GameProfile meteor$getSender(); 18 | 19 | void meteor$setSender(GameProfile profile); 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixininterface/IChatHudLineVisible.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixininterface; 7 | 8 | public interface IChatHudLineVisible extends IChatHudLine { 9 | boolean meteor$isStartOfEntry(); 10 | void meteor$setStartOfEntry(boolean start); 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixininterface/IClientPlayerInteractionManager.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixininterface; 7 | 8 | public interface IClientPlayerInteractionManager { 9 | void meteor$syncSelected(); 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixininterface/IExplosionS2CPacket.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixininterface; 7 | 8 | public interface IExplosionS2CPacket { 9 | void meteor$setVelocityX(float velocity); 10 | 11 | void meteor$setVelocityY(float velocity); 12 | 13 | void meteor$setVelocityZ(float velocity); 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixininterface/IGpuDevice.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixininterface; 7 | 8 | import com.mojang.blaze3d.systems.RenderPass; 9 | 10 | public interface IGpuDevice { 11 | /** 12 | * Currently there can only be a single scissor pushed at once. 13 | */ 14 | void meteor$pushScissor(int x, int y, int width, int height); 15 | 16 | void meteor$popScissor(); 17 | 18 | /** 19 | * This is an *INTERNAL* method, it shouldn't be called. 20 | */ 21 | @Deprecated 22 | @SuppressWarnings("DeprecatedIsStillUsed") 23 | void meteor$onCreateRenderPass(RenderPass pass); 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixininterface/IGpuTexture.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixininterface; 7 | 8 | import com.mojang.blaze3d.textures.AddressMode; 9 | 10 | public interface IGpuTexture { 11 | AddressMode meteor$getAddressModeU(); 12 | AddressMode meteor$getAddressModeV(); 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixininterface/IHorseBaseEntity.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixininterface; 7 | 8 | public interface IHorseBaseEntity { 9 | void meteor$setSaddled(boolean saddled); 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixininterface/IMessageHandler.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixininterface; 7 | 8 | import com.mojang.authlib.GameProfile; 9 | import net.minecraft.client.gui.hud.MessageIndicator; 10 | import net.minecraft.network.message.MessageSignatureData; 11 | import net.minecraft.text.Text; 12 | 13 | public interface IMessageHandler { 14 | /** Only valid inside of {@link net.minecraft.client.gui.hud.ChatHud#addMessage(Text, MessageSignatureData, MessageIndicator)} call */ 15 | GameProfile meteor$getSender(); 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixininterface/IMinecraftClient.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixininterface; 7 | 8 | import net.minecraft.client.gl.Framebuffer; 9 | 10 | public interface IMinecraftClient { 11 | void meteor$rightClick(); 12 | 13 | void meteor$setFramebuffer(Framebuffer framebuffer); 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixininterface/IMultiPhase.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixininterface; 7 | 8 | import net.minecraft.client.render.RenderLayer; 9 | 10 | public interface IMultiPhase { 11 | RenderLayer.MultiPhaseParameters meteor$getParameters(); 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixininterface/IMultiPhaseParameters.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixininterface; 7 | 8 | import net.minecraft.client.render.RenderPhase; 9 | 10 | public interface IMultiPhaseParameters { 11 | RenderPhase.Target meteor$getTarget(); 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixininterface/IPlayerInteractEntityC2SPacket.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixininterface; 7 | 8 | import net.minecraft.entity.Entity; 9 | import net.minecraft.network.packet.c2s.play.PlayerInteractEntityC2SPacket; 10 | 11 | public interface IPlayerInteractEntityC2SPacket { 12 | PlayerInteractEntityC2SPacket.InteractType meteor$getType(); 13 | 14 | Entity meteor$getEntity(); 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixininterface/IPlayerMoveC2SPacket.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixininterface; 7 | 8 | public interface IPlayerMoveC2SPacket { 9 | int meteor$getTag(); 10 | 11 | void meteor$setTag(int tag); 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixininterface/IRaycastContext.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixininterface; 7 | 8 | import net.minecraft.entity.Entity; 9 | import net.minecraft.util.math.Vec3d; 10 | import net.minecraft.world.RaycastContext; 11 | 12 | public interface IRaycastContext { 13 | void meteor$set(Vec3d start, Vec3d end, RaycastContext.ShapeType shapeType, RaycastContext.FluidHandling fluidHandling, Entity entity); 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixininterface/IRenderPipeline.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixininterface; 7 | 8 | public interface IRenderPipeline { 9 | void meteor$setLineSmooth(boolean lineSmooth); 10 | 11 | boolean meteor$getLineSmooth(); 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixininterface/ISimpleOption.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixininterface; 7 | 8 | public interface ISimpleOption { 9 | void meteor$set(Object value); 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixininterface/ISlot.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixininterface; 7 | 8 | public interface ISlot { 9 | int meteor$getId(); 10 | 11 | int meteor$getIndex(); 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixininterface/IText.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixininterface; 7 | 8 | public interface IText { 9 | void meteor$invalidateCache(); 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixininterface/IVec3d.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixininterface; 7 | 8 | import net.minecraft.util.math.Vec3i; 9 | import org.joml.Vector3d; 10 | 11 | public interface IVec3d { 12 | void meteor$set(double x, double y, double z); 13 | 14 | default void meteor$set(Vec3i vec) { 15 | meteor$set(vec.getX(), vec.getY(), vec.getZ()); 16 | } 17 | 18 | default void meteor$set(Vector3d vec) { 19 | meteor$set(vec.x, vec.y, vec.z); 20 | } 21 | 22 | void meteor$setXZ(double x, double z); 23 | 24 | void meteor$setY(double y); 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/mixininterface/IWorldRenderer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.mixininterface; 7 | 8 | import net.minecraft.client.gl.Framebuffer; 9 | 10 | public interface IWorldRenderer { 11 | void meteor$pushEntityOutlineFramebuffer(Framebuffer framebuffer); 12 | 13 | void meteor$popEntityOutlineFramebuffer(); 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/pathing/BaritoneUtils.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.pathing; 7 | 8 | import baritone.api.BaritoneAPI; 9 | 10 | public class BaritoneUtils { 11 | public static boolean IS_AVAILABLE = false; 12 | 13 | private BaritoneUtils() { 14 | } 15 | 16 | public static String getPrefix() { 17 | if (IS_AVAILABLE) { 18 | return BaritoneAPI.getSettings().prefix.value; 19 | } 20 | 21 | return ""; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/renderer/FullScreenRenderer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.renderer; 7 | 8 | import com.mojang.blaze3d.vertex.VertexFormat; 9 | import meteordevelopment.meteorclient.utils.PreInit; 10 | 11 | public class FullScreenRenderer { 12 | public static MeshBuilder mesh; 13 | 14 | private FullScreenRenderer() {} 15 | 16 | @PreInit 17 | public static void init() { 18 | mesh = new MeshBuilder(MeteorVertexFormats.POS2, VertexFormat.DrawMode.TRIANGLES, 4, 6); 19 | 20 | mesh.begin(); 21 | mesh.ensureQuadCapacity(); 22 | 23 | mesh.quad( 24 | mesh.vec2(-1, -1).next(), 25 | mesh.vec2(-1, 1).next(), 26 | mesh.vec2(1, 1).next(), 27 | mesh.vec2(1, -1).next() 28 | ); 29 | 30 | mesh.end(); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/renderer/MeteorVertexFormatElements.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.renderer; 7 | 8 | import com.mojang.blaze3d.vertex.VertexFormatElement; 9 | 10 | public abstract class MeteorVertexFormatElements { 11 | public static final VertexFormatElement POS2 = VertexFormatElement.register(getNextVertexFormatElementId(), 0, VertexFormatElement.Type.FLOAT, VertexFormatElement.Usage.POSITION, 2); 12 | 13 | private MeteorVertexFormatElements() {} 14 | 15 | private static int getNextVertexFormatElementId() { 16 | int id = 0; 17 | 18 | while (VertexFormatElement.byId(id) != null) { 19 | id++; 20 | 21 | if (id >= 32) { 22 | throw new RuntimeException("Too many mods registering VertexFormatElements"); 23 | } 24 | } 25 | 26 | return id; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/renderer/ShapeMode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.renderer; 7 | 8 | public enum ShapeMode { 9 | Lines, 10 | Sides, 11 | Both; 12 | 13 | public boolean lines() { 14 | return this == Lines || this == Both; 15 | } 16 | 17 | public boolean sides() { 18 | return this == Sides ||this == Both; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/renderer/text/BuiltinFontFace.java: -------------------------------------------------------------------------------- 1 | package meteordevelopment.meteorclient.renderer.text; 2 | 3 | import meteordevelopment.meteorclient.utils.render.FontUtils; 4 | 5 | import java.io.InputStream; 6 | 7 | public class BuiltinFontFace extends FontFace { 8 | private final String name; 9 | 10 | public BuiltinFontFace(FontInfo info, String name) { 11 | super(info); 12 | 13 | this.name = name; 14 | } 15 | 16 | @Override 17 | public InputStream toStream() { 18 | InputStream in = FontUtils.stream(name); 19 | if (in == null) throw new RuntimeException("Failed to load builtin font " + name + "."); 20 | return in; 21 | } 22 | 23 | @Override 24 | public String toString() { 25 | return super.toString() + " (builtin)"; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/renderer/text/FontFace.java: -------------------------------------------------------------------------------- 1 | package meteordevelopment.meteorclient.renderer.text; 2 | 3 | import java.io.InputStream; 4 | 5 | public abstract class FontFace { 6 | public final FontInfo info; 7 | 8 | protected FontFace(FontInfo info) { 9 | this.info = info; 10 | } 11 | 12 | public abstract InputStream toStream(); 13 | 14 | @Override 15 | public String toString() { 16 | return info.toString(); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/renderer/text/SystemFontFace.java: -------------------------------------------------------------------------------- 1 | package meteordevelopment.meteorclient.renderer.text; 2 | 3 | import meteordevelopment.meteorclient.utils.render.FontUtils; 4 | 5 | import java.io.InputStream; 6 | import java.nio.file.Path; 7 | 8 | public class SystemFontFace extends FontFace { 9 | private final Path path; 10 | 11 | public SystemFontFace(FontInfo info, Path path) { 12 | super(info); 13 | 14 | this.path = path; 15 | } 16 | 17 | @Override 18 | public InputStream toStream() { 19 | if (!path.toFile().exists()) { 20 | throw new RuntimeException("Tried to load font that no longer exists."); 21 | } 22 | 23 | InputStream in = FontUtils.stream(path.toFile()); 24 | if (in == null) throw new RuntimeException("Failed to load font from " + path + "."); 25 | return in; 26 | } 27 | 28 | @Override 29 | public String toString() { 30 | return super.toString() + " (" + path.toString() + ")"; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/settings/IBlockData.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.settings; 7 | 8 | import meteordevelopment.meteorclient.gui.GuiTheme; 9 | import meteordevelopment.meteorclient.gui.WidgetScreen; 10 | import meteordevelopment.meteorclient.utils.misc.IChangeable; 11 | import meteordevelopment.meteorclient.utils.misc.ICopyable; 12 | import meteordevelopment.meteorclient.utils.misc.ISerializable; 13 | import net.minecraft.block.Block; 14 | 15 | public interface IBlockData & ISerializable & IChangeable & IBlockData> { 16 | WidgetScreen createScreen(GuiTheme theme, Block block, BlockDataSetting setting); 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/settings/IVisible.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.settings; 7 | 8 | public interface IVisible { 9 | boolean isVisible(); 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/settings/PotionSetting.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.settings; 7 | 8 | import meteordevelopment.meteorclient.utils.misc.MyPotion; 9 | 10 | import java.util.function.Consumer; 11 | 12 | public class PotionSetting extends EnumSetting { 13 | public PotionSetting(String name, String description, MyPotion defaultValue, Consumer onChanged, Consumer> onModuleActivated, IVisible visible) { 14 | super(name, description, defaultValue, onChanged, onModuleActivated, visible); 15 | } 16 | 17 | public static class Builder extends EnumSetting.Builder { 18 | @Override 19 | public EnumSetting build() { 20 | return new PotionSetting(name, description, defaultValue, onChanged, onModuleActivated, visible); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/systems/accounts/AccountType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.systems.accounts; 7 | 8 | public enum AccountType { 9 | Cracked, 10 | Microsoft, 11 | TheAltening 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/systems/accounts/TexturesJson.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.systems.accounts; 7 | 8 | public class TexturesJson { 9 | public Textures textures; 10 | 11 | public static class Textures { 12 | public Texture SKIN; 13 | } 14 | 15 | public static class Texture { 16 | public String url; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/systems/accounts/TokenAccount.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.systems.accounts; 7 | 8 | public interface TokenAccount { 9 | String getToken(); 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/systems/accounts/UuidToProfileResponse.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.systems.accounts; 7 | 8 | public class UuidToProfileResponse { 9 | public Property[] properties; 10 | 11 | public String getPropertyValue(String name) { 12 | for (Property property : properties) { 13 | if (property.name.equals(name)) return property.value; 14 | } 15 | 16 | return null; 17 | } 18 | 19 | public static class Property { 20 | public String name; 21 | public String value; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/systems/hud/Alignment.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.systems.hud; 7 | 8 | public enum Alignment { 9 | Auto, 10 | Left, 11 | Center, 12 | Right 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/systems/hud/HudGroup.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.systems.hud; 7 | 8 | public record HudGroup(String title) { 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/systems/hud/XAnchor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.systems.hud; 7 | 8 | public enum XAnchor { 9 | Left, 10 | Center, 11 | Right 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/systems/hud/YAnchor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.systems.hud; 7 | 8 | public enum YAnchor { 9 | Top, 10 | Center, 11 | Bottom 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/systems/modules/misc/BetterBeacons.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.systems.modules.misc; 7 | 8 | import meteordevelopment.meteorclient.systems.modules.Categories; 9 | import meteordevelopment.meteorclient.systems.modules.Module; 10 | 11 | public class BetterBeacons extends Module { 12 | public BetterBeacons() { 13 | super(Categories.Misc, "better-beacons", "Select effects unaffected by beacon level."); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/systems/modules/movement/SafeWalk.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.systems.modules.movement; 7 | 8 | import meteordevelopment.meteorclient.events.entity.player.ClipAtLedgeEvent; 9 | import meteordevelopment.meteorclient.systems.modules.Categories; 10 | import meteordevelopment.meteorclient.systems.modules.Module; 11 | import meteordevelopment.orbit.EventHandler; 12 | 13 | public class SafeWalk extends Module { 14 | public SafeWalk() { 15 | super(Categories.Movement, "safe-walk", "Prevents you from walking off blocks."); 16 | } 17 | 18 | @EventHandler 19 | private void onClipAtLedge(ClipAtLedgeEvent event) { 20 | if (!mc.player.isSneaking()) event.setClip(true); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/systems/modules/movement/elytrafly/ElytraFlightModes.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.systems.modules.movement.elytrafly; 7 | 8 | public enum ElytraFlightModes { 9 | Vanilla, 10 | Packet, 11 | Pitch40, 12 | Bounce 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/systems/modules/movement/elytrafly/modes/Vanilla.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.systems.modules.movement.elytrafly.modes; 7 | 8 | import meteordevelopment.meteorclient.systems.modules.movement.elytrafly.ElytraFlightMode; 9 | import meteordevelopment.meteorclient.systems.modules.movement.elytrafly.ElytraFlightModes; 10 | 11 | public class Vanilla extends ElytraFlightMode { 12 | public Vanilla() { 13 | super(ElytraFlightModes.Vanilla); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/systems/modules/movement/speed/SpeedModes.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.systems.modules.movement.speed; 7 | 8 | public enum SpeedModes { 9 | Strafe, 10 | Vanilla 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/systems/modules/player/LiquidInteract.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.systems.modules.player; 7 | 8 | import meteordevelopment.meteorclient.systems.modules.Categories; 9 | import meteordevelopment.meteorclient.systems.modules.Module; 10 | 11 | public class LiquidInteract extends Module { 12 | public LiquidInteract() { 13 | super(Categories.Player, "liquid-interact", "Allows you to interact with liquids."); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/systems/modules/player/Portals.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.systems.modules.player; 7 | 8 | import meteordevelopment.meteorclient.systems.modules.Categories; 9 | import meteordevelopment.meteorclient.systems.modules.Module; 10 | 11 | public class Portals extends Module { 12 | public Portals() { 13 | super(Categories.Player, "portals", "Allows you to use GUIs normally while in a Nether Portal."); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/systems/proxies/ProxyType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.systems.proxies; 7 | 8 | import org.jetbrains.annotations.Nullable; 9 | 10 | public enum ProxyType { 11 | Socks4, 12 | Socks5; 13 | 14 | @Nullable 15 | public static ProxyType parse(String group) { 16 | for (ProxyType type : values()) { 17 | if (type.name().equalsIgnoreCase(group)) { 18 | return type; 19 | } 20 | } 21 | return null; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/systems/waypoints/events/WaypointAddedEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.systems.waypoints.events; 7 | 8 | import meteordevelopment.meteorclient.systems.waypoints.Waypoint; 9 | 10 | public class WaypointAddedEvent { 11 | 12 | public final Waypoint waypoint; 13 | 14 | public WaypointAddedEvent(Waypoint waypoint) { 15 | this.waypoint = waypoint; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/systems/waypoints/events/WaypointRemovedEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.systems.waypoints.events; 7 | 8 | import meteordevelopment.meteorclient.systems.waypoints.Waypoint; 9 | 10 | public class WaypointRemovedEvent { 11 | 12 | public final Waypoint waypoint; 13 | 14 | public WaypointRemovedEvent(Waypoint waypoint) { 15 | this.waypoint = waypoint; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/utils/PostInit.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.utils; 7 | 8 | import java.lang.annotation.ElementType; 9 | import java.lang.annotation.Retention; 10 | import java.lang.annotation.RetentionPolicy; 11 | import java.lang.annotation.Target; 12 | 13 | @Retention(RetentionPolicy.RUNTIME) 14 | @Target(ElementType.METHOD) 15 | public @interface PostInit { 16 | Class[] dependencies() default { }; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/utils/PreInit.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.utils; 7 | 8 | import java.lang.annotation.ElementType; 9 | import java.lang.annotation.Retention; 10 | import java.lang.annotation.RetentionPolicy; 11 | import java.lang.annotation.Target; 12 | 13 | @Retention(RetentionPolicy.RUNTIME) 14 | @Target(ElementType.METHOD) 15 | public @interface PreInit { 16 | Class[] dependencies() default { }; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/utils/entity/Target.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.utils.entity; 7 | 8 | public enum Target { 9 | Head, 10 | Body, 11 | Feet 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/utils/misc/CursorStyle.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.utils.misc; 7 | 8 | import org.lwjgl.glfw.GLFW; 9 | 10 | public enum CursorStyle { 11 | Default, 12 | Click, 13 | Type; 14 | 15 | private boolean created; 16 | private long cursor; 17 | 18 | public long getGlfwCursor() { 19 | if (!created) { 20 | switch (this) { 21 | case Click -> cursor = GLFW.glfwCreateStandardCursor(GLFW.GLFW_HAND_CURSOR); 22 | case Type -> cursor = GLFW.glfwCreateStandardCursor(GLFW.GLFW_IBEAM_CURSOR); 23 | } 24 | 25 | created = true; 26 | } 27 | 28 | return cursor; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/utils/misc/EmptyIterator.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.utils.misc; 7 | 8 | import java.util.Iterator; 9 | 10 | public class EmptyIterator implements Iterator { 11 | @Override 12 | public boolean hasNext() { 13 | return false; 14 | } 15 | 16 | @Override 17 | public T next() { 18 | return null; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/utils/misc/IChangeable.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.utils.misc; 7 | 8 | public interface IChangeable { 9 | boolean isChanged(); 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/utils/misc/ICopyable.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.utils.misc; 7 | 8 | public interface ICopyable> { 9 | T set(T value); 10 | 11 | T copy(); 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/utils/misc/IGetter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.utils.misc; 7 | 8 | public interface IGetter { 9 | T get(); 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/utils/misc/ISerializable.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.utils.misc; 7 | 8 | import net.minecraft.nbt.NbtCompound; 9 | 10 | public interface ISerializable { 11 | NbtCompound toTag(); 12 | 13 | T fromTag(NbtCompound tag); 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/utils/misc/MissHitResult.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.utils.misc; 7 | 8 | import net.minecraft.util.hit.HitResult; 9 | import net.minecraft.util.math.Vec3d; 10 | 11 | public class MissHitResult extends HitResult { 12 | public static final MissHitResult INSTANCE = new MissHitResult(); 13 | 14 | private MissHitResult() { 15 | super(new Vec3d(0, 0, 0)); 16 | } 17 | 18 | @Override 19 | public Type getType() { 20 | return Type.MISS; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/utils/misc/NbtException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.utils.misc; 7 | 8 | public class NbtException extends RuntimeException { 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/utils/misc/Pool.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.utils.misc; 7 | 8 | import java.util.ArrayDeque; 9 | import java.util.Queue; 10 | 11 | public class Pool { 12 | private final Queue items = new ArrayDeque<>(); 13 | private final Producer producer; 14 | 15 | public Pool(Producer producer) { 16 | this.producer = producer; 17 | } 18 | 19 | public synchronized T get() { 20 | if (!items.isEmpty()) return items.poll(); 21 | return producer.create(); 22 | } 23 | 24 | public synchronized void free(T obj) { 25 | items.offer(obj); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/utils/misc/Producer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.utils.misc; 7 | 8 | public interface Producer { 9 | T create(); 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/utils/misc/input/KeyAction.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.utils.misc.input; 7 | 8 | import org.lwjgl.glfw.GLFW; 9 | 10 | public enum KeyAction { 11 | Press, 12 | Repeat, 13 | Release; 14 | 15 | public static KeyAction get(int action) { 16 | return switch (action) { 17 | case GLFW.GLFW_PRESS -> Press; 18 | case GLFW.GLFW_RELEASE -> Release; 19 | default -> Repeat; 20 | }; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/utils/misc/text/ColoredText.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.utils.misc.text; 7 | 8 | import meteordevelopment.meteorclient.utils.render.color.Color; 9 | 10 | /** 11 | * Encapsulates a string and the color it should have. See {@link TextUtils} 12 | */ 13 | public record ColoredText(String text, Color color) { 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/utils/misc/text/MeteorClickEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.utils.misc.text; 7 | 8 | import net.minecraft.text.ClickEvent; 9 | import net.minecraft.text.Style; 10 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; 11 | 12 | /** 13 | * This class does nothing except ensure that {@link ClickEvent}'s containing Meteor Client commands can only be executed if they come from the client. 14 | * @see meteordevelopment.meteorclient.mixin.ScreenMixin#onRunCommand(Style, CallbackInfoReturnable) 15 | */ 16 | public class MeteorClickEvent implements ClickEvent { 17 | public final String value; 18 | 19 | public MeteorClickEvent(String value) { 20 | this.value = value; 21 | } 22 | 23 | @Override 24 | public Action getAction() { 25 | return Action.RUN_COMMAND; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/utils/misc/text/RunnableClickEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.utils.misc.text; 7 | 8 | /** 9 | * Allows arbitrary code execution in a click event 10 | */ 11 | public class RunnableClickEvent extends MeteorClickEvent { 12 | public final Runnable runnable; 13 | 14 | public RunnableClickEvent(Runnable runnable) { 15 | super(null); // Should ensure no vanilla code is triggered, and only we handle it 16 | this.runnable = runnable; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/utils/network/OnlinePlayers.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.utils.network; 7 | 8 | public class OnlinePlayers { 9 | private static long lastPingTime; 10 | 11 | private OnlinePlayers() { 12 | } 13 | 14 | public static void update() { 15 | long time = System.currentTimeMillis(); 16 | 17 | if (time - lastPingTime > 5 * 60 * 1000) { 18 | MeteorExecutor.execute(() -> Http.post("https://meteorclient.com/api/online/ping").ignoreExceptions().send()); 19 | 20 | lastPingTime = time; 21 | } 22 | } 23 | 24 | public static void leave() { 25 | MeteorExecutor.execute(() -> Http.post("https://meteorclient.com/api/online/leave").ignoreExceptions().send()); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/utils/notebot/decoder/SongDecoder.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.utils.notebot.decoder; 7 | 8 | import meteordevelopment.meteorclient.systems.modules.Modules; 9 | import meteordevelopment.meteorclient.systems.modules.misc.Notebot; 10 | import meteordevelopment.meteorclient.utils.notebot.song.Song; 11 | 12 | import java.io.File; 13 | 14 | public abstract class SongDecoder { 15 | protected Notebot notebot = Modules.get().get(Notebot.class); 16 | 17 | /** 18 | * Parse file to a {@link Song} object 19 | * 20 | * @param file Song file 21 | * @return A {@link Song} object 22 | */ 23 | public abstract Song parse(File file) throws Exception; 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/utils/notebot/instrumentdetect/InstrumentDetectFunction.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.utils.notebot.instrumentdetect; 7 | 8 | import net.minecraft.block.BlockState; 9 | import net.minecraft.block.enums.NoteBlockInstrument; 10 | import net.minecraft.util.math.BlockPos; 11 | 12 | public interface InstrumentDetectFunction { 13 | /** 14 | * Detects an instrument for noteblock 15 | * 16 | * @param noteBlock Noteblock state 17 | * @param blockPos Noteblock position 18 | * @return Detected instrument 19 | */ 20 | NoteBlockInstrument detectInstrument(BlockState noteBlock, BlockPos blockPos); 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/utils/notebot/instrumentdetect/InstrumentDetectMode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.utils.notebot.instrumentdetect; 7 | 8 | import net.minecraft.block.NoteBlock; 9 | import net.minecraft.client.MinecraftClient; 10 | 11 | public enum InstrumentDetectMode { 12 | BlockState(((noteBlock, blockPos) -> noteBlock.get(NoteBlock.INSTRUMENT))), 13 | BelowBlock(((noteBlock, blockPos) -> MinecraftClient.getInstance().world.getBlockState(blockPos.down()).getInstrument())); 14 | 15 | private final InstrumentDetectFunction instrumentDetectFunction; 16 | 17 | InstrumentDetectMode(InstrumentDetectFunction instrumentDetectFunction) { 18 | this.instrumentDetectFunction = instrumentDetectFunction; 19 | } 20 | 21 | public InstrumentDetectFunction getInstrumentDetectFunction() { 22 | return instrumentDetectFunction; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/utils/other/JsonDateDeserializer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.utils.other; 7 | 8 | import com.google.gson.JsonDeserializationContext; 9 | import com.google.gson.JsonDeserializer; 10 | import com.google.gson.JsonElement; 11 | import com.google.gson.JsonParseException; 12 | 13 | import java.lang.reflect.Type; 14 | import java.time.Instant; 15 | import java.util.Date; 16 | 17 | public class JsonDateDeserializer implements JsonDeserializer { 18 | @Override 19 | public Date deserialize(JsonElement jsonElement, Type type, JsonDeserializationContext jsonDeserializationContext) throws JsonParseException { 20 | try { 21 | return Date.from(Instant.parse(jsonElement.getAsString())); 22 | } 23 | catch (Exception ignored) { 24 | return null; 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/utils/player/Safety.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.utils.player; 7 | 8 | public enum Safety { 9 | Safe, 10 | Suicide 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/utils/render/AlignmentX.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.utils.render; 7 | 8 | public enum AlignmentX { 9 | Left, Center, Right 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/utils/render/AlignmentY.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.utils.render; 7 | 8 | public enum AlignmentY { 9 | Top, Center, Bottom 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/utils/render/IVertexConsumerProvider.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.utils.render; 7 | 8 | import net.minecraft.client.render.VertexConsumerProvider; 9 | 10 | public interface IVertexConsumerProvider extends VertexConsumerProvider { 11 | void setOffset(int offsetX, int offsetY, int offsetZ); 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/utils/tooltip/MeteorTooltipData.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.utils.tooltip; 7 | 8 | import net.minecraft.client.gui.tooltip.TooltipComponent; 9 | import net.minecraft.item.tooltip.TooltipData; 10 | 11 | public interface MeteorTooltipData extends TooltipData { 12 | TooltipComponent getComponent(); 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/utils/tooltip/TextTooltipComponent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.utils.tooltip; 7 | 8 | import net.minecraft.client.gui.tooltip.OrderedTextTooltipComponent; 9 | import net.minecraft.client.gui.tooltip.TooltipComponent; 10 | import net.minecraft.text.OrderedText; 11 | import net.minecraft.text.Text; 12 | 13 | public class TextTooltipComponent extends OrderedTextTooltipComponent implements MeteorTooltipData { 14 | public TextTooltipComponent(OrderedText text) { 15 | super(text); 16 | } 17 | 18 | public TextTooltipComponent(Text text) { 19 | this(text.asOrderedText()); 20 | } 21 | 22 | @Override 23 | public TooltipComponent getComponent() { 24 | return this; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/utils/world/CardinalDirection.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.utils.world; 7 | 8 | import net.minecraft.util.math.Direction; 9 | 10 | public enum CardinalDirection { 11 | North, 12 | East, 13 | South, 14 | West; 15 | 16 | public Direction toDirection() { 17 | return switch (this) { 18 | case North -> Direction.NORTH; 19 | case East -> Direction.EAST; 20 | case South -> Direction.SOUTH; 21 | case West -> Direction.WEST; 22 | }; 23 | } 24 | 25 | public static CardinalDirection fromDirection(Direction direction) { 26 | return switch (direction) { 27 | case NORTH -> North; 28 | case SOUTH -> South; 29 | case WEST -> East; 30 | case EAST -> West; 31 | case DOWN, UP -> null; 32 | }; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/meteordevelopment/meteorclient/utils/world/Dimension.java: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Meteor Client distribution (https://github.com/MeteorDevelopment/meteor-client). 3 | * Copyright (c) Meteor Development. 4 | */ 5 | 6 | package meteordevelopment.meteorclient.utils.world; 7 | 8 | public enum Dimension { 9 | Overworld, 10 | Nether, 11 | End; 12 | 13 | public Dimension opposite() { 14 | return switch (this) { 15 | case Overworld -> Nether; 16 | case Nether -> Overworld; 17 | default -> this; 18 | }; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/resources/assets/meteor-client/fonts/Comfortaa.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeteorDevelopment/meteor-client/c59a465a6d677c67ba99b424c9fc6c2dc69c4468/src/main/resources/assets/meteor-client/fonts/Comfortaa.ttf -------------------------------------------------------------------------------- /src/main/resources/assets/meteor-client/fonts/JetBrains Mono.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeteorDevelopment/meteor-client/c59a465a6d677c67ba99b424c9fc6c2dc69c4468/src/main/resources/assets/meteor-client/fonts/JetBrains Mono.ttf -------------------------------------------------------------------------------- /src/main/resources/assets/meteor-client/fonts/Pixelation.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeteorDevelopment/meteor-client/c59a465a6d677c67ba99b424c9fc6c2dc69c4468/src/main/resources/assets/meteor-client/fonts/Pixelation.ttf -------------------------------------------------------------------------------- /src/main/resources/assets/meteor-client/fonts/Tw Cen MT.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeteorDevelopment/meteor-client/c59a465a6d677c67ba99b424c9fc6c2dc69c4468/src/main/resources/assets/meteor-client/fonts/Tw Cen MT.ttf -------------------------------------------------------------------------------- /src/main/resources/assets/meteor-client/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeteorDevelopment/meteor-client/c59a465a6d677c67ba99b424c9fc6c2dc69c4468/src/main/resources/assets/meteor-client/icon.png -------------------------------------------------------------------------------- /src/main/resources/assets/meteor-client/lang/en_gb.json: -------------------------------------------------------------------------------- 1 | { 2 | "key.meteor-client.open-gui": "Open GUI", 3 | "key.meteor-client.open-commands": "Open Commands" 4 | } 5 | -------------------------------------------------------------------------------- /src/main/resources/assets/meteor-client/lang/en_us.json: -------------------------------------------------------------------------------- 1 | { 2 | "key.meteor-client.open-gui": "Open GUI", 3 | "key.meteor-client.open-commands": "Open Commands" 4 | } 5 | -------------------------------------------------------------------------------- /src/main/resources/assets/meteor-client/lang/hi_in.json: -------------------------------------------------------------------------------- 1 | { 2 | "key.meteor-client.open-gui": "GUI खोलें", 3 | "key.meteor-client.open-commands": "कमांड खोलें" 4 | } 5 | -------------------------------------------------------------------------------- /src/main/resources/assets/meteor-client/lang/pt_br.json: -------------------------------------------------------------------------------- 1 | { 2 | "key.meteor-client.open-gui": "Abrir Menu", 3 | "key.meteor-client.open-commands": "Abrir Comandos" 4 | } 5 | -------------------------------------------------------------------------------- /src/main/resources/assets/meteor-client/lang/vi_vn.json: -------------------------------------------------------------------------------- 1 | { 2 | "key.meteor-client.open-gui": "Mở giao diện", 3 | "key.meteor-client.open-commands": "Mở lệnh" 4 | } 5 | -------------------------------------------------------------------------------- /src/main/resources/assets/meteor-client/lang/zh_cn.json: -------------------------------------------------------------------------------- 1 | { 2 | "key.meteor-client.open-gui": "打开GUI", 3 | "key.meteor-client.open-commands": "输入命令" 4 | } 5 | -------------------------------------------------------------------------------- /src/main/resources/assets/meteor-client/shaders/blur.vert: -------------------------------------------------------------------------------- 1 | #version 330 core 2 | 3 | precision lowp float; 4 | 5 | layout (location = 0) in vec2 pos; 6 | out vec2 uv; 7 | 8 | void main() { 9 | gl_Position = vec4(pos, 0, 1); 10 | uv = pos * .5 + .5; 11 | } 12 | -------------------------------------------------------------------------------- /src/main/resources/assets/meteor-client/shaders/blur_down.frag: -------------------------------------------------------------------------------- 1 | #version 330 core 2 | 3 | precision lowp float; 4 | 5 | in vec2 uv; 6 | out vec4 color; 7 | 8 | uniform sampler2D uTexture; 9 | uniform vec2 uHalfTexelSize; 10 | uniform float uOffset; 11 | 12 | void main() { 13 | color = ( 14 | texture(uTexture, uv) * 4 + 15 | texture(uTexture, uv - uHalfTexelSize.xy * uOffset) + 16 | texture(uTexture, uv + uHalfTexelSize.xy * uOffset) + 17 | texture(uTexture, uv + vec2(uHalfTexelSize.x, -uHalfTexelSize.y) * uOffset) + 18 | texture(uTexture, uv - vec2(uHalfTexelSize.x, -uHalfTexelSize.y) * uOffset) 19 | ) / 8; 20 | color.a = 1; 21 | } 22 | -------------------------------------------------------------------------------- /src/main/resources/assets/meteor-client/shaders/blur_up.frag: -------------------------------------------------------------------------------- 1 | #version 330 core 2 | 3 | precision lowp float; 4 | 5 | in vec2 uv; 6 | out vec4 color; 7 | 8 | uniform sampler2D uTexture; 9 | uniform vec2 uHalfTexelSize; 10 | uniform float uOffset; 11 | 12 | void main() { 13 | color = ( 14 | texture(uTexture, uv + vec2(- uHalfTexelSize.x * 2, 0) * uOffset) + 15 | texture(uTexture, uv + vec2(- uHalfTexelSize.x, uHalfTexelSize.y) * uOffset) * 2 + 16 | texture(uTexture, uv + vec2(0, uHalfTexelSize.y * 2) * uOffset) + 17 | texture(uTexture, uv + uHalfTexelSize * uOffset) * 2 + 18 | texture(uTexture, uv + vec2(uHalfTexelSize.x * 2, 0) * uOffset) + 19 | texture(uTexture, uv + vec2(uHalfTexelSize.x, -uHalfTexelSize.y) * uOffset) * 2 + 20 | texture(uTexture, uv + vec2(0, -uHalfTexelSize.y * 2) * uOffset) + 21 | texture(uTexture, uv - uHalfTexelSize * uOffset) * 2 22 | ) / 12; 23 | color.a = 1; 24 | } 25 | -------------------------------------------------------------------------------- /src/main/resources/assets/meteor-client/shaders/passthrough.frag: -------------------------------------------------------------------------------- 1 | #version 330 core 2 | 3 | precision lowp float; 4 | 5 | in vec2 uv; 6 | out vec4 color; 7 | 8 | uniform sampler2D uTexture; 9 | 10 | void main() { 11 | color = texture(uTexture, uv); 12 | } 13 | -------------------------------------------------------------------------------- /src/main/resources/assets/meteor-client/shaders/passthrough.vert: -------------------------------------------------------------------------------- 1 | #version 330 core 2 | 3 | precision lowp float; 4 | 5 | layout (location = 0) in vec2 pos; 6 | out vec2 uv; 7 | 8 | void main() { 9 | gl_Position = vec4(pos, 0, 1); 10 | uv = pos * .5 + .5; 11 | } 12 | -------------------------------------------------------------------------------- /src/main/resources/assets/meteor-client/shaders/pos_color.frag: -------------------------------------------------------------------------------- 1 | #version 330 core 2 | 3 | out vec4 color; 4 | 5 | in vec4 v_Color; 6 | 7 | void main() { 8 | color = v_Color; 9 | } 10 | -------------------------------------------------------------------------------- /src/main/resources/assets/meteor-client/shaders/pos_color.vert: -------------------------------------------------------------------------------- 1 | #version 330 core 2 | 3 | layout (location = 0) in vec4 pos; 4 | layout (location = 1) in vec4 color; 5 | 6 | uniform mat4 u_Proj; 7 | uniform mat4 u_ModelView; 8 | 9 | out vec4 v_Color; 10 | 11 | void main() { 12 | gl_Position = u_Proj * u_ModelView * pos; 13 | 14 | v_Color = color; 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/assets/meteor-client/shaders/pos_tex_color.frag: -------------------------------------------------------------------------------- 1 | #version 330 core 2 | 3 | out vec4 color; 4 | 5 | uniform sampler2D u_Texture; 6 | 7 | in vec2 v_TexCoord; 8 | in vec4 v_Color; 9 | 10 | void main() { 11 | color = texture(u_Texture, v_TexCoord) * v_Color; 12 | } 13 | -------------------------------------------------------------------------------- /src/main/resources/assets/meteor-client/shaders/pos_tex_color.vert: -------------------------------------------------------------------------------- 1 | #version 330 core 2 | 3 | layout (location = 0) in vec4 pos; 4 | layout (location = 1) in vec2 texCoords; 5 | layout (location = 2) in vec4 color; 6 | 7 | uniform mat4 u_Proj; 8 | uniform mat4 u_ModelView; 9 | 10 | out vec2 v_TexCoord; 11 | out vec4 v_Color; 12 | 13 | void main() { 14 | gl_Position = u_Proj * u_ModelView * pos; 15 | 16 | v_TexCoord = texCoords; 17 | v_Color = color; 18 | } 19 | -------------------------------------------------------------------------------- /src/main/resources/assets/meteor-client/shaders/post-process/base.vert: -------------------------------------------------------------------------------- 1 | #version 330 core 2 | 3 | layout (location = 0) in vec4 pos; 4 | 5 | uniform vec2 u_Size; 6 | 7 | out vec2 v_TexCoord; 8 | out vec2 v_OneTexel; 9 | 10 | void main() { 11 | gl_Position = pos; 12 | 13 | v_TexCoord = (pos.xy + 1.0) / 2.0; 14 | v_OneTexel = 1.0 / u_Size; 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/assets/meteor-client/shaders/post-process/image.frag: -------------------------------------------------------------------------------- 1 | #version 330 core 2 | 3 | in vec2 v_TexCoord; 4 | in vec2 v_OneTexel; 5 | 6 | uniform sampler2D u_Texture; 7 | uniform sampler2D u_TextureI; 8 | uniform vec4 u_Color; 9 | 10 | out vec4 color; 11 | 12 | void main() { 13 | if (texture(u_Texture, v_TexCoord).a == 0.0) discard; 14 | color = texture(u_TextureI, v_TexCoord) * u_Color; 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/assets/meteor-client/shaders/text.frag: -------------------------------------------------------------------------------- 1 | #version 330 core 2 | 3 | out vec4 color; 4 | 5 | uniform sampler2D u_Texture; 6 | 7 | in vec2 v_TexCoord; 8 | in vec4 v_Color; 9 | 10 | void main() { 11 | color = vec4(1.0, 1.0, 1.0, texture(u_Texture, v_TexCoord).r) * v_Color; 12 | } 13 | -------------------------------------------------------------------------------- /src/main/resources/assets/meteor-client/shaders/text.vert: -------------------------------------------------------------------------------- 1 | #version 330 core 2 | 3 | layout (location = 0) in vec4 pos; 4 | layout (location = 1) in vec2 texCoords; 5 | layout (location = 2) in vec4 color; 6 | 7 | uniform mat4 u_Proj; 8 | uniform mat4 u_ModelView; 9 | 10 | out vec2 v_TexCoord; 11 | out vec4 v_Color; 12 | 13 | void main() { 14 | gl_Position = u_Proj * u_ModelView * pos; 15 | 16 | v_TexCoord = texCoords; 17 | v_Color = color; 18 | } 19 | -------------------------------------------------------------------------------- /src/main/resources/assets/meteor-client/textures/blank.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeteorDevelopment/meteor-client/c59a465a6d677c67ba99b424c9fc6c2dc69c4468/src/main/resources/assets/meteor-client/textures/blank.png -------------------------------------------------------------------------------- /src/main/resources/assets/meteor-client/textures/chams.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeteorDevelopment/meteor-client/c59a465a6d677c67ba99b424c9fc6c2dc69c4468/src/main/resources/assets/meteor-client/textures/chams.jpg -------------------------------------------------------------------------------- /src/main/resources/assets/meteor-client/textures/container-transparent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeteorDevelopment/meteor-client/c59a465a6d677c67ba99b424c9fc6c2dc69c4468/src/main/resources/assets/meteor-client/textures/container-transparent.png -------------------------------------------------------------------------------- /src/main/resources/assets/meteor-client/textures/container.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeteorDevelopment/meteor-client/c59a465a6d677c67ba99b424c9fc6c2dc69c4468/src/main/resources/assets/meteor-client/textures/container.png -------------------------------------------------------------------------------- /src/main/resources/assets/meteor-client/textures/icons/chat/baritone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeteorDevelopment/meteor-client/c59a465a6d677c67ba99b424c9fc6c2dc69c4468/src/main/resources/assets/meteor-client/textures/icons/chat/baritone.png -------------------------------------------------------------------------------- /src/main/resources/assets/meteor-client/textures/icons/chat/meteor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeteorDevelopment/meteor-client/c59a465a6d677c67ba99b424c9fc6c2dc69c4468/src/main/resources/assets/meteor-client/textures/icons/chat/meteor.png -------------------------------------------------------------------------------- /src/main/resources/assets/meteor-client/textures/icons/gui/circle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeteorDevelopment/meteor-client/c59a465a6d677c67ba99b424c9fc6c2dc69c4468/src/main/resources/assets/meteor-client/textures/icons/gui/circle.png -------------------------------------------------------------------------------- /src/main/resources/assets/meteor-client/textures/icons/gui/copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeteorDevelopment/meteor-client/c59a465a6d677c67ba99b424c9fc6c2dc69c4468/src/main/resources/assets/meteor-client/textures/icons/gui/copy.png -------------------------------------------------------------------------------- /src/main/resources/assets/meteor-client/textures/icons/gui/edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeteorDevelopment/meteor-client/c59a465a6d677c67ba99b424c9fc6c2dc69c4468/src/main/resources/assets/meteor-client/textures/icons/gui/edit.png -------------------------------------------------------------------------------- /src/main/resources/assets/meteor-client/textures/icons/gui/favorite_no.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeteorDevelopment/meteor-client/c59a465a6d677c67ba99b424c9fc6c2dc69c4468/src/main/resources/assets/meteor-client/textures/icons/gui/favorite_no.png -------------------------------------------------------------------------------- /src/main/resources/assets/meteor-client/textures/icons/gui/favorite_yes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeteorDevelopment/meteor-client/c59a465a6d677c67ba99b424c9fc6c2dc69c4468/src/main/resources/assets/meteor-client/textures/icons/gui/favorite_yes.png -------------------------------------------------------------------------------- /src/main/resources/assets/meteor-client/textures/icons/gui/paste.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeteorDevelopment/meteor-client/c59a465a6d677c67ba99b424c9fc6c2dc69c4468/src/main/resources/assets/meteor-client/textures/icons/gui/paste.png -------------------------------------------------------------------------------- /src/main/resources/assets/meteor-client/textures/icons/gui/reset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeteorDevelopment/meteor-client/c59a465a6d677c67ba99b424c9fc6c2dc69c4468/src/main/resources/assets/meteor-client/textures/icons/gui/reset.png -------------------------------------------------------------------------------- /src/main/resources/assets/meteor-client/textures/icons/gui/triangle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeteorDevelopment/meteor-client/c59a465a6d677c67ba99b424c9fc6c2dc69c4468/src/main/resources/assets/meteor-client/textures/icons/gui/triangle.png -------------------------------------------------------------------------------- /src/main/resources/assets/meteor-client/textures/icons/waypoints/circle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeteorDevelopment/meteor-client/c59a465a6d677c67ba99b424c9fc6c2dc69c4468/src/main/resources/assets/meteor-client/textures/icons/waypoints/circle.png -------------------------------------------------------------------------------- /src/main/resources/assets/meteor-client/textures/icons/waypoints/diamond.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeteorDevelopment/meteor-client/c59a465a6d677c67ba99b424c9fc6c2dc69c4468/src/main/resources/assets/meteor-client/textures/icons/waypoints/diamond.png -------------------------------------------------------------------------------- /src/main/resources/assets/meteor-client/textures/icons/waypoints/skull.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeteorDevelopment/meteor-client/c59a465a6d677c67ba99b424c9fc6c2dc69c4468/src/main/resources/assets/meteor-client/textures/icons/waypoints/skull.png -------------------------------------------------------------------------------- /src/main/resources/assets/meteor-client/textures/icons/waypoints/square.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeteorDevelopment/meteor-client/c59a465a6d677c67ba99b424c9fc6c2dc69c4468/src/main/resources/assets/meteor-client/textures/icons/waypoints/square.png -------------------------------------------------------------------------------- /src/main/resources/assets/meteor-client/textures/icons/waypoints/star.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeteorDevelopment/meteor-client/c59a465a6d677c67ba99b424c9fc6c2dc69c4468/src/main/resources/assets/meteor-client/textures/icons/waypoints/star.png -------------------------------------------------------------------------------- /src/main/resources/assets/meteor-client/textures/icons/waypoints/triangle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeteorDevelopment/meteor-client/c59a465a6d677c67ba99b424c9fc6c2dc69c4468/src/main/resources/assets/meteor-client/textures/icons/waypoints/triangle.png -------------------------------------------------------------------------------- /src/main/resources/assets/meteor-client/textures/meteor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeteorDevelopment/meteor-client/c59a465a6d677c67ba99b424c9fc6c2dc69c4468/src/main/resources/assets/meteor-client/textures/meteor.png -------------------------------------------------------------------------------- /src/main/resources/assets/meteor-client/textures/steve.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MeteorDevelopment/meteor-client/c59a465a6d677c67ba99b424c9fc6c2dc69c4468/src/main/resources/assets/meteor-client/textures/steve.png -------------------------------------------------------------------------------- /src/main/resources/meteor-client-baritone.mixins.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": true, 3 | "package": "meteordevelopment.meteorclient.mixin.baritone", 4 | "compatibilityLevel": "JAVA_21", 5 | "plugin": "meteordevelopment.meteorclient.MixinPlugin", 6 | "client": [ 7 | "ComeCommandMixin" 8 | ], 9 | "injectors": { 10 | "defaultRequire": 1 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/main/resources/meteor-client-indigo.mixins.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": false, 3 | "package": "meteordevelopment.meteorclient.mixin.indigo", 4 | "compatibilityLevel": "JAVA_21", 5 | "plugin": "meteordevelopment.meteorclient.MixinPlugin", 6 | "client": [ 7 | "AbstractTerrainRenderContextMixin" 8 | ], 9 | "injectors": { 10 | "defaultRequire": 1 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/main/resources/meteor-client-lithium.mixins.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": false, 3 | "package": "meteordevelopment.meteorclient.mixin.lithium", 4 | "compatibilityLevel": "JAVA_21", 5 | "plugin": "meteordevelopment.meteorclient.MixinPlugin", 6 | "client": [ 7 | "ChunkAwareBlockCollisionSweeperMixin", 8 | "LithiumEntityCollisionsMixin" 9 | ], 10 | "injectors": { 11 | "defaultRequire": 1 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/main/resources/meteor-client-sodium.mixins.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": false, 3 | "package": "meteordevelopment.meteorclient.mixin.sodium", 4 | "compatibilityLevel": "JAVA_21", 5 | "plugin": "meteordevelopment.meteorclient.MixinPlugin", 6 | "client": [ 7 | "SodiumLightDataAccessMixin", 8 | "MeshVertexConsumerMixin", 9 | "SodiumBlockOcclusionCacheMixin", 10 | "SodiumBlockRendererMixin", 11 | "SodiumFluidRendererImplMixin", 12 | "SodiumFluidRendererImplDefaultRenderContextMixin" 13 | ], 14 | "injectors": { 15 | "defaultRequire": 1 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/resources/meteor-client-viafabricplus.mixins.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": false, 3 | "package": "meteordevelopment.meteorclient.mixin.viafabricplus", 4 | "compatibilityLevel": "JAVA_21", 5 | "plugin": "meteordevelopment.meteorclient.MixinPlugin", 6 | "client": [ 7 | "GeneralSettingsMixin" 8 | ], 9 | "injectors": { 10 | "defaultRequire": 1 11 | } 12 | } 13 | --------------------------------------------------------------------------------