├── .gitignore ├── 1.19.4 ├── build.gradle └── src │ └── main │ ├── java │ └── me │ │ └── nobokik │ │ └── blazeclient │ │ ├── Client.java │ │ ├── api │ │ ├── config │ │ │ └── ConfigManager.java │ │ ├── discord │ │ │ ├── DiscordClient.java │ │ │ └── Game.java │ │ ├── event │ │ │ ├── Cancellable.java │ │ │ ├── events │ │ │ │ ├── AttackEntityEvent.java │ │ │ │ ├── AttackEvent.java │ │ │ │ ├── BlockBreakEvent.java │ │ │ │ ├── EntityRemoveEvent.java │ │ │ │ ├── HudRenderEvent.java │ │ │ │ ├── ItemUseEvent.java │ │ │ │ ├── KeyPressEvent.java │ │ │ │ ├── MouseButtonEvent.java │ │ │ │ ├── MouseMoveEvent.java │ │ │ │ ├── MouseUpdateEvent.java │ │ │ │ ├── OverlayReloadListener.java │ │ │ │ ├── PacketEvent.java │ │ │ │ ├── PlayerTickEvent.java │ │ │ │ ├── RenderTickEvent.java │ │ │ │ ├── SendMovementPacketEvent.java │ │ │ │ ├── SlotCheckEvent.java │ │ │ │ ├── TickEvent.java │ │ │ │ ├── WorldRenderEvent.java │ │ │ │ └── WorldTickEvent.java │ │ │ └── orbit │ │ │ │ ├── EventBus.java │ │ │ │ ├── EventHandler.java │ │ │ │ ├── EventPriority.java │ │ │ │ ├── ICancellable.java │ │ │ │ ├── IEventBus.java │ │ │ │ ├── NoLambdaFactoryException.java │ │ │ │ └── listeners │ │ │ │ ├── ConsumerListener.java │ │ │ │ ├── IListener.java │ │ │ │ └── LambdaListener.java │ │ ├── font │ │ │ └── JColor.java │ │ ├── helpers │ │ │ ├── CPSHelper.java │ │ │ ├── CapeHelper.java │ │ │ ├── FPSHelper.java │ │ │ ├── IndicatorHelper.java │ │ │ ├── ItemHelper.java │ │ │ ├── KeystrokeHelper.java │ │ │ └── MathHelper.java │ │ ├── hook │ │ │ ├── ChatHudHook.java │ │ │ ├── ChatMessage.java │ │ │ └── IChatHudExt.java │ │ └── util │ │ │ ├── KeyUtils.java │ │ │ ├── RenderUtils.java │ │ │ └── TextUtil.java │ │ ├── gui │ │ ├── BlazeMenu.java │ │ ├── ImguiLoader.java │ │ ├── Renderable.java │ │ ├── TextureLoader.java │ │ ├── Theme.java │ │ └── UI.java │ │ ├── menu │ │ ├── CosmeticsMenu.java │ │ ├── FirstMenu.java │ │ ├── MainMenuButtons.java │ │ ├── ModMenu.java │ │ ├── ModSettings.java │ │ ├── ProfilesMenu.java │ │ └── SideMenu.java │ │ ├── mixin │ │ ├── BuiltinModelItemRendererMixin.java │ │ ├── CameraMixin.java │ │ ├── ChatHudMixin.java │ │ ├── ClientBrandRetrieverMixin.java │ │ ├── ClientPlayerEntityMixin.java │ │ ├── ClientPlayerInteractionManagerMixin.java │ │ ├── ClientWorldMixin.java │ │ ├── DrawableHelperMixin.java │ │ ├── EntityMixin.java │ │ ├── EntityRenderDispatcherAccessor.java │ │ ├── EntityRenderDispatcherMixin.java │ │ ├── EntityRendererMixin.java │ │ ├── GameRendererMixin.java │ │ ├── HandledScreenAccessor.java │ │ ├── InGameHudMixin.java │ │ ├── InGameOverlayRendererMixin.java │ │ ├── InventoryScreenMixin.java │ │ ├── KeyboardMixin.java │ │ ├── LightmapManagerMixin.java │ │ ├── LivingEntityRendererMixin.java │ │ ├── LogoDrawerMixin.java │ │ ├── MinecraftClientMixin.java │ │ ├── MouseMixin.java │ │ ├── OverlayTextureMixin.java │ │ ├── PlayerListEntryMixin.java │ │ ├── PlayerListHudMixin.java │ │ ├── RenderSystemMixin.java │ │ ├── ServerEntryMixin.java │ │ ├── SimpleOptionMixin.java │ │ ├── SplashScreenMixin.java │ │ ├── TitleScreenMixin.java │ │ └── WindowMixin.java │ │ └── mod │ │ ├── GeneralSettings.java │ │ ├── Mod.java │ │ ├── ModManager.java │ │ ├── mods │ │ ├── ArmorMod.java │ │ ├── ArrowCountMod.java │ │ ├── CPSMod.java │ │ ├── CoordsMod.java │ │ ├── CrosshairMod.java │ │ ├── FPSMod.java │ │ ├── FreelookMod.java │ │ ├── HitColorMod.java │ │ ├── HitboxMod.java │ │ ├── HurtCamMod.java │ │ ├── KeystrokesMod.java │ │ ├── NametagsMod.java │ │ ├── PingMod.java │ │ ├── PotCountMod.java │ │ ├── PotionMod.java │ │ ├── ReachDisplayMod.java │ │ ├── ScoreboardMod.java │ │ ├── ServerIPMod.java │ │ ├── TimeChangerMod.java │ │ ├── TimeMod.java │ │ ├── ToggleSneakMod.java │ │ ├── ToggleSprintMod.java │ │ ├── TotemCountMod.java │ │ └── ZoomMod.java │ │ └── setting │ │ ├── RenderableSetting.java │ │ ├── Setting.java │ │ └── settings │ │ ├── BooleanSetting.java │ │ ├── ButtonSetting.java │ │ ├── ColorSetting.java │ │ ├── KeybindSetting.java │ │ ├── ModeSetting.java │ │ └── NumberSetting.java │ └── resources │ ├── blaze-client.mixins.json │ └── fabric.mod.json ├── 1.20.1 ├── build.gradle └── src │ └── main │ ├── java │ └── me │ │ └── nobokik │ │ └── blazeclient │ │ ├── Client.java │ │ ├── api │ │ ├── config │ │ │ └── ConfigManager.java │ │ ├── discord │ │ │ ├── DiscordClient.java │ │ │ └── Game.java │ │ ├── event │ │ │ ├── Cancellable.java │ │ │ ├── events │ │ │ │ ├── AttackEntityEvent.java │ │ │ │ ├── AttackEvent.java │ │ │ │ ├── BlockBreakEvent.java │ │ │ │ ├── EntityRemoveEvent.java │ │ │ │ ├── HudRenderEvent.java │ │ │ │ ├── ItemUseEvent.java │ │ │ │ ├── KeyPressEvent.java │ │ │ │ ├── MouseButtonEvent.java │ │ │ │ ├── MouseMoveEvent.java │ │ │ │ ├── MouseUpdateEvent.java │ │ │ │ ├── OverlayReloadListener.java │ │ │ │ ├── PacketEvent.java │ │ │ │ ├── PlayerTickEvent.java │ │ │ │ ├── RenderTickEvent.java │ │ │ │ ├── SendMovementPacketEvent.java │ │ │ │ ├── SlotCheckEvent.java │ │ │ │ ├── TickEvent.java │ │ │ │ ├── WorldRenderEvent.java │ │ │ │ └── WorldTickEvent.java │ │ │ └── orbit │ │ │ │ ├── EventBus.java │ │ │ │ ├── EventHandler.java │ │ │ │ ├── EventPriority.java │ │ │ │ ├── ICancellable.java │ │ │ │ ├── IEventBus.java │ │ │ │ ├── NoLambdaFactoryException.java │ │ │ │ └── listeners │ │ │ │ ├── ConsumerListener.java │ │ │ │ ├── IListener.java │ │ │ │ └── LambdaListener.java │ │ ├── font │ │ │ └── JColor.java │ │ ├── helpers │ │ │ ├── CPSHelper.java │ │ │ ├── CapeHelper.java │ │ │ ├── FPSHelper.java │ │ │ ├── IndicatorHelper.java │ │ │ ├── ItemHelper.java │ │ │ ├── KeystrokeHelper.java │ │ │ └── MathHelper.java │ │ ├── hook │ │ │ ├── ChatHudHook.java │ │ │ ├── ChatMessage.java │ │ │ └── IChatHudExt.java │ │ └── util │ │ │ ├── KeyUtils.java │ │ │ ├── RenderUtils.java │ │ │ └── TextUtil.java │ │ ├── gui │ │ ├── BlazeMenu.java │ │ ├── ImguiLoader.java │ │ ├── Renderable.java │ │ ├── TextureLoader.java │ │ ├── Theme.java │ │ └── UI.java │ │ ├── menu │ │ ├── CosmeticsMenu.java │ │ ├── FirstMenu.java │ │ ├── MainMenuButtons.java │ │ ├── ModMenu.java │ │ ├── ModSettings.java │ │ ├── ProfilesMenu.java │ │ └── SideMenu.java │ │ ├── mixin │ │ ├── BuiltinModelItemRendererMixin.java │ │ ├── CameraMixin.java │ │ ├── ChatHudMixin.java │ │ ├── ClientBrandRetrieverMixin.java │ │ ├── ClientPlayerEntityMixin.java │ │ ├── ClientPlayerInteractionManagerMixin.java │ │ ├── ClientWorldMixin.java │ │ ├── DrawContextMixin.java │ │ ├── EntityMixin.java │ │ ├── EntityRenderDispatcherAccessor.java │ │ ├── EntityRenderDispatcherMixin.java │ │ ├── EntityRendererMixin.java │ │ ├── GameRendererMixin.java │ │ ├── InGameHudMixin.java │ │ ├── InGameOverlayRendererMixin.java │ │ ├── InventoryScreenMixin.java │ │ ├── KeyboardMixin.java │ │ ├── LightmapManagerMixin.java │ │ ├── LivingEntityRendererMixin.java │ │ ├── LogoDrawerMixin.java │ │ ├── MinecraftClientMixin.java │ │ ├── MouseMixin.java │ │ ├── OverlayTextureMixin.java │ │ ├── PlayerListEntryMixin.java │ │ ├── PlayerListHudMixin.java │ │ ├── RenderSystemMixin.java │ │ ├── ServerEntryMixin.java │ │ ├── SimpleOptionMixin.java │ │ ├── SplashScreenMixin.java │ │ ├── TitleScreenMixin.java │ │ └── WindowMixin.java │ │ └── mod │ │ ├── GeneralSettings.java │ │ ├── Mod.java │ │ ├── ModManager.java │ │ ├── mods │ │ ├── ArmorMod.java │ │ ├── ArrowCountMod.java │ │ ├── CPSMod.java │ │ ├── CoordsMod.java │ │ ├── CrosshairMod.java │ │ ├── FPSMod.java │ │ ├── FreelookMod.java │ │ ├── HitColorMod.java │ │ ├── HitboxMod.java │ │ ├── HurtCamMod.java │ │ ├── KeystrokesMod.java │ │ ├── NametagsMod.java │ │ ├── PingMod.java │ │ ├── PotCountMod.java │ │ ├── PotionMod.java │ │ ├── ReachDisplayMod.java │ │ ├── ScoreboardMod.java │ │ ├── ServerIPMod.java │ │ ├── TimeChangerMod.java │ │ ├── TimeMod.java │ │ ├── ToggleSneakMod.java │ │ ├── ToggleSprintMod.java │ │ ├── TotemCountMod.java │ │ └── ZoomMod.java │ │ └── setting │ │ ├── RenderableSetting.java │ │ ├── Setting.java │ │ └── settings │ │ ├── BooleanSetting.java │ │ ├── ButtonSetting.java │ │ ├── ColorSetting.java │ │ ├── KeybindSetting.java │ │ ├── ModeSetting.java │ │ └── NumberSetting.java │ └── resources │ ├── blaze-client.mixins.json │ └── fabric.mod.json ├── 1.20.2 ├── build.gradle └── src │ └── main │ ├── java │ └── me │ │ └── nobokik │ │ └── blazeclient │ │ ├── Client.java │ │ ├── api │ │ ├── config │ │ │ └── ConfigManager.java │ │ ├── discord │ │ │ ├── DiscordClient.java │ │ │ └── Game.java │ │ ├── event │ │ │ ├── Cancellable.java │ │ │ ├── events │ │ │ │ ├── AttackEntityEvent.java │ │ │ │ ├── AttackEvent.java │ │ │ │ ├── BlockBreakEvent.java │ │ │ │ ├── EntityRemoveEvent.java │ │ │ │ ├── HudRenderEvent.java │ │ │ │ ├── ItemUseEvent.java │ │ │ │ ├── KeyPressEvent.java │ │ │ │ ├── MouseButtonEvent.java │ │ │ │ ├── MouseMoveEvent.java │ │ │ │ ├── MouseUpdateEvent.java │ │ │ │ ├── OverlayReloadListener.java │ │ │ │ ├── PacketEvent.java │ │ │ │ ├── PlayerTickEvent.java │ │ │ │ ├── RenderTickEvent.java │ │ │ │ ├── SendMovementPacketEvent.java │ │ │ │ ├── SlotCheckEvent.java │ │ │ │ ├── TickEvent.java │ │ │ │ ├── WorldRenderEvent.java │ │ │ │ └── WorldTickEvent.java │ │ │ └── orbit │ │ │ │ ├── EventBus.java │ │ │ │ ├── EventHandler.java │ │ │ │ ├── EventPriority.java │ │ │ │ ├── ICancellable.java │ │ │ │ ├── IEventBus.java │ │ │ │ ├── NoLambdaFactoryException.java │ │ │ │ └── listeners │ │ │ │ ├── ConsumerListener.java │ │ │ │ ├── IListener.java │ │ │ │ └── LambdaListener.java │ │ ├── font │ │ │ └── JColor.java │ │ ├── helpers │ │ │ ├── CPSHelper.java │ │ │ ├── CapeHelper.java │ │ │ ├── FPSHelper.java │ │ │ ├── IndicatorHelper.java │ │ │ ├── ItemHelper.java │ │ │ ├── KeystrokeHelper.java │ │ │ └── MathHelper.java │ │ ├── hook │ │ │ ├── ChatHudHook.java │ │ │ ├── ChatMessage.java │ │ │ └── IChatHudExt.java │ │ └── util │ │ │ ├── KeyUtils.java │ │ │ ├── RenderUtils.java │ │ │ └── TextUtil.java │ │ ├── gui │ │ ├── BlazeMenu.java │ │ ├── ImguiLoader.java │ │ ├── Renderable.java │ │ ├── TextureLoader.java │ │ ├── Theme.java │ │ └── UI.java │ │ ├── menu │ │ ├── CosmeticsMenu.java │ │ ├── FirstMenu.java │ │ ├── MainMenuButtons.java │ │ ├── ModMenu.java │ │ ├── ModSettings.java │ │ ├── ProfilesMenu.java │ │ └── SideMenu.java │ │ ├── mixin │ │ ├── BuiltinModelItemRendererMixin.java │ │ ├── CameraMixin.java │ │ ├── ChatHudMixin.java │ │ ├── ClientBrandRetrieverMixin.java │ │ ├── ClientPlayerEntityMixin.java │ │ ├── ClientPlayerInteractionManagerMixin.java │ │ ├── ClientWorldMixin.java │ │ ├── DrawContextMixin.java │ │ ├── EntityMixin.java │ │ ├── EntityRenderDispatcherAccessor.java │ │ ├── EntityRenderDispatcherMixin.java │ │ ├── EntityRendererMixin.java │ │ ├── GameRendererMixin.java │ │ ├── InGameHudMixin.java │ │ ├── InGameOverlayRendererMixin.java │ │ ├── InventoryScreenMixin.java │ │ ├── KeyboardMixin.java │ │ ├── LightmapManagerMixin.java │ │ ├── LivingEntityRendererMixin.java │ │ ├── LogoDrawerMixin.java │ │ ├── MinecraftClientMixin.java │ │ ├── MouseMixin.java │ │ ├── OverlayTextureMixin.java │ │ ├── PlayerListEntryMixin.java │ │ ├── PlayerListHudMixin.java │ │ ├── RenderSystemMixin.java │ │ ├── ServerEntryMixin.java │ │ ├── SimpleOptionMixin.java │ │ ├── SplashScreenMixin.java │ │ ├── TitleScreenMixin.java │ │ └── WindowMixin.java │ │ └── mod │ │ ├── GeneralSettings.java │ │ ├── Mod.java │ │ ├── ModManager.java │ │ ├── mods │ │ ├── ArmorMod.java │ │ ├── ArrowCountMod.java │ │ ├── CPSMod.java │ │ ├── CoordsMod.java │ │ ├── CrosshairMod.java │ │ ├── FPSMod.java │ │ ├── FreelookMod.java │ │ ├── HitColorMod.java │ │ ├── HitboxMod.java │ │ ├── HurtCamMod.java │ │ ├── KeystrokesMod.java │ │ ├── NametagsMod.java │ │ ├── PingMod.java │ │ ├── PotCountMod.java │ │ ├── PotionMod.java │ │ ├── ReachDisplayMod.java │ │ ├── ScoreboardMod.java │ │ ├── ServerIPMod.java │ │ ├── TimeChangerMod.java │ │ ├── TimeMod.java │ │ ├── ToggleSneakMod.java │ │ ├── ToggleSprintMod.java │ │ ├── TotemCountMod.java │ │ └── ZoomMod.java │ │ └── setting │ │ ├── RenderableSetting.java │ │ ├── Setting.java │ │ └── settings │ │ ├── BooleanSetting.java │ │ ├── ButtonSetting.java │ │ ├── ColorSetting.java │ │ ├── KeybindSetting.java │ │ ├── ModeSetting.java │ │ └── NumberSetting.java │ └── resources │ ├── blaze-client.mixins.json │ └── fabric.mod.json ├── 1.20.4 ├── build.gradle └── src │ └── main │ ├── java │ └── me │ │ └── nobokik │ │ └── blazeclient │ │ ├── Client.java │ │ ├── api │ │ ├── config │ │ │ └── ConfigManager.java │ │ ├── discord │ │ │ ├── DiscordClient.java │ │ │ └── Game.java │ │ ├── event │ │ │ ├── Cancellable.java │ │ │ ├── events │ │ │ │ ├── AttackEntityEvent.java │ │ │ │ ├── AttackEvent.java │ │ │ │ ├── BlockBreakEvent.java │ │ │ │ ├── EntityRemoveEvent.java │ │ │ │ ├── HudRenderEvent.java │ │ │ │ ├── ItemUseEvent.java │ │ │ │ ├── KeyPressEvent.java │ │ │ │ ├── MouseButtonEvent.java │ │ │ │ ├── MouseMoveEvent.java │ │ │ │ ├── MouseUpdateEvent.java │ │ │ │ ├── OverlayReloadListener.java │ │ │ │ ├── PacketEvent.java │ │ │ │ ├── PlayerTickEvent.java │ │ │ │ ├── RenderTickEvent.java │ │ │ │ ├── SendMovementPacketEvent.java │ │ │ │ ├── SlotCheckEvent.java │ │ │ │ ├── TickEvent.java │ │ │ │ ├── WorldRenderEvent.java │ │ │ │ └── WorldTickEvent.java │ │ │ └── orbit │ │ │ │ ├── EventBus.java │ │ │ │ ├── EventHandler.java │ │ │ │ ├── EventPriority.java │ │ │ │ ├── ICancellable.java │ │ │ │ ├── IEventBus.java │ │ │ │ ├── NoLambdaFactoryException.java │ │ │ │ └── listeners │ │ │ │ ├── ConsumerListener.java │ │ │ │ ├── IListener.java │ │ │ │ └── LambdaListener.java │ │ ├── font │ │ │ └── JColor.java │ │ ├── helpers │ │ │ ├── CPSHelper.java │ │ │ ├── CapeHelper.java │ │ │ ├── FPSHelper.java │ │ │ ├── IndicatorHelper.java │ │ │ ├── ItemHelper.java │ │ │ ├── KeystrokeHelper.java │ │ │ └── MathHelper.java │ │ ├── hook │ │ │ ├── ChatHudHook.java │ │ │ ├── ChatMessage.java │ │ │ └── IChatHudExt.java │ │ └── util │ │ │ ├── KeyUtils.java │ │ │ ├── RenderUtils.java │ │ │ ├── SidebarEntry.java │ │ │ └── TextUtil.java │ │ ├── gui │ │ ├── BlazeMenu.java │ │ ├── ImguiLoader.java │ │ ├── Renderable.java │ │ ├── TextureLoader.java │ │ ├── Theme.java │ │ └── UI.java │ │ ├── menu │ │ ├── CosmeticsMenu.java │ │ ├── FirstMenu.java │ │ ├── MainMenuButtons.java │ │ ├── ModMenu.java │ │ ├── ModSettings.java │ │ ├── ProfilesMenu.java │ │ └── SideMenu.java │ │ ├── mixin │ │ ├── BuiltinModelItemRendererMixin.java │ │ ├── CameraMixin.java │ │ ├── ChatHudMixin.java │ │ ├── ClientBrandRetrieverMixin.java │ │ ├── ClientPlayerEntityMixin.java │ │ ├── ClientPlayerInteractionManagerMixin.java │ │ ├── ClientWorldMixin.java │ │ ├── DrawContextMixin.java │ │ ├── EntityMixin.java │ │ ├── EntityRenderDispatcherAccessor.java │ │ ├── EntityRenderDispatcherMixin.java │ │ ├── EntityRendererMixin.java │ │ ├── GameRendererMixin.java │ │ ├── InGameHudMixin.java │ │ ├── InGameOverlayRendererMixin.java │ │ ├── InventoryScreenMixin.java │ │ ├── KeyboardMixin.java │ │ ├── LightmapManagerMixin.java │ │ ├── LivingEntityRendererMixin.java │ │ ├── LogoDrawerMixin.java │ │ ├── MinecraftClientMixin.java │ │ ├── MouseMixin.java │ │ ├── OverlayTextureMixin.java │ │ ├── PlayerListEntryMixin.java │ │ ├── PlayerListHudMixin.java │ │ ├── RenderSystemMixin.java │ │ ├── ServerEntryMixin.java │ │ ├── SimpleOptionMixin.java │ │ ├── SplashScreenMixin.java │ │ ├── TitleScreenMixin.java │ │ └── WindowMixin.java │ │ └── mod │ │ ├── GeneralSettings.java │ │ ├── Mod.java │ │ ├── ModManager.java │ │ ├── mods │ │ ├── ArmorMod.java │ │ ├── ArrowCountMod.java │ │ ├── CPSMod.java │ │ ├── CoordsMod.java │ │ ├── CrosshairMod.java │ │ ├── FPSMod.java │ │ ├── FreelookMod.java │ │ ├── HitColorMod.java │ │ ├── HitboxMod.java │ │ ├── HurtCamMod.java │ │ ├── KeystrokesMod.java │ │ ├── NametagsMod.java │ │ ├── PingMod.java │ │ ├── PotCountMod.java │ │ ├── PotionMod.java │ │ ├── ReachDisplayMod.java │ │ ├── ScoreboardMod.java │ │ ├── ServerIPMod.java │ │ ├── TimeChangerMod.java │ │ ├── TimeMod.java │ │ ├── ToggleSneakMod.java │ │ ├── ToggleSprintMod.java │ │ ├── TotemCountMod.java │ │ └── ZoomMod.java │ │ └── setting │ │ ├── RenderableSetting.java │ │ ├── Setting.java │ │ └── settings │ │ ├── BooleanSetting.java │ │ ├── ButtonSetting.java │ │ ├── ColorSetting.java │ │ ├── KeybindSetting.java │ │ ├── ModeSetting.java │ │ └── NumberSetting.java │ └── resources │ ├── blaze-client.mixins.json │ └── fabric.mod.json ├── 1.20.6 ├── build.gradle └── src │ └── main │ ├── java │ └── me │ │ └── nobokik │ │ └── blazeclient │ │ ├── Client.java │ │ ├── api │ │ ├── config │ │ │ └── ConfigManager.java │ │ ├── discord │ │ │ ├── DiscordClient.java │ │ │ └── Game.java │ │ ├── event │ │ │ ├── Cancellable.java │ │ │ ├── events │ │ │ │ ├── AttackEntityEvent.java │ │ │ │ ├── AttackEvent.java │ │ │ │ ├── BlockBreakEvent.java │ │ │ │ ├── EntityRemoveEvent.java │ │ │ │ ├── HudRenderEvent.java │ │ │ │ ├── ItemUseEvent.java │ │ │ │ ├── KeyPressEvent.java │ │ │ │ ├── MouseButtonEvent.java │ │ │ │ ├── MouseMoveEvent.java │ │ │ │ ├── MouseUpdateEvent.java │ │ │ │ ├── OverlayReloadListener.java │ │ │ │ ├── PacketEvent.java │ │ │ │ ├── PlayerTickEvent.java │ │ │ │ ├── RenderTickEvent.java │ │ │ │ ├── SendMovementPacketEvent.java │ │ │ │ ├── SlotCheckEvent.java │ │ │ │ ├── TickEvent.java │ │ │ │ ├── WorldRenderEvent.java │ │ │ │ └── WorldTickEvent.java │ │ │ └── orbit │ │ │ │ ├── EventBus.java │ │ │ │ ├── EventHandler.java │ │ │ │ ├── EventPriority.java │ │ │ │ ├── ICancellable.java │ │ │ │ ├── IEventBus.java │ │ │ │ ├── NoLambdaFactoryException.java │ │ │ │ └── listeners │ │ │ │ ├── ConsumerListener.java │ │ │ │ ├── IListener.java │ │ │ │ └── LambdaListener.java │ │ ├── font │ │ │ └── JColor.java │ │ ├── helpers │ │ │ ├── CPSHelper.java │ │ │ ├── CapeHelper.java │ │ │ ├── FPSHelper.java │ │ │ ├── IndicatorHelper.java │ │ │ ├── ItemHelper.java │ │ │ ├── KeystrokeHelper.java │ │ │ └── MathHelper.java │ │ ├── hook │ │ │ ├── ChatHudHook.java │ │ │ ├── ChatMessage.java │ │ │ └── IChatHudExt.java │ │ └── util │ │ │ ├── KeyUtils.java │ │ │ ├── RenderUtils.java │ │ │ └── TextUtil.java │ │ ├── gui │ │ ├── BlazeMenu.java │ │ ├── ImguiLoader.java │ │ ├── Renderable.java │ │ ├── TextureLoader.java │ │ ├── Theme.java │ │ └── UI.java │ │ ├── menu │ │ ├── CosmeticsMenu.java │ │ ├── FirstMenu.java │ │ ├── MainMenuButtons.java │ │ ├── ModMenu.java │ │ ├── ModSettings.java │ │ ├── ProfilesMenu.java │ │ └── SideMenu.java │ │ ├── mixin │ │ ├── BuiltinModelItemRendererMixin.java │ │ ├── CameraMixin.java │ │ ├── ChatHudMixin.java │ │ ├── ClientBrandRetrieverMixin.java │ │ ├── ClientPlayerEntityMixin.java │ │ ├── ClientPlayerInteractionManagerMixin.java │ │ ├── ClientWorldMixin.java │ │ ├── DrawContextMixin.java │ │ ├── EntityMixin.java │ │ ├── EntityRenderDispatcherAccessor.java │ │ ├── EntityRenderDispatcherMixin.java │ │ ├── EntityRendererMixin.java │ │ ├── GameRendererMixin.java │ │ ├── InGameHudMixin.java │ │ ├── InGameOverlayRendererMixin.java │ │ ├── InventoryScreenMixin.java │ │ ├── KeyboardMixin.java │ │ ├── LightmapManagerMixin.java │ │ ├── LivingEntityRendererMixin.java │ │ ├── LogoDrawerMixin.java │ │ ├── MinecraftClientMixin.java │ │ ├── MouseMixin.java │ │ ├── OverlayTextureMixin.java │ │ ├── PlayerListEntryMixin.java │ │ ├── PlayerListHudMixin.java │ │ ├── RenderSystemMixin.java │ │ ├── ServerEntryMixin.java │ │ ├── SimpleOptionMixin.java │ │ ├── SplashScreenMixin.java │ │ ├── TitleScreenMixin.java │ │ └── WindowMixin.java │ │ └── mod │ │ ├── GeneralSettings.java │ │ ├── Mod.java │ │ ├── ModManager.java │ │ ├── mods │ │ ├── ArmorMod.java │ │ ├── ArrowCountMod.java │ │ ├── CPSMod.java │ │ ├── CoordsMod.java │ │ ├── CrosshairMod.java │ │ ├── FPSMod.java │ │ ├── FreelookMod.java │ │ ├── HitColorMod.java │ │ ├── HitboxMod.java │ │ ├── HurtCamMod.java │ │ ├── KeystrokesMod.java │ │ ├── NametagsMod.java │ │ ├── PingMod.java │ │ ├── PotCountMod.java │ │ ├── PotionMod.java │ │ ├── ReachDisplayMod.java │ │ ├── ScoreboardMod.java │ │ ├── ServerIPMod.java │ │ ├── TimeChangerMod.java │ │ ├── TimeMod.java │ │ ├── ToggleSneakMod.java │ │ ├── ToggleSprintMod.java │ │ ├── TotemCountMod.java │ │ └── ZoomMod.java │ │ └── setting │ │ ├── RenderableSetting.java │ │ ├── Setting.java │ │ └── settings │ │ ├── BooleanSetting.java │ │ ├── ButtonSetting.java │ │ ├── ColorSetting.java │ │ ├── KeybindSetting.java │ │ ├── ModeSetting.java │ │ └── NumberSetting.java │ └── resources │ ├── blaze-client.mixins.json │ └── fabric.mod.json ├── 1.21 ├── build.gradle └── src │ └── main │ ├── java │ └── me │ │ └── nobokik │ │ └── blazeclient │ │ ├── Client.java │ │ ├── api │ │ ├── config │ │ │ └── ConfigManager.java │ │ ├── discord │ │ │ ├── DiscordClient.java │ │ │ └── Game.java │ │ ├── event │ │ │ ├── Cancellable.java │ │ │ ├── events │ │ │ │ ├── AttackEntityEvent.java │ │ │ │ ├── AttackEvent.java │ │ │ │ ├── BlockBreakEvent.java │ │ │ │ ├── EntityRemoveEvent.java │ │ │ │ ├── HudRenderEvent.java │ │ │ │ ├── ItemUseEvent.java │ │ │ │ ├── KeyPressEvent.java │ │ │ │ ├── MouseButtonEvent.java │ │ │ │ ├── MouseMoveEvent.java │ │ │ │ ├── MouseUpdateEvent.java │ │ │ │ ├── OverlayReloadListener.java │ │ │ │ ├── PacketEvent.java │ │ │ │ ├── PlayerTickEvent.java │ │ │ │ ├── RenderTickEvent.java │ │ │ │ ├── SendMovementPacketEvent.java │ │ │ │ ├── SlotCheckEvent.java │ │ │ │ ├── TickEvent.java │ │ │ │ ├── WorldRenderEvent.java │ │ │ │ └── WorldTickEvent.java │ │ │ └── orbit │ │ │ │ ├── EventBus.java │ │ │ │ ├── EventHandler.java │ │ │ │ ├── EventPriority.java │ │ │ │ ├── ICancellable.java │ │ │ │ ├── IEventBus.java │ │ │ │ ├── NoLambdaFactoryException.java │ │ │ │ └── listeners │ │ │ │ ├── ConsumerListener.java │ │ │ │ ├── IListener.java │ │ │ │ └── LambdaListener.java │ │ ├── font │ │ │ └── JColor.java │ │ ├── helpers │ │ │ ├── CPSHelper.java │ │ │ ├── CapeHelper.java │ │ │ ├── FPSHelper.java │ │ │ ├── IndicatorHelper.java │ │ │ ├── ItemHelper.java │ │ │ ├── KeystrokeHelper.java │ │ │ └── MathHelper.java │ │ ├── hook │ │ │ ├── ChatHudHook.java │ │ │ ├── ChatMessage.java │ │ │ └── IChatHudExt.java │ │ └── util │ │ │ ├── KeyUtils.java │ │ │ ├── RenderUtils.java │ │ │ └── TextUtil.java │ │ ├── gui │ │ ├── BlazeMenu.java │ │ ├── ImguiLoader.java │ │ ├── Renderable.java │ │ ├── TextureLoader.java │ │ ├── Theme.java │ │ └── UI.java │ │ ├── menu │ │ ├── CosmeticsMenu.java │ │ ├── FirstMenu.java │ │ ├── MainMenuButtons.java │ │ ├── ModMenu.java │ │ ├── ModSettings.java │ │ ├── ProfilesMenu.java │ │ └── SideMenu.java │ │ ├── mixin │ │ ├── BuiltinModelItemRendererMixin.java │ │ ├── CameraMixin.java │ │ ├── ChatHudMixin.java │ │ ├── ClientBrandRetrieverMixin.java │ │ ├── ClientPlayerEntityMixin.java │ │ ├── ClientPlayerInteractionManagerMixin.java │ │ ├── ClientWorldMixin.java │ │ ├── DrawContextMixin.java │ │ ├── EntityMixin.java │ │ ├── EntityRenderDispatcherAccessor.java │ │ ├── EntityRenderDispatcherMixin.java │ │ ├── EntityRendererMixin.java │ │ ├── GameRendererMixin.java │ │ ├── InGameHudMixin.java │ │ ├── InGameOverlayRendererMixin.java │ │ ├── InventoryScreenMixin.java │ │ ├── KeyboardMixin.java │ │ ├── LightmapManagerMixin.java │ │ ├── LivingEntityRendererMixin.java │ │ ├── LogoDrawerMixin.java │ │ ├── MinecraftClientMixin.java │ │ ├── MouseMixin.java │ │ ├── OverlayTextureMixin.java │ │ ├── PlayerListEntryMixin.java │ │ ├── PlayerListHudMixin.java │ │ ├── RenderSystemMixin.java │ │ ├── ServerEntryMixin.java │ │ ├── SimpleOptionMixin.java │ │ ├── SplashScreenMixin.java │ │ ├── TitleScreenMixin.java │ │ └── WindowMixin.java │ │ └── mod │ │ ├── GeneralSettings.java │ │ ├── Mod.java │ │ ├── ModManager.java │ │ ├── mods │ │ ├── ArmorMod.java │ │ ├── ArrowCountMod.java │ │ ├── CPSMod.java │ │ ├── CoordsMod.java │ │ ├── CrosshairMod.java │ │ ├── FPSMod.java │ │ ├── FreelookMod.java │ │ ├── HitColorMod.java │ │ ├── HitboxMod.java │ │ ├── HurtCamMod.java │ │ ├── KeystrokesMod.java │ │ ├── NametagsMod.java │ │ ├── PingMod.java │ │ ├── PotCountMod.java │ │ ├── PotionMod.java │ │ ├── ReachDisplayMod.java │ │ ├── ScoreboardMod.java │ │ ├── ServerIPMod.java │ │ ├── TimeChangerMod.java │ │ ├── TimeMod.java │ │ ├── ToggleSneakMod.java │ │ ├── ToggleSprintMod.java │ │ ├── TotemCountMod.java │ │ └── ZoomMod.java │ │ └── setting │ │ ├── RenderableSetting.java │ │ ├── Setting.java │ │ └── settings │ │ ├── BooleanSetting.java │ │ ├── ButtonSetting.java │ │ ├── ColorSetting.java │ │ ├── KeybindSetting.java │ │ ├── ModeSetting.java │ │ └── NumberSetting.java │ └── resources │ ├── blaze-client.mixins.json │ └── fabric.mod.json ├── LICENSE ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── run ├── config │ ├── blazeclient.json │ ├── fabric │ │ └── indigo-renderer.properties │ └── modmenu.json ├── crash-reports │ ├── crash-2023-07-27_10.28.42-client.txt │ ├── crash-2023-07-28_20.15.35-client.txt │ ├── crash-2023-07-30_19.46.34-client.txt │ ├── crash-2023-07-31_15.56.22-client.txt │ ├── crash-2023-07-31_15.57.21-client.txt │ └── crash-2023-07-31_16.43.17-client.txt ├── data │ └── fabricDefaultResourcePacks.dat ├── logs │ ├── 2023-07-26-1.log.gz │ ├── 2023-07-26-2.log.gz │ ├── 2023-07-26-3.log.gz │ ├── 2023-07-26-4.log.gz │ ├── 2023-07-26-5.log.gz │ ├── 2023-07-26-6.log.gz │ ├── 2023-07-27-1.log.gz │ ├── 2023-07-27-2.log.gz │ ├── 2023-07-27-3.log.gz │ ├── 2023-07-27-4.log.gz │ ├── 2023-07-27-5.log.gz │ ├── 2023-07-27-6.log.gz │ ├── 2023-07-28-1.log.gz │ ├── 2023-07-28-2.log.gz │ ├── 2023-07-28-3.log.gz │ ├── 2023-07-28-4.log.gz │ ├── 2023-07-28-5.log.gz │ ├── 2023-07-28-6.log.gz │ ├── 2023-07-29-1.log.gz │ ├── 2023-07-29-2.log.gz │ ├── 2023-07-29-3.log.gz │ ├── 2023-07-29-4.log.gz │ ├── 2023-07-29-5.log.gz │ ├── 2023-07-29-6.log.gz │ ├── 2023-07-30-1.log.gz │ ├── 2023-07-30-2.log.gz │ ├── 2023-07-30-3.log.gz │ ├── 2023-07-30-4.log.gz │ ├── 2023-07-30-5.log.gz │ ├── 2023-07-31-1.log.gz │ ├── 2023-07-31-2.log.gz │ ├── 2023-07-31-3.log.gz │ ├── 2023-07-31-4.log.gz │ ├── 2023-07-31-5.log.gz │ ├── 2023-07-31-6.log.gz │ ├── 2023-07-31-7.log.gz │ ├── debug-1.log.gz │ ├── debug-2.log.gz │ ├── debug-3.log.gz │ ├── debug-4.log.gz │ ├── debug-5.log.gz │ ├── debug.log │ └── latest.log ├── options.txt ├── servers.dat └── servers.dat_old ├── settings.gradle └── shared ├── build.gradle └── src └── main └── resources └── assets ├── Dosis-Bold.ttf ├── Dosis-Medium.ttf ├── Dosis-Regular.ttf ├── FontAwesome.ttf ├── FontAwesome6-Solid.otf ├── FontAwesome6.otf ├── JetBrainsMono-Regular.ttf ├── Minecraftia.ttf └── blaze-client ├── blazetext.png ├── blazetext2.png ├── blazetext3.png ├── cape-animated-astelic.gif ├── cape-animated-purple-sky.gif ├── cape-axolotl.png ├── cape-blaze-red.png ├── cape-glow-squid.png ├── cape-pastel-aesthetic.png ├── icon.png ├── waves-logo.png └── waves.png /.gitignore: -------------------------------------------------------------------------------- 1 | 1.19.4/.gradle/ 2 | 1.19.4/build/ 3 | build/ 4 | shared/build/ 5 | .gradle/ 6 | 7 | # Compiled class file 8 | *.class 9 | 10 | # Log file 11 | *.log 12 | 13 | # BlueJ files 14 | *.ctxt 15 | 16 | # Mobile Tools for Java (J2ME) 17 | .mtj.tmp/ 18 | 19 | # Package Files # 20 | *.jar 21 | *.war 22 | *.nar 23 | *.ear 24 | *.zip 25 | *.tar.gz 26 | *.rar 27 | 28 | run/ 29 | .idea/ 30 | 31 | 1.20.1/.idea 32 | 1.20.1/.gradle 33 | 34 | 1.19.4/.idea 35 | 1.19.4/.gradle 36 | 37 | shared/.idea 38 | shared/.gradle 39 | 40 | 41 | # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml 42 | hs_err_pid* 43 | replay_pid* -------------------------------------------------------------------------------- /1.19.4/src/main/java/me/nobokik/blazeclient/api/event/Cancellable.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event; 2 | 3 | import me.nobokik.blazeclient.api.event.orbit.ICancellable; 4 | 5 | public class Cancellable implements ICancellable { 6 | private boolean cancelled = false; 7 | 8 | @Override 9 | public void setCancelled(boolean cancelled) { 10 | this.cancelled = cancelled; 11 | } 12 | 13 | @Override 14 | public boolean isCancelled() { 15 | return cancelled; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /1.19.4/src/main/java/me/nobokik/blazeclient/api/event/events/AttackEntityEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import me.nobokik.blazeclient.api.event.Cancellable; 4 | import net.minecraft.entity.Entity; 5 | 6 | @SuppressWarnings("all") 7 | public class AttackEntityEvent extends Cancellable { 8 | private static final AttackEntityEvent INSTANCE = new AttackEntityEvent(); 9 | 10 | public Entity target; 11 | 12 | public static AttackEntityEvent get(Entity target) { 13 | INSTANCE.setCancelled(false); 14 | INSTANCE.target = target; 15 | return INSTANCE; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /1.19.4/src/main/java/me/nobokik/blazeclient/api/event/events/AttackEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import me.nobokik.blazeclient.api.event.Cancellable; 4 | 5 | @SuppressWarnings("all") 6 | public class AttackEvent extends Cancellable { 7 | 8 | public static class Pre extends AttackEvent { 9 | private static final Pre INSTANCE = new Pre(); 10 | 11 | public static Pre get() { 12 | return INSTANCE; 13 | } 14 | } 15 | 16 | public static class Post extends AttackEvent { 17 | private static final Post INSTANCE = new Post(); 18 | 19 | public static Post get() { 20 | return INSTANCE; 21 | } 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /1.19.4/src/main/java/me/nobokik/blazeclient/api/event/events/BlockBreakEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import me.nobokik.blazeclient.api.event.Cancellable; 4 | 5 | @SuppressWarnings("all") 6 | public class BlockBreakEvent extends Cancellable { 7 | 8 | public static class Pre extends BlockBreakEvent { 9 | private static final Pre INSTANCE = new Pre(); 10 | 11 | public static Pre get() { 12 | return INSTANCE; 13 | } 14 | } 15 | 16 | public static class Post extends BlockBreakEvent { 17 | private static final Post INSTANCE = new Post(); 18 | 19 | public static Post get() { 20 | return INSTANCE; 21 | } 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /1.19.4/src/main/java/me/nobokik/blazeclient/api/event/events/EntityRemoveEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import me.nobokik.blazeclient.api.event.Cancellable; 4 | import net.minecraft.entity.Entity; 5 | 6 | @SuppressWarnings("all") 7 | public class EntityRemoveEvent extends Cancellable { 8 | private static final EntityRemoveEvent INSTANCE = new EntityRemoveEvent(); 9 | 10 | public Entity entity; 11 | 12 | public static EntityRemoveEvent get(Entity entity) { 13 | INSTANCE.setCancelled(false); 14 | INSTANCE.entity = entity; 15 | return INSTANCE; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /1.19.4/src/main/java/me/nobokik/blazeclient/api/event/events/HudRenderEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import net.minecraft.client.util.math.MatrixStack; 4 | 5 | @SuppressWarnings("all") 6 | public class HudRenderEvent { 7 | 8 | private static final HudRenderEvent INSTANCE = new HudRenderEvent(); 9 | 10 | public MatrixStack matrices; 11 | public float tickDelta; 12 | 13 | public static HudRenderEvent get(MatrixStack matrices, float tickDelta) { 14 | INSTANCE.matrices = matrices; 15 | INSTANCE.tickDelta = tickDelta; 16 | return INSTANCE; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /1.19.4/src/main/java/me/nobokik/blazeclient/api/event/events/ItemUseEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import me.nobokik.blazeclient.api.event.Cancellable; 4 | 5 | @SuppressWarnings("all") 6 | public class ItemUseEvent extends Cancellable { 7 | 8 | public static class Pre extends ItemUseEvent { 9 | private static final Pre INSTANCE = new Pre(); 10 | 11 | public static Pre get() { 12 | return INSTANCE; 13 | } 14 | } 15 | 16 | public static class Post extends ItemUseEvent { 17 | private static final Post INSTANCE = new Post(); 18 | 19 | public static Post get() { 20 | return INSTANCE; 21 | } 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /1.19.4/src/main/java/me/nobokik/blazeclient/api/event/events/KeyPressEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | @SuppressWarnings("all") 4 | public class KeyPressEvent { 5 | 6 | private static final KeyPressEvent INSTANCE = new KeyPressEvent(); 7 | 8 | public int key, scanCode, action; 9 | public long window; 10 | 11 | public static KeyPressEvent get(int key, int scanCode, int action, long window) { 12 | INSTANCE.key = key; 13 | INSTANCE.scanCode = scanCode; 14 | INSTANCE.action = action; 15 | INSTANCE.window = window; 16 | return INSTANCE; 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /1.19.4/src/main/java/me/nobokik/blazeclient/api/event/events/MouseButtonEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | public class MouseButtonEvent { 4 | 5 | private static final MouseButtonEvent INSTANCE = new MouseButtonEvent(); 6 | 7 | public int button, action; 8 | 9 | public static MouseButtonEvent get(int button, int action) { 10 | INSTANCE.button = button; 11 | INSTANCE.action = action; 12 | return INSTANCE; 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /1.19.4/src/main/java/me/nobokik/blazeclient/api/event/events/MouseMoveEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | @SuppressWarnings("all") 4 | public class MouseMoveEvent { 5 | 6 | private static final MouseMoveEvent INSTANCE = new MouseMoveEvent(); 7 | 8 | public double mouseX, mouseY; 9 | 10 | public static MouseMoveEvent get(double mouseX, double mouseY) { 11 | INSTANCE.mouseX = mouseX; 12 | INSTANCE.mouseY = mouseY; 13 | return INSTANCE; 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /1.19.4/src/main/java/me/nobokik/blazeclient/api/event/events/MouseUpdateEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | @SuppressWarnings("all") 4 | public class MouseUpdateEvent { 5 | 6 | private static final MouseUpdateEvent INSTANCE = new MouseUpdateEvent(); 7 | 8 | public static MouseUpdateEvent get() { 9 | return INSTANCE; 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /1.19.4/src/main/java/me/nobokik/blazeclient/api/event/events/OverlayReloadListener.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | 6 | public interface OverlayReloadListener { 7 | List listeners = new ArrayList<>(); 8 | void onOverlayReload(); 9 | 10 | static void register(OverlayReloadListener listener) { 11 | listeners.add(listener); 12 | } 13 | 14 | static void callEvent() { 15 | for (OverlayReloadListener listener : listeners) { 16 | listener.onOverlayReload(); 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /1.19.4/src/main/java/me/nobokik/blazeclient/api/event/events/PacketEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import me.nobokik.blazeclient.api.event.Cancellable; 4 | import net.minecraft.network.packet.Packet; 5 | 6 | @SuppressWarnings("all") 7 | public class PacketEvent extends Cancellable { 8 | public static class Receive extends PacketEvent { 9 | private static final Receive INSTANCE = new Receive(); 10 | 11 | public Packet packet; 12 | 13 | public static Receive get(Packet packet) { 14 | INSTANCE.setCancelled(false); 15 | INSTANCE.packet = packet; 16 | return INSTANCE; 17 | } 18 | } 19 | 20 | public static class Send extends PacketEvent { 21 | private static final Send INSTANCE = new Send(); 22 | 23 | public Packet packet; 24 | 25 | public static Send get(Packet packet) { 26 | INSTANCE.setCancelled(false); 27 | INSTANCE.packet = packet; 28 | return INSTANCE; 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /1.19.4/src/main/java/me/nobokik/blazeclient/api/event/events/PlayerTickEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | @SuppressWarnings("all") 4 | public class PlayerTickEvent { 5 | 6 | private static final PlayerTickEvent INSTANCE = new PlayerTickEvent(); 7 | 8 | public static PlayerTickEvent get() { 9 | return INSTANCE; 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /1.19.4/src/main/java/me/nobokik/blazeclient/api/event/events/RenderTickEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | @SuppressWarnings("all") 4 | public class RenderTickEvent { 5 | 6 | private static final RenderTickEvent INSTANCE = new RenderTickEvent(); 7 | 8 | public static RenderTickEvent get() { 9 | return INSTANCE; 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /1.19.4/src/main/java/me/nobokik/blazeclient/api/event/events/SendMovementPacketEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | @SuppressWarnings("all") 4 | public class SendMovementPacketEvent { 5 | 6 | public static class Pre extends SendMovementPacketEvent { 7 | private static final Pre INSTANCE = new Pre(); 8 | 9 | public static Pre get() { 10 | return INSTANCE; 11 | } 12 | } 13 | 14 | public static class Post extends SendMovementPacketEvent { 15 | private static final Post INSTANCE = new Post(); 16 | 17 | public static Post get() { 18 | return INSTANCE; 19 | } 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /1.19.4/src/main/java/me/nobokik/blazeclient/api/event/events/SlotCheckEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import me.nobokik.blazeclient.api.event.Cancellable; 4 | import net.minecraft.client.gui.screen.ingame.HandledScreen; 5 | import net.minecraft.screen.slot.Slot; 6 | 7 | @SuppressWarnings("all") 8 | public class SlotCheckEvent extends Cancellable { 9 | private static final SlotCheckEvent INSTANCE = new SlotCheckEvent(); 10 | 11 | public boolean cancelOutput = false; 12 | 13 | public void setCancelOutput(boolean cancelOutput) { 14 | this.cancelOutput = cancelOutput; 15 | cancel(); 16 | } 17 | 18 | public HandledScreen instance; 19 | public Slot slot; 20 | 21 | public static SlotCheckEvent get(HandledScreen instance, Slot slot) { 22 | INSTANCE.setCancelled(false); 23 | INSTANCE.instance = instance; 24 | INSTANCE.slot = slot; 25 | return INSTANCE; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /1.19.4/src/main/java/me/nobokik/blazeclient/api/event/events/TickEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | @SuppressWarnings("all") 4 | public class TickEvent { 5 | 6 | public static class Pre extends TickEvent { 7 | private static final Pre INSTANCE = new Pre(); 8 | 9 | public static Pre get() { 10 | return INSTANCE; 11 | } 12 | } 13 | 14 | public static class Post extends TickEvent { 15 | private static final Post INSTANCE = new Post(); 16 | 17 | public static Post get() { 18 | return INSTANCE; 19 | } 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /1.19.4/src/main/java/me/nobokik/blazeclient/api/event/events/WorldRenderEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext; 4 | 5 | @SuppressWarnings("all") 6 | public class WorldRenderEvent { 7 | 8 | private static final WorldRenderEvent INSTANCE = new WorldRenderEvent(); 9 | 10 | public WorldRenderContext context; 11 | 12 | public static WorldRenderEvent get(WorldRenderContext context) { 13 | INSTANCE.context = context; 14 | return INSTANCE; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /1.19.4/src/main/java/me/nobokik/blazeclient/api/event/events/WorldTickEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | @SuppressWarnings("all") 4 | public class WorldTickEvent { 5 | 6 | private static final WorldTickEvent INSTANCE = new WorldTickEvent(); 7 | 8 | public static WorldTickEvent get() { 9 | return INSTANCE; 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /1.19.4/src/main/java/me/nobokik/blazeclient/api/event/orbit/EventHandler.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.orbit; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | /** 9 | * Used to mark listeners. 10 | */ 11 | @Retention(RetentionPolicy.RUNTIME) 12 | @Target(ElementType.METHOD) 13 | public @interface EventHandler { 14 | int priority() default EventPriority.MEDIUM; 15 | } 16 | -------------------------------------------------------------------------------- /1.19.4/src/main/java/me/nobokik/blazeclient/api/event/orbit/EventPriority.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.orbit; 2 | 3 | /** 4 | * Default event priorities. 5 | */ 6 | public class EventPriority { 7 | public static final int HIGHEST = 200; 8 | public static final int HIGH = 100; 9 | public static final int MEDIUM = 0; 10 | public static final int LOW = -100; 11 | public static final int LOWEST = -200; 12 | } 13 | -------------------------------------------------------------------------------- /1.19.4/src/main/java/me/nobokik/blazeclient/api/event/orbit/ICancellable.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.orbit; 2 | 3 | /** 4 | * Cancellable events need to implement this interface. 5 | */ 6 | public interface ICancellable { 7 | /** 8 | * Sets if this event is cancelled. 9 | * @param cancelled Is cancelled 10 | */ 11 | void setCancelled(boolean cancelled); 12 | 13 | /** 14 | * Cancels this event. 15 | */ 16 | default void cancel() { setCancelled(true); } 17 | 18 | /** 19 | * @return True if this event is cancelled. 20 | */ 21 | boolean isCancelled(); 22 | } 23 | -------------------------------------------------------------------------------- /1.19.4/src/main/java/me/nobokik/blazeclient/api/event/orbit/NoLambdaFactoryException.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.orbit; 2 | 3 | /** 4 | * Thrown when an {@link IEventBus} can't find a registered lambda factory to use. 5 | */ 6 | public class NoLambdaFactoryException extends RuntimeException { 7 | public NoLambdaFactoryException(Class klass) { 8 | super("No registered lambda listener for '" + klass.getName() + "'."); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /1.19.4/src/main/java/me/nobokik/blazeclient/api/event/orbit/listeners/IListener.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.orbit.listeners; 2 | 3 | /** 4 | * Base type for all listeners. 5 | */ 6 | public interface IListener { 7 | /** 8 | * Calls the listener with the specified event. 9 | * @param event Event to pass in 10 | */ 11 | void call(Object event); 12 | 13 | /** 14 | * @return The target event type this listener is for 15 | */ 16 | Class getTarget(); 17 | 18 | /** 19 | * @return The priority for this listener 20 | */ 21 | int getPriority(); 22 | 23 | /** 24 | * @return True if this listener is for static methods 25 | */ 26 | boolean isStatic(); 27 | } 28 | -------------------------------------------------------------------------------- /1.19.4/src/main/java/me/nobokik/blazeclient/api/helpers/FPSHelper.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.helpers; 2 | 3 | public class FPSHelper { 4 | 5 | private static int fps = 0; 6 | 7 | public static int getFPS() { 8 | return fps; 9 | } 10 | 11 | public static void setFPS(int fps) { 12 | FPSHelper.fps = fps; 13 | } 14 | } -------------------------------------------------------------------------------- /1.19.4/src/main/java/me/nobokik/blazeclient/api/hook/IChatHudExt.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.hook; 2 | 3 | import net.minecraft.client.gui.hud.ChatHudLine; 4 | 5 | import java.util.List; 6 | 7 | public interface IChatHudExt { 8 | List getMessages(); 9 | void refreshMessages(); 10 | } -------------------------------------------------------------------------------- /1.19.4/src/main/java/me/nobokik/blazeclient/gui/Renderable.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.gui; 2 | 3 | public interface Renderable { 4 | String getName(); 5 | 6 | void render(); 7 | 8 | default Theme getTheme() { 9 | return new Theme() { 10 | }; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /1.19.4/src/main/java/me/nobokik/blazeclient/gui/Theme.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.gui; 2 | 3 | public interface Theme { 4 | default void preRender() { 5 | // do nothing 6 | } 7 | 8 | default void postRender() { 9 | // do nothing 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /1.19.4/src/main/java/me/nobokik/blazeclient/mixin/ClientBrandRetrieverMixin.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mixin; 2 | 3 | 4 | import net.minecraft.client.ClientBrandRetriever; 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.injection.At; 7 | import org.spongepowered.asm.mixin.injection.Inject; 8 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; 9 | 10 | @Mixin(ClientBrandRetriever.class) 11 | public abstract class ClientBrandRetrieverMixin { 12 | @Inject(method = "getClientModName", at = @At("HEAD"), cancellable = true, remap = false) 13 | private static void blazeclient$returnClientBrand(CallbackInfoReturnable cir) { 14 | cir.setReturnValue("Blaze Client"); 15 | cir.cancel(); 16 | } 17 | } -------------------------------------------------------------------------------- /1.19.4/src/main/java/me/nobokik/blazeclient/mixin/ClientPlayerInteractionManagerMixin.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mixin; 2 | 3 | import me.nobokik.blazeclient.Client; 4 | import me.nobokik.blazeclient.api.event.events.AttackEntityEvent; 5 | import net.minecraft.client.network.ClientPlayerInteractionManager; 6 | import net.minecraft.entity.Entity; 7 | import net.minecraft.entity.player.PlayerEntity; 8 | import org.spongepowered.asm.mixin.Mixin; 9 | import org.spongepowered.asm.mixin.injection.At; 10 | import org.spongepowered.asm.mixin.injection.Inject; 11 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 12 | 13 | @Mixin(ClientPlayerInteractionManager.class) 14 | public abstract class ClientPlayerInteractionManagerMixin { 15 | 16 | @Inject(at = @At("HEAD"), method = "attackEntity") 17 | private void onAttackEntity(PlayerEntity player, Entity target, CallbackInfo ci) { 18 | Client.EVENTBUS.post(AttackEntityEvent.get(target)); 19 | } 20 | } -------------------------------------------------------------------------------- /1.19.4/src/main/java/me/nobokik/blazeclient/mixin/ClientWorldMixin.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mixin; 2 | 3 | import me.nobokik.blazeclient.Client; 4 | import me.nobokik.blazeclient.mod.mods.TimeChangerMod; 5 | import net.minecraft.client.world.ClientWorld; 6 | import org.spongepowered.asm.mixin.Mixin; 7 | import org.spongepowered.asm.mixin.injection.At; 8 | import org.spongepowered.asm.mixin.injection.ModifyArg; 9 | 10 | @Mixin(ClientWorld.class) 11 | public abstract class ClientWorldMixin { 12 | @ModifyArg(method = "setTimeOfDay", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/world/ClientWorld$Properties;setTimeOfDay(J)V")) 13 | public long setTimeOfDay(long time) { 14 | if (Client.modManager().getMod(TimeChangerMod.class).isEnabled()) 15 | return Client.modManager().getMod(TimeChangerMod.class).getTimeInt(); 16 | else 17 | return time; 18 | } 19 | } -------------------------------------------------------------------------------- /1.19.4/src/main/java/me/nobokik/blazeclient/mixin/DrawableHelperMixin.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mixin; 2 | 3 | import net.minecraft.client.font.TextRenderer; 4 | import net.minecraft.client.gui.DrawableHelper; 5 | import net.minecraft.client.util.math.MatrixStack; 6 | import org.spongepowered.asm.mixin.Mixin; 7 | import org.spongepowered.asm.mixin.injection.At; 8 | import org.spongepowered.asm.mixin.injection.Inject; 9 | import org.spongepowered.asm.mixin.injection.ModifyArg; 10 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 11 | 12 | @Mixin(DrawableHelper.class) 13 | public class DrawableHelperMixin { 14 | @Inject(at = @At("HEAD"), method = "drawTextWithShadow(Lnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/font/TextRenderer;Ljava/lang/String;III)V", cancellable = true) 15 | private static void drawModifiedVersionString(MatrixStack matrices, TextRenderer textRenderer, String text, int x, int y, int color, CallbackInfo ci) { 16 | if(text.startsWith("Minecraft 1.19.4/Fabric (")) ci.cancel(); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /1.19.4/src/main/java/me/nobokik/blazeclient/mixin/EntityMixin.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mixin; 2 | 3 | import me.nobokik.blazeclient.Client; 4 | import me.nobokik.blazeclient.mod.mods.FreelookMod; 5 | import net.minecraft.entity.Entity; 6 | import org.spongepowered.asm.mixin.Mixin; 7 | import org.spongepowered.asm.mixin.injection.At; 8 | import org.spongepowered.asm.mixin.injection.Inject; 9 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 10 | 11 | @Mixin(Entity.class) 12 | public class EntityMixin { 13 | @Inject(method = "changeLookDirection", at = @At("HEAD"), cancellable = true) 14 | public void interceptMovement(double cursorDeltaX, double cursorDeltaY, CallbackInfo ci) { 15 | if (Client.modManager().getMod(FreelookMod.class).consumeRotation(cursorDeltaX, cursorDeltaY)) { 16 | ci.cancel(); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /1.19.4/src/main/java/me/nobokik/blazeclient/mixin/EntityRenderDispatcherAccessor.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mixin; 2 | 3 | import net.minecraft.client.render.entity.EntityRenderDispatcher; 4 | import org.spongepowered.asm.mixin.Mixin; 5 | import org.spongepowered.asm.mixin.gen.Accessor; 6 | 7 | @Mixin(EntityRenderDispatcher.class) 8 | public interface EntityRenderDispatcherAccessor { 9 | @Accessor 10 | void setRenderHitboxes(boolean renderHitboxes); 11 | } 12 | -------------------------------------------------------------------------------- /1.19.4/src/main/java/me/nobokik/blazeclient/mixin/HandledScreenAccessor.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mixin; 2 | 3 | import net.minecraft.client.util.math.MatrixStack; 4 | import org.spongepowered.asm.mixin.Mixin; 5 | import org.spongepowered.asm.mixin.Shadow; 6 | import org.spongepowered.asm.mixin.gen.Accessor; 7 | 8 | @Mixin(HandledScreenAccessor.class) 9 | public interface HandledScreenAccessor { 10 | } 11 | -------------------------------------------------------------------------------- /1.19.4/src/main/java/me/nobokik/blazeclient/mixin/LogoDrawerMixin.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mixin; 2 | 3 | import net.minecraft.client.gui.LogoDrawer; 4 | import net.minecraft.client.util.math.MatrixStack; 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.injection.At; 7 | import org.spongepowered.asm.mixin.injection.Inject; 8 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 9 | 10 | @Mixin(LogoDrawer.class) 11 | public class LogoDrawerMixin { 12 | @Inject(method = "draw*", at = @At("HEAD"), cancellable = true) 13 | public void cancelDraw(CallbackInfo ci) { 14 | ci.cancel(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /1.19.4/src/main/java/me/nobokik/blazeclient/mixin/RenderSystemMixin.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mixin; 2 | 3 | import com.mojang.blaze3d.systems.RenderSystem; 4 | import me.nobokik.blazeclient.Client; 5 | import me.nobokik.blazeclient.api.event.events.RenderTickEvent; 6 | import me.nobokik.blazeclient.gui.ImguiLoader; 7 | import net.minecraft.client.MinecraftClient; 8 | import org.spongepowered.asm.mixin.Mixin; 9 | import org.spongepowered.asm.mixin.injection.At; 10 | import org.spongepowered.asm.mixin.injection.Inject; 11 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 12 | 13 | @Mixin(RenderSystem.class) 14 | public class RenderSystemMixin { 15 | @Inject(at = @At("HEAD"), method = "flipFrame") 16 | private static void runTickTail(CallbackInfo ci) { 17 | Client.EVENTBUS.post(RenderTickEvent.get()); 18 | MinecraftClient.getInstance().getProfiler().push("ImGui Render"); 19 | ImguiLoader.onFrameRender(); 20 | MinecraftClient.getInstance().getProfiler().pop(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /1.19.4/src/main/java/me/nobokik/blazeclient/mod/mods/HitColorMod.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mod.mods; 2 | 3 | import me.nobokik.blazeclient.Client; 4 | import me.nobokik.blazeclient.api.event.events.OverlayReloadListener; 5 | import me.nobokik.blazeclient.api.event.events.TickEvent; 6 | import me.nobokik.blazeclient.api.event.orbit.EventHandler; 7 | import me.nobokik.blazeclient.api.font.JColor; 8 | import me.nobokik.blazeclient.mod.Mod; 9 | import me.nobokik.blazeclient.mod.setting.settings.BooleanSetting; 10 | import me.nobokik.blazeclient.mod.setting.settings.ColorSetting; 11 | import me.nobokik.blazeclient.mod.setting.settings.NumberSetting; 12 | 13 | public class HitColorMod extends Mod { 14 | public final ColorSetting hitColor = new ColorSetting("Hit Color", this, new JColor(0.7f, 0f, 0f, 0.75f), true); 15 | public HitColorMod() { 16 | super("Hit Color", "Change the hit color.", "\uF53F"); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /1.19.4/src/main/java/me/nobokik/blazeclient/mod/mods/HitboxMod.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mod.mods; 2 | 3 | import me.nobokik.blazeclient.api.event.events.TickEvent; 4 | import me.nobokik.blazeclient.api.event.orbit.EventHandler; 5 | import me.nobokik.blazeclient.api.font.JColor; 6 | import me.nobokik.blazeclient.mixin.EntityRenderDispatcherAccessor; 7 | import me.nobokik.blazeclient.mixin.EntityRenderDispatcherMixin; 8 | import me.nobokik.blazeclient.mod.Mod; 9 | import me.nobokik.blazeclient.mod.setting.settings.BooleanSetting; 10 | import me.nobokik.blazeclient.mod.setting.settings.ColorSetting; 11 | import me.nobokik.blazeclient.mod.setting.settings.NumberSetting; 12 | import net.minecraft.client.MinecraftClient; 13 | import net.minecraft.util.Identifier; 14 | 15 | public class HitboxMod extends Mod { 16 | public final ColorSetting boxColor = new ColorSetting("Box Color", this, new JColor(1f,1f,1f), true); 17 | 18 | public HitboxMod() { 19 | super("Hitbox", "Change the hitbox.", "\uF0C8"); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /1.19.4/src/main/java/me/nobokik/blazeclient/mod/mods/HurtCamMod.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mod.mods; 2 | 3 | import me.nobokik.blazeclient.mod.Mod; 4 | import me.nobokik.blazeclient.mod.setting.settings.BooleanSetting; 5 | import me.nobokik.blazeclient.mod.setting.settings.NumberSetting; 6 | 7 | public class HurtCamMod extends Mod { 8 | public final BooleanSetting disableHurtcam = new BooleanSetting("Disable hurtcam", this, false); 9 | public final BooleanSetting oldHurtcam = new BooleanSetting("Old Hurtcam", this, false); 10 | public final NumberSetting scale = new NumberSetting("Scale", this, 1, 0, 2, 0.1); 11 | public HurtCamMod() { 12 | super("Hurt Cam", "Change the hurtcam.", "\uF030"); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /1.19.4/src/main/java/me/nobokik/blazeclient/mod/mods/NametagsMod.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mod.mods; 2 | 3 | import me.nobokik.blazeclient.mod.Mod; 4 | import me.nobokik.blazeclient.mod.setting.settings.BooleanSetting; 5 | import me.nobokik.blazeclient.mod.setting.settings.NumberSetting; 6 | 7 | public class NametagsMod extends Mod { 8 | public final BooleanSetting textShadow = new BooleanSetting("Text Shadow", this, false); 9 | public final NumberSetting opacity = new NumberSetting("Opacity", this, 0.25, 0, 1, 0.01); 10 | 11 | public NametagsMod() { 12 | super("Nametags", "Change nametags.", "\uF02C"); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /1.19.4/src/main/java/me/nobokik/blazeclient/mod/mods/ScoreboardMod.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mod.mods; 2 | 3 | import me.nobokik.blazeclient.mod.Mod; 4 | import me.nobokik.blazeclient.mod.setting.settings.BooleanSetting; 5 | 6 | public class ScoreboardMod extends Mod { 7 | public final BooleanSetting hideScoreboard = new BooleanSetting("Hide Scoreboard", this, false); 8 | public final BooleanSetting background = new BooleanSetting("Background", this, true); 9 | public final BooleanSetting numbers = new BooleanSetting("Numbers", this, true); 10 | public final BooleanSetting textShadow = new BooleanSetting("Text Shadow", this, false); 11 | public ScoreboardMod() { 12 | super("Scoreboard", "Change the scoreboard.", "\uF0CA"); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /1.19.4/src/main/java/me/nobokik/blazeclient/mod/mods/TimeChangerMod.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mod.mods; 2 | 3 | import me.nobokik.blazeclient.mod.Mod; 4 | import me.nobokik.blazeclient.mod.setting.settings.ModeSetting; 5 | 6 | public class TimeChangerMod extends Mod { 7 | public final ModeSetting time = new ModeSetting("Time", this, "Day", "Day", "Night"); 8 | 9 | public TimeChangerMod() { 10 | super("Time Changer", "Change time.", "\uF185"); 11 | } 12 | 13 | public int getTimeInt() { 14 | if (time.is("Day")) return 0; 15 | else return 24000; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /1.19.4/src/main/java/me/nobokik/blazeclient/mod/setting/RenderableSetting.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mod.setting; 2 | 3 | public interface RenderableSetting { 4 | void render(); 5 | } 6 | -------------------------------------------------------------------------------- /1.19.4/src/main/java/me/nobokik/blazeclient/mod/setting/Setting.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mod.setting; 2 | 3 | import me.nobokik.blazeclient.mod.Mod; 4 | 5 | public abstract class Setting { 6 | public String name; 7 | public Mod parent; 8 | 9 | public String getName() { 10 | return name; 11 | } 12 | } -------------------------------------------------------------------------------- /1.19.4/src/main/resources/fabric.mod.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": 1, 3 | "id": "blaze-client", 4 | "version": "${version}", 5 | "name": "Blaze Client", 6 | "description": "This is an example description! Tell everyone what your mod is about!", 7 | "authors": [ 8 | "NoboKik" 9 | ], 10 | "contact": { 11 | "homepage": "https://fabricmc.net/", 12 | "sources": "https://github.com/FabricMC/fabric-example-mod" 13 | }, 14 | "license": "CC0-1.0", 15 | "icon": "assets/blaze-client/icon.png", 16 | "environment": "*", 17 | "entrypoints": { 18 | "main": [ 19 | "me.nobokik.blazeclient.Client" 20 | ] 21 | }, 22 | "mixins": [ 23 | "blaze-client.mixins.json" 24 | ], 25 | "depends": { 26 | "fabricloader": ">=0.14.21", 27 | "minecraft": "~1.19.4", 28 | "java": ">=17", 29 | "fabric-api": "*" 30 | } 31 | } -------------------------------------------------------------------------------- /1.20.1/src/main/java/me/nobokik/blazeclient/api/event/Cancellable.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event; 2 | 3 | import me.nobokik.blazeclient.api.event.orbit.ICancellable; 4 | 5 | public class Cancellable implements ICancellable { 6 | private boolean cancelled = false; 7 | 8 | @Override 9 | public void setCancelled(boolean cancelled) { 10 | this.cancelled = cancelled; 11 | } 12 | 13 | @Override 14 | public boolean isCancelled() { 15 | return cancelled; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /1.20.1/src/main/java/me/nobokik/blazeclient/api/event/events/AttackEntityEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import me.nobokik.blazeclient.api.event.Cancellable; 4 | import net.minecraft.entity.Entity; 5 | 6 | @SuppressWarnings("all") 7 | public class AttackEntityEvent extends Cancellable { 8 | private static final AttackEntityEvent INSTANCE = new AttackEntityEvent(); 9 | 10 | public Entity target; 11 | 12 | public static AttackEntityEvent get(Entity target) { 13 | INSTANCE.setCancelled(false); 14 | INSTANCE.target = target; 15 | return INSTANCE; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /1.20.1/src/main/java/me/nobokik/blazeclient/api/event/events/AttackEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import me.nobokik.blazeclient.api.event.Cancellable; 4 | 5 | @SuppressWarnings("all") 6 | public class AttackEvent extends Cancellable { 7 | 8 | public static class Pre extends AttackEvent { 9 | private static final Pre INSTANCE = new Pre(); 10 | 11 | public static Pre get() { 12 | return INSTANCE; 13 | } 14 | } 15 | 16 | public static class Post extends AttackEvent { 17 | private static final Post INSTANCE = new Post(); 18 | 19 | public static Post get() { 20 | return INSTANCE; 21 | } 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /1.20.1/src/main/java/me/nobokik/blazeclient/api/event/events/BlockBreakEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import me.nobokik.blazeclient.api.event.Cancellable; 4 | 5 | @SuppressWarnings("all") 6 | public class BlockBreakEvent extends Cancellable { 7 | 8 | public static class Pre extends BlockBreakEvent { 9 | private static final Pre INSTANCE = new Pre(); 10 | 11 | public static Pre get() { 12 | return INSTANCE; 13 | } 14 | } 15 | 16 | public static class Post extends BlockBreakEvent { 17 | private static final Post INSTANCE = new Post(); 18 | 19 | public static Post get() { 20 | return INSTANCE; 21 | } 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /1.20.1/src/main/java/me/nobokik/blazeclient/api/event/events/EntityRemoveEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import me.nobokik.blazeclient.api.event.Cancellable; 4 | import net.minecraft.entity.Entity; 5 | 6 | @SuppressWarnings("all") 7 | public class EntityRemoveEvent extends Cancellable { 8 | private static final EntityRemoveEvent INSTANCE = new EntityRemoveEvent(); 9 | 10 | public Entity entity; 11 | 12 | public static EntityRemoveEvent get(Entity entity) { 13 | INSTANCE.setCancelled(false); 14 | INSTANCE.entity = entity; 15 | return INSTANCE; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /1.20.1/src/main/java/me/nobokik/blazeclient/api/event/events/HudRenderEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import net.minecraft.client.util.math.MatrixStack; 4 | 5 | @SuppressWarnings("all") 6 | public class HudRenderEvent { 7 | 8 | private static final HudRenderEvent INSTANCE = new HudRenderEvent(); 9 | 10 | public MatrixStack matrices; 11 | public float tickDelta; 12 | 13 | public static HudRenderEvent get(MatrixStack matrices, float tickDelta) { 14 | INSTANCE.matrices = matrices; 15 | INSTANCE.tickDelta = tickDelta; 16 | return INSTANCE; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /1.20.1/src/main/java/me/nobokik/blazeclient/api/event/events/ItemUseEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import me.nobokik.blazeclient.api.event.Cancellable; 4 | 5 | @SuppressWarnings("all") 6 | public class ItemUseEvent extends Cancellable { 7 | 8 | public static class Pre extends ItemUseEvent { 9 | private static final Pre INSTANCE = new Pre(); 10 | 11 | public static Pre get() { 12 | return INSTANCE; 13 | } 14 | } 15 | 16 | public static class Post extends ItemUseEvent { 17 | private static final Post INSTANCE = new Post(); 18 | 19 | public static Post get() { 20 | return INSTANCE; 21 | } 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /1.20.1/src/main/java/me/nobokik/blazeclient/api/event/events/KeyPressEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | @SuppressWarnings("all") 4 | public class KeyPressEvent { 5 | 6 | private static final KeyPressEvent INSTANCE = new KeyPressEvent(); 7 | 8 | public int key, scanCode, action; 9 | public long window; 10 | 11 | public static KeyPressEvent get(int key, int scanCode, int action, long window) { 12 | INSTANCE.key = key; 13 | INSTANCE.scanCode = scanCode; 14 | INSTANCE.action = action; 15 | INSTANCE.window = window; 16 | return INSTANCE; 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /1.20.1/src/main/java/me/nobokik/blazeclient/api/event/events/MouseButtonEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | public class MouseButtonEvent { 4 | 5 | private static final MouseButtonEvent INSTANCE = new MouseButtonEvent(); 6 | 7 | public int button, action; 8 | 9 | public static MouseButtonEvent get(int button, int action) { 10 | INSTANCE.button = button; 11 | INSTANCE.action = action; 12 | return INSTANCE; 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /1.20.1/src/main/java/me/nobokik/blazeclient/api/event/events/MouseMoveEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | @SuppressWarnings("all") 4 | public class MouseMoveEvent { 5 | 6 | private static final MouseMoveEvent INSTANCE = new MouseMoveEvent(); 7 | 8 | public double mouseX, mouseY; 9 | 10 | public static MouseMoveEvent get(double mouseX, double mouseY) { 11 | INSTANCE.mouseX = mouseX; 12 | INSTANCE.mouseY = mouseY; 13 | return INSTANCE; 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /1.20.1/src/main/java/me/nobokik/blazeclient/api/event/events/MouseUpdateEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | @SuppressWarnings("all") 4 | public class MouseUpdateEvent { 5 | 6 | private static final MouseUpdateEvent INSTANCE = new MouseUpdateEvent(); 7 | 8 | public static MouseUpdateEvent get() { 9 | return INSTANCE; 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /1.20.1/src/main/java/me/nobokik/blazeclient/api/event/events/OverlayReloadListener.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | 6 | public interface OverlayReloadListener { 7 | List listeners = new ArrayList<>(); 8 | void onOverlayReload(); 9 | 10 | static void register(OverlayReloadListener listener) { 11 | listeners.add(listener); 12 | } 13 | 14 | static void callEvent() { 15 | for (OverlayReloadListener listener : listeners) { 16 | listener.onOverlayReload(); 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /1.20.1/src/main/java/me/nobokik/blazeclient/api/event/events/PacketEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import me.nobokik.blazeclient.api.event.Cancellable; 4 | import net.minecraft.network.packet.Packet; 5 | 6 | @SuppressWarnings("all") 7 | public class PacketEvent extends Cancellable { 8 | public static class Receive extends PacketEvent { 9 | private static final Receive INSTANCE = new Receive(); 10 | 11 | public Packet packet; 12 | 13 | public static Receive get(Packet packet) { 14 | INSTANCE.setCancelled(false); 15 | INSTANCE.packet = packet; 16 | return INSTANCE; 17 | } 18 | } 19 | 20 | public static class Send extends PacketEvent { 21 | private static final Send INSTANCE = new Send(); 22 | 23 | public Packet packet; 24 | 25 | public static Send get(Packet packet) { 26 | INSTANCE.setCancelled(false); 27 | INSTANCE.packet = packet; 28 | return INSTANCE; 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /1.20.1/src/main/java/me/nobokik/blazeclient/api/event/events/PlayerTickEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | @SuppressWarnings("all") 4 | public class PlayerTickEvent { 5 | 6 | private static final PlayerTickEvent INSTANCE = new PlayerTickEvent(); 7 | 8 | public static PlayerTickEvent get() { 9 | return INSTANCE; 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /1.20.1/src/main/java/me/nobokik/blazeclient/api/event/events/RenderTickEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | @SuppressWarnings("all") 4 | public class RenderTickEvent { 5 | 6 | private static final RenderTickEvent INSTANCE = new RenderTickEvent(); 7 | 8 | public static RenderTickEvent get() { 9 | return INSTANCE; 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /1.20.1/src/main/java/me/nobokik/blazeclient/api/event/events/SendMovementPacketEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | @SuppressWarnings("all") 4 | public class SendMovementPacketEvent { 5 | 6 | public static class Pre extends SendMovementPacketEvent { 7 | private static final Pre INSTANCE = new Pre(); 8 | 9 | public static Pre get() { 10 | return INSTANCE; 11 | } 12 | } 13 | 14 | public static class Post extends SendMovementPacketEvent { 15 | private static final Post INSTANCE = new Post(); 16 | 17 | public static Post get() { 18 | return INSTANCE; 19 | } 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /1.20.1/src/main/java/me/nobokik/blazeclient/api/event/events/SlotCheckEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import me.nobokik.blazeclient.api.event.Cancellable; 4 | import net.minecraft.client.gui.screen.ingame.HandledScreen; 5 | import net.minecraft.screen.slot.Slot; 6 | 7 | @SuppressWarnings("all") 8 | public class SlotCheckEvent extends Cancellable { 9 | private static final SlotCheckEvent INSTANCE = new SlotCheckEvent(); 10 | 11 | public boolean cancelOutput = false; 12 | 13 | public void setCancelOutput(boolean cancelOutput) { 14 | this.cancelOutput = cancelOutput; 15 | cancel(); 16 | } 17 | 18 | public HandledScreen instance; 19 | public Slot slot; 20 | 21 | public static SlotCheckEvent get(HandledScreen instance, Slot slot) { 22 | INSTANCE.setCancelled(false); 23 | INSTANCE.instance = instance; 24 | INSTANCE.slot = slot; 25 | return INSTANCE; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /1.20.1/src/main/java/me/nobokik/blazeclient/api/event/events/TickEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | @SuppressWarnings("all") 4 | public class TickEvent { 5 | 6 | public static class Pre extends TickEvent { 7 | private static final Pre INSTANCE = new Pre(); 8 | 9 | public static Pre get() { 10 | return INSTANCE; 11 | } 12 | } 13 | 14 | public static class Post extends TickEvent { 15 | private static final Post INSTANCE = new Post(); 16 | 17 | public static Post get() { 18 | return INSTANCE; 19 | } 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /1.20.1/src/main/java/me/nobokik/blazeclient/api/event/events/WorldRenderEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext; 4 | 5 | @SuppressWarnings("all") 6 | public class WorldRenderEvent { 7 | 8 | private static final WorldRenderEvent INSTANCE = new WorldRenderEvent(); 9 | 10 | public WorldRenderContext context; 11 | 12 | public static WorldRenderEvent get(WorldRenderContext context) { 13 | INSTANCE.context = context; 14 | return INSTANCE; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /1.20.1/src/main/java/me/nobokik/blazeclient/api/event/events/WorldTickEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | @SuppressWarnings("all") 4 | public class WorldTickEvent { 5 | 6 | private static final WorldTickEvent INSTANCE = new WorldTickEvent(); 7 | 8 | public static WorldTickEvent get() { 9 | return INSTANCE; 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /1.20.1/src/main/java/me/nobokik/blazeclient/api/event/orbit/EventHandler.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.orbit; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | /** 9 | * Used to mark listeners. 10 | */ 11 | @Retention(RetentionPolicy.RUNTIME) 12 | @Target(ElementType.METHOD) 13 | public @interface EventHandler { 14 | int priority() default EventPriority.MEDIUM; 15 | } 16 | -------------------------------------------------------------------------------- /1.20.1/src/main/java/me/nobokik/blazeclient/api/event/orbit/EventPriority.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.orbit; 2 | 3 | /** 4 | * Default event priorities. 5 | */ 6 | public class EventPriority { 7 | public static final int HIGHEST = 200; 8 | public static final int HIGH = 100; 9 | public static final int MEDIUM = 0; 10 | public static final int LOW = -100; 11 | public static final int LOWEST = -200; 12 | } 13 | -------------------------------------------------------------------------------- /1.20.1/src/main/java/me/nobokik/blazeclient/api/event/orbit/ICancellable.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.orbit; 2 | 3 | /** 4 | * Cancellable events need to implement this interface. 5 | */ 6 | public interface ICancellable { 7 | /** 8 | * Sets if this event is cancelled. 9 | * @param cancelled Is cancelled 10 | */ 11 | void setCancelled(boolean cancelled); 12 | 13 | /** 14 | * Cancels this event. 15 | */ 16 | default void cancel() { setCancelled(true); } 17 | 18 | /** 19 | * @return True if this event is cancelled. 20 | */ 21 | boolean isCancelled(); 22 | } 23 | -------------------------------------------------------------------------------- /1.20.1/src/main/java/me/nobokik/blazeclient/api/event/orbit/NoLambdaFactoryException.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.orbit; 2 | 3 | /** 4 | * Thrown when an {@link IEventBus} can't find a registered lambda factory to use. 5 | */ 6 | public class NoLambdaFactoryException extends RuntimeException { 7 | public NoLambdaFactoryException(Class klass) { 8 | super("No registered lambda listener for '" + klass.getName() + "'."); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /1.20.1/src/main/java/me/nobokik/blazeclient/api/event/orbit/listeners/IListener.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.orbit.listeners; 2 | 3 | /** 4 | * Base type for all listeners. 5 | */ 6 | public interface IListener { 7 | /** 8 | * Calls the listener with the specified event. 9 | * @param event Event to pass in 10 | */ 11 | void call(Object event); 12 | 13 | /** 14 | * @return The target event type this listener is for 15 | */ 16 | Class getTarget(); 17 | 18 | /** 19 | * @return The priority for this listener 20 | */ 21 | int getPriority(); 22 | 23 | /** 24 | * @return True if this listener is for static methods 25 | */ 26 | boolean isStatic(); 27 | } 28 | -------------------------------------------------------------------------------- /1.20.1/src/main/java/me/nobokik/blazeclient/api/helpers/FPSHelper.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.helpers; 2 | 3 | public class FPSHelper { 4 | 5 | private static int fps = 0; 6 | 7 | public static int getFPS() { 8 | return fps; 9 | } 10 | 11 | public static void setFPS(int fps) { 12 | FPSHelper.fps = fps; 13 | } 14 | } -------------------------------------------------------------------------------- /1.20.1/src/main/java/me/nobokik/blazeclient/api/hook/IChatHudExt.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.hook; 2 | 3 | import net.minecraft.client.gui.hud.ChatHudLine; 4 | 5 | import java.util.List; 6 | 7 | public interface IChatHudExt { 8 | List compactchat$getMessages(); 9 | void compactchat$refreshMessages(); 10 | void compactchat$clear(); 11 | } -------------------------------------------------------------------------------- /1.20.1/src/main/java/me/nobokik/blazeclient/gui/Renderable.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.gui; 2 | 3 | public interface Renderable { 4 | String getName(); 5 | 6 | void render(); 7 | 8 | default Theme getTheme() { 9 | return new Theme() { 10 | }; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /1.20.1/src/main/java/me/nobokik/blazeclient/gui/Theme.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.gui; 2 | 3 | public interface Theme { 4 | default void preRender() { 5 | // do nothing 6 | } 7 | 8 | default void postRender() { 9 | // do nothing 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /1.20.1/src/main/java/me/nobokik/blazeclient/mixin/ClientBrandRetrieverMixin.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mixin; 2 | 3 | 4 | import net.minecraft.client.ClientBrandRetriever; 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.injection.At; 7 | import org.spongepowered.asm.mixin.injection.Inject; 8 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; 9 | 10 | @Mixin(ClientBrandRetriever.class) 11 | public abstract class ClientBrandRetrieverMixin { 12 | @Inject(method = "getClientModName", at = @At("HEAD"), cancellable = true, remap = false) 13 | private static void blazeclient$returnClientBrand(CallbackInfoReturnable cir) { 14 | cir.setReturnValue("Blaze Client"); 15 | cir.cancel(); 16 | } 17 | } -------------------------------------------------------------------------------- /1.20.1/src/main/java/me/nobokik/blazeclient/mixin/ClientPlayerInteractionManagerMixin.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mixin; 2 | 3 | import me.nobokik.blazeclient.Client; 4 | import me.nobokik.blazeclient.api.event.events.AttackEntityEvent; 5 | import net.minecraft.client.network.ClientPlayerInteractionManager; 6 | import net.minecraft.entity.Entity; 7 | import net.minecraft.entity.player.PlayerEntity; 8 | import org.spongepowered.asm.mixin.Mixin; 9 | import org.spongepowered.asm.mixin.injection.At; 10 | import org.spongepowered.asm.mixin.injection.Inject; 11 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 12 | 13 | @Mixin(ClientPlayerInteractionManager.class) 14 | public abstract class ClientPlayerInteractionManagerMixin { 15 | 16 | @Inject(at = @At("HEAD"), method = "attackEntity") 17 | private void onAttackEntity(PlayerEntity player, Entity target, CallbackInfo ci) { 18 | Client.EVENTBUS.post(AttackEntityEvent.get(target)); 19 | } 20 | } -------------------------------------------------------------------------------- /1.20.1/src/main/java/me/nobokik/blazeclient/mixin/ClientWorldMixin.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mixin; 2 | 3 | import me.nobokik.blazeclient.Client; 4 | import me.nobokik.blazeclient.mod.mods.TimeChangerMod; 5 | import net.minecraft.client.world.ClientWorld; 6 | import org.spongepowered.asm.mixin.Mixin; 7 | import org.spongepowered.asm.mixin.injection.At; 8 | import org.spongepowered.asm.mixin.injection.ModifyArg; 9 | 10 | @Mixin(ClientWorld.class) 11 | public abstract class ClientWorldMixin { 12 | @ModifyArg(method = "setTimeOfDay", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/world/ClientWorld$Properties;setTimeOfDay(J)V")) 13 | public long setTimeOfDay(long time) { 14 | if (Client.modManager().getMod(TimeChangerMod.class).isEnabled()) 15 | return Client.modManager().getMod(TimeChangerMod.class).getTimeInt(); 16 | else 17 | return time; 18 | } 19 | } -------------------------------------------------------------------------------- /1.20.1/src/main/java/me/nobokik/blazeclient/mixin/EntityMixin.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mixin; 2 | 3 | import me.nobokik.blazeclient.Client; 4 | import me.nobokik.blazeclient.mod.mods.FreelookMod; 5 | import net.minecraft.entity.Entity; 6 | import org.spongepowered.asm.mixin.Mixin; 7 | import org.spongepowered.asm.mixin.injection.At; 8 | import org.spongepowered.asm.mixin.injection.Inject; 9 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 10 | 11 | @Mixin(Entity.class) 12 | public class EntityMixin { 13 | @Inject(method = "changeLookDirection", at = @At("HEAD"), cancellable = true) 14 | public void interceptMovement(double cursorDeltaX, double cursorDeltaY, CallbackInfo ci) { 15 | if (Client.modManager().getMod(FreelookMod.class).consumeRotation(cursorDeltaX, cursorDeltaY)) { 16 | ci.cancel(); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /1.20.1/src/main/java/me/nobokik/blazeclient/mixin/EntityRenderDispatcherAccessor.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mixin; 2 | 3 | import net.minecraft.client.render.entity.EntityRenderDispatcher; 4 | import org.spongepowered.asm.mixin.Mixin; 5 | import org.spongepowered.asm.mixin.gen.Accessor; 6 | 7 | @Mixin(EntityRenderDispatcher.class) 8 | public interface EntityRenderDispatcherAccessor { 9 | @Accessor 10 | void setRenderHitboxes(boolean renderHitboxes); 11 | } 12 | -------------------------------------------------------------------------------- /1.20.1/src/main/java/me/nobokik/blazeclient/mixin/LogoDrawerMixin.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mixin; 2 | 3 | import net.minecraft.client.gui.LogoDrawer; 4 | import net.minecraft.client.util.math.MatrixStack; 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.injection.At; 7 | import org.spongepowered.asm.mixin.injection.Inject; 8 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 9 | 10 | @Mixin(LogoDrawer.class) 11 | public class LogoDrawerMixin { 12 | @Inject(method = "draw*", at = @At("HEAD"), cancellable = true) 13 | public void cancelDraw(CallbackInfo ci) { 14 | ci.cancel(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /1.20.1/src/main/java/me/nobokik/blazeclient/mixin/RenderSystemMixin.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mixin; 2 | 3 | import com.mojang.blaze3d.systems.RenderSystem; 4 | import me.nobokik.blazeclient.Client; 5 | import me.nobokik.blazeclient.api.event.events.RenderTickEvent; 6 | import me.nobokik.blazeclient.gui.ImguiLoader; 7 | import net.minecraft.client.MinecraftClient; 8 | import org.spongepowered.asm.mixin.Mixin; 9 | import org.spongepowered.asm.mixin.injection.At; 10 | import org.spongepowered.asm.mixin.injection.Inject; 11 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 12 | 13 | @Mixin(RenderSystem.class) 14 | public class RenderSystemMixin { 15 | @Inject(at = @At("HEAD"), method = "flipFrame") 16 | private static void runTickTail(CallbackInfo ci) { 17 | Client.EVENTBUS.post(RenderTickEvent.get()); 18 | MinecraftClient.getInstance().getProfiler().push("ImGui Render"); 19 | ImguiLoader.onFrameRender(); 20 | MinecraftClient.getInstance().getProfiler().pop(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /1.20.1/src/main/java/me/nobokik/blazeclient/mod/mods/HitColorMod.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mod.mods; 2 | 3 | import me.nobokik.blazeclient.Client; 4 | import me.nobokik.blazeclient.api.event.events.OverlayReloadListener; 5 | import me.nobokik.blazeclient.api.event.events.TickEvent; 6 | import me.nobokik.blazeclient.api.event.orbit.EventHandler; 7 | import me.nobokik.blazeclient.api.font.JColor; 8 | import me.nobokik.blazeclient.mod.Mod; 9 | import me.nobokik.blazeclient.mod.setting.settings.BooleanSetting; 10 | import me.nobokik.blazeclient.mod.setting.settings.ColorSetting; 11 | import me.nobokik.blazeclient.mod.setting.settings.NumberSetting; 12 | 13 | public class HitColorMod extends Mod { 14 | public final ColorSetting hitColor = new ColorSetting("Hit Color", this, new JColor(0.7f, 0f, 0f, 0.75f), true); 15 | public HitColorMod() { 16 | super("Hit Color", "Change the hit color.", "\uF53F"); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /1.20.1/src/main/java/me/nobokik/blazeclient/mod/mods/HitboxMod.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mod.mods; 2 | 3 | import me.nobokik.blazeclient.api.event.events.TickEvent; 4 | import me.nobokik.blazeclient.api.event.orbit.EventHandler; 5 | import me.nobokik.blazeclient.api.font.JColor; 6 | import me.nobokik.blazeclient.mixin.EntityRenderDispatcherAccessor; 7 | import me.nobokik.blazeclient.mixin.EntityRenderDispatcherMixin; 8 | import me.nobokik.blazeclient.mod.Mod; 9 | import me.nobokik.blazeclient.mod.setting.settings.BooleanSetting; 10 | import me.nobokik.blazeclient.mod.setting.settings.ColorSetting; 11 | import me.nobokik.blazeclient.mod.setting.settings.NumberSetting; 12 | import net.minecraft.client.MinecraftClient; 13 | import net.minecraft.util.Identifier; 14 | 15 | public class HitboxMod extends Mod { 16 | public final ColorSetting boxColor = new ColorSetting("Box Color", this, new JColor(1f,1f,1f), true); 17 | 18 | public HitboxMod() { 19 | super("Hitbox", "Change the hitbox.", "\uF0C8"); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /1.20.1/src/main/java/me/nobokik/blazeclient/mod/mods/HurtCamMod.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mod.mods; 2 | 3 | import me.nobokik.blazeclient.mod.Mod; 4 | import me.nobokik.blazeclient.mod.setting.settings.BooleanSetting; 5 | import me.nobokik.blazeclient.mod.setting.settings.NumberSetting; 6 | 7 | public class HurtCamMod extends Mod { 8 | public final BooleanSetting disableHurtcam = new BooleanSetting("Disable hurtcam", this, false); 9 | public final BooleanSetting oldHurtcam = new BooleanSetting("Old Hurtcam", this, false); 10 | public final NumberSetting scale = new NumberSetting("Scale", this, 1, 0, 2, 0.1); 11 | public HurtCamMod() { 12 | super("Hurt Cam", "Change the hurtcam.", "\uF030"); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /1.20.1/src/main/java/me/nobokik/blazeclient/mod/mods/NametagsMod.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mod.mods; 2 | 3 | import me.nobokik.blazeclient.mod.Mod; 4 | import me.nobokik.blazeclient.mod.setting.settings.BooleanSetting; 5 | import me.nobokik.blazeclient.mod.setting.settings.NumberSetting; 6 | 7 | public class NametagsMod extends Mod { 8 | public final BooleanSetting textShadow = new BooleanSetting("Text Shadow", this, false); 9 | public final NumberSetting opacity = new NumberSetting("Opacity", this, 0.25, 0, 1, 0.01); 10 | 11 | public NametagsMod() { 12 | super("Nametags", "Change nametags.", "\uF02C"); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /1.20.1/src/main/java/me/nobokik/blazeclient/mod/mods/ScoreboardMod.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mod.mods; 2 | 3 | import me.nobokik.blazeclient.mod.Mod; 4 | import me.nobokik.blazeclient.mod.setting.settings.BooleanSetting; 5 | 6 | public class ScoreboardMod extends Mod { 7 | public final BooleanSetting hideScoreboard = new BooleanSetting("Hide Scoreboard", this, false); 8 | public final BooleanSetting background = new BooleanSetting("Background", this, true); 9 | public final BooleanSetting numbers = new BooleanSetting("Numbers", this, true); 10 | public final BooleanSetting textShadow = new BooleanSetting("Text Shadow", this, false); 11 | public ScoreboardMod() { 12 | super("Scoreboard", "Change the scoreboard.", "\uF0CA"); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /1.20.1/src/main/java/me/nobokik/blazeclient/mod/mods/TimeChangerMod.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mod.mods; 2 | 3 | import me.nobokik.blazeclient.mod.Mod; 4 | import me.nobokik.blazeclient.mod.setting.settings.ModeSetting; 5 | 6 | public class TimeChangerMod extends Mod { 7 | public final ModeSetting time = new ModeSetting("Time", this, "Day", "Day", "Night"); 8 | 9 | public TimeChangerMod() { 10 | super("Time Changer", "Change time.", "\uF185"); 11 | } 12 | 13 | public int getTimeInt() { 14 | if (time.is("Day")) return 0; 15 | else return 24000; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /1.20.1/src/main/java/me/nobokik/blazeclient/mod/setting/RenderableSetting.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mod.setting; 2 | 3 | public interface RenderableSetting { 4 | void render(); 5 | } 6 | -------------------------------------------------------------------------------- /1.20.1/src/main/java/me/nobokik/blazeclient/mod/setting/Setting.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mod.setting; 2 | 3 | import me.nobokik.blazeclient.mod.Mod; 4 | 5 | public abstract class Setting { 6 | public String name; 7 | public Mod parent; 8 | 9 | public String getName() { 10 | return name; 11 | } 12 | } -------------------------------------------------------------------------------- /1.20.1/src/main/resources/fabric.mod.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": 1, 3 | "id": "blaze-client", 4 | "version": "${version}", 5 | "name": "Blaze Client", 6 | "description": "This is an example description! Tell everyone what your mod is about!", 7 | "authors": [ 8 | "NoboKik" 9 | ], 10 | "contact": { 11 | "homepage": "https://fabricmc.net/", 12 | "sources": "https://github.com/FabricMC/fabric-example-mod" 13 | }, 14 | "license": "CC0-1.0", 15 | "icon": "assets/blaze-client/icon.png", 16 | "environment": "*", 17 | "entrypoints": { 18 | "main": [ 19 | "me.nobokik.blazeclient.Client" 20 | ] 21 | }, 22 | "mixins": [ 23 | "blaze-client.mixins.json" 24 | ], 25 | "depends": { 26 | "fabricloader": ">=0.14.21", 27 | "minecraft": "~1.20.1", 28 | "java": ">=17", 29 | "fabric-api": "*" 30 | } 31 | } -------------------------------------------------------------------------------- /1.20.2/src/main/java/me/nobokik/blazeclient/api/event/Cancellable.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event; 2 | 3 | import me.nobokik.blazeclient.api.event.orbit.ICancellable; 4 | 5 | public class Cancellable implements ICancellable { 6 | private boolean cancelled = false; 7 | 8 | @Override 9 | public void setCancelled(boolean cancelled) { 10 | this.cancelled = cancelled; 11 | } 12 | 13 | @Override 14 | public boolean isCancelled() { 15 | return cancelled; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /1.20.2/src/main/java/me/nobokik/blazeclient/api/event/events/AttackEntityEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import me.nobokik.blazeclient.api.event.Cancellable; 4 | import net.minecraft.entity.Entity; 5 | 6 | @SuppressWarnings("all") 7 | public class AttackEntityEvent extends Cancellable { 8 | private static final AttackEntityEvent INSTANCE = new AttackEntityEvent(); 9 | 10 | public Entity target; 11 | 12 | public static AttackEntityEvent get(Entity target) { 13 | INSTANCE.setCancelled(false); 14 | INSTANCE.target = target; 15 | return INSTANCE; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /1.20.2/src/main/java/me/nobokik/blazeclient/api/event/events/AttackEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import me.nobokik.blazeclient.api.event.Cancellable; 4 | 5 | @SuppressWarnings("all") 6 | public class AttackEvent extends Cancellable { 7 | 8 | public static class Pre extends AttackEvent { 9 | private static final Pre INSTANCE = new Pre(); 10 | 11 | public static Pre get() { 12 | return INSTANCE; 13 | } 14 | } 15 | 16 | public static class Post extends AttackEvent { 17 | private static final Post INSTANCE = new Post(); 18 | 19 | public static Post get() { 20 | return INSTANCE; 21 | } 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /1.20.2/src/main/java/me/nobokik/blazeclient/api/event/events/BlockBreakEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import me.nobokik.blazeclient.api.event.Cancellable; 4 | 5 | @SuppressWarnings("all") 6 | public class BlockBreakEvent extends Cancellable { 7 | 8 | public static class Pre extends BlockBreakEvent { 9 | private static final Pre INSTANCE = new Pre(); 10 | 11 | public static Pre get() { 12 | return INSTANCE; 13 | } 14 | } 15 | 16 | public static class Post extends BlockBreakEvent { 17 | private static final Post INSTANCE = new Post(); 18 | 19 | public static Post get() { 20 | return INSTANCE; 21 | } 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /1.20.2/src/main/java/me/nobokik/blazeclient/api/event/events/EntityRemoveEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import me.nobokik.blazeclient.api.event.Cancellable; 4 | import net.minecraft.entity.Entity; 5 | 6 | @SuppressWarnings("all") 7 | public class EntityRemoveEvent extends Cancellable { 8 | private static final EntityRemoveEvent INSTANCE = new EntityRemoveEvent(); 9 | 10 | public Entity entity; 11 | 12 | public static EntityRemoveEvent get(Entity entity) { 13 | INSTANCE.setCancelled(false); 14 | INSTANCE.entity = entity; 15 | return INSTANCE; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /1.20.2/src/main/java/me/nobokik/blazeclient/api/event/events/HudRenderEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import net.minecraft.client.util.math.MatrixStack; 4 | 5 | @SuppressWarnings("all") 6 | public class HudRenderEvent { 7 | 8 | private static final HudRenderEvent INSTANCE = new HudRenderEvent(); 9 | 10 | public MatrixStack matrices; 11 | public float tickDelta; 12 | 13 | public static HudRenderEvent get(MatrixStack matrices, float tickDelta) { 14 | INSTANCE.matrices = matrices; 15 | INSTANCE.tickDelta = tickDelta; 16 | return INSTANCE; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /1.20.2/src/main/java/me/nobokik/blazeclient/api/event/events/ItemUseEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import me.nobokik.blazeclient.api.event.Cancellable; 4 | 5 | @SuppressWarnings("all") 6 | public class ItemUseEvent extends Cancellable { 7 | 8 | public static class Pre extends ItemUseEvent { 9 | private static final Pre INSTANCE = new Pre(); 10 | 11 | public static Pre get() { 12 | return INSTANCE; 13 | } 14 | } 15 | 16 | public static class Post extends ItemUseEvent { 17 | private static final Post INSTANCE = new Post(); 18 | 19 | public static Post get() { 20 | return INSTANCE; 21 | } 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /1.20.2/src/main/java/me/nobokik/blazeclient/api/event/events/KeyPressEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | @SuppressWarnings("all") 4 | public class KeyPressEvent { 5 | 6 | private static final KeyPressEvent INSTANCE = new KeyPressEvent(); 7 | 8 | public int key, scanCode, action; 9 | public long window; 10 | 11 | public static KeyPressEvent get(int key, int scanCode, int action, long window) { 12 | INSTANCE.key = key; 13 | INSTANCE.scanCode = scanCode; 14 | INSTANCE.action = action; 15 | INSTANCE.window = window; 16 | return INSTANCE; 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /1.20.2/src/main/java/me/nobokik/blazeclient/api/event/events/MouseButtonEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | public class MouseButtonEvent { 4 | 5 | private static final MouseButtonEvent INSTANCE = new MouseButtonEvent(); 6 | 7 | public int button, action; 8 | 9 | public static MouseButtonEvent get(int button, int action) { 10 | INSTANCE.button = button; 11 | INSTANCE.action = action; 12 | return INSTANCE; 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /1.20.2/src/main/java/me/nobokik/blazeclient/api/event/events/MouseMoveEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | @SuppressWarnings("all") 4 | public class MouseMoveEvent { 5 | 6 | private static final MouseMoveEvent INSTANCE = new MouseMoveEvent(); 7 | 8 | public double mouseX, mouseY; 9 | 10 | public static MouseMoveEvent get(double mouseX, double mouseY) { 11 | INSTANCE.mouseX = mouseX; 12 | INSTANCE.mouseY = mouseY; 13 | return INSTANCE; 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /1.20.2/src/main/java/me/nobokik/blazeclient/api/event/events/MouseUpdateEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | @SuppressWarnings("all") 4 | public class MouseUpdateEvent { 5 | 6 | private static final MouseUpdateEvent INSTANCE = new MouseUpdateEvent(); 7 | 8 | public static MouseUpdateEvent get() { 9 | return INSTANCE; 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /1.20.2/src/main/java/me/nobokik/blazeclient/api/event/events/OverlayReloadListener.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | 6 | public interface OverlayReloadListener { 7 | List listeners = new ArrayList<>(); 8 | void onOverlayReload(); 9 | 10 | static void register(OverlayReloadListener listener) { 11 | listeners.add(listener); 12 | } 13 | 14 | static void callEvent() { 15 | for (OverlayReloadListener listener : listeners) { 16 | listener.onOverlayReload(); 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /1.20.2/src/main/java/me/nobokik/blazeclient/api/event/events/PacketEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import me.nobokik.blazeclient.api.event.Cancellable; 4 | import net.minecraft.network.packet.Packet; 5 | 6 | @SuppressWarnings("all") 7 | public class PacketEvent extends Cancellable { 8 | public static class Receive extends PacketEvent { 9 | private static final Receive INSTANCE = new Receive(); 10 | 11 | public Packet packet; 12 | 13 | public static Receive get(Packet packet) { 14 | INSTANCE.setCancelled(false); 15 | INSTANCE.packet = packet; 16 | return INSTANCE; 17 | } 18 | } 19 | 20 | public static class Send extends PacketEvent { 21 | private static final Send INSTANCE = new Send(); 22 | 23 | public Packet packet; 24 | 25 | public static Send get(Packet packet) { 26 | INSTANCE.setCancelled(false); 27 | INSTANCE.packet = packet; 28 | return INSTANCE; 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /1.20.2/src/main/java/me/nobokik/blazeclient/api/event/events/PlayerTickEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | @SuppressWarnings("all") 4 | public class PlayerTickEvent { 5 | 6 | private static final PlayerTickEvent INSTANCE = new PlayerTickEvent(); 7 | 8 | public static PlayerTickEvent get() { 9 | return INSTANCE; 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /1.20.2/src/main/java/me/nobokik/blazeclient/api/event/events/RenderTickEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | @SuppressWarnings("all") 4 | public class RenderTickEvent { 5 | 6 | private static final RenderTickEvent INSTANCE = new RenderTickEvent(); 7 | 8 | public static RenderTickEvent get() { 9 | return INSTANCE; 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /1.20.2/src/main/java/me/nobokik/blazeclient/api/event/events/SendMovementPacketEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | @SuppressWarnings("all") 4 | public class SendMovementPacketEvent { 5 | 6 | public static class Pre extends SendMovementPacketEvent { 7 | private static final Pre INSTANCE = new Pre(); 8 | 9 | public static Pre get() { 10 | return INSTANCE; 11 | } 12 | } 13 | 14 | public static class Post extends SendMovementPacketEvent { 15 | private static final Post INSTANCE = new Post(); 16 | 17 | public static Post get() { 18 | return INSTANCE; 19 | } 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /1.20.2/src/main/java/me/nobokik/blazeclient/api/event/events/SlotCheckEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import me.nobokik.blazeclient.api.event.Cancellable; 4 | import net.minecraft.client.gui.screen.ingame.HandledScreen; 5 | import net.minecraft.screen.slot.Slot; 6 | 7 | @SuppressWarnings("all") 8 | public class SlotCheckEvent extends Cancellable { 9 | private static final SlotCheckEvent INSTANCE = new SlotCheckEvent(); 10 | 11 | public boolean cancelOutput = false; 12 | 13 | public void setCancelOutput(boolean cancelOutput) { 14 | this.cancelOutput = cancelOutput; 15 | cancel(); 16 | } 17 | 18 | public HandledScreen instance; 19 | public Slot slot; 20 | 21 | public static SlotCheckEvent get(HandledScreen instance, Slot slot) { 22 | INSTANCE.setCancelled(false); 23 | INSTANCE.instance = instance; 24 | INSTANCE.slot = slot; 25 | return INSTANCE; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /1.20.2/src/main/java/me/nobokik/blazeclient/api/event/events/TickEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | @SuppressWarnings("all") 4 | public class TickEvent { 5 | 6 | public static class Pre extends TickEvent { 7 | private static final Pre INSTANCE = new Pre(); 8 | 9 | public static Pre get() { 10 | return INSTANCE; 11 | } 12 | } 13 | 14 | public static class Post extends TickEvent { 15 | private static final Post INSTANCE = new Post(); 16 | 17 | public static Post get() { 18 | return INSTANCE; 19 | } 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /1.20.2/src/main/java/me/nobokik/blazeclient/api/event/events/WorldRenderEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext; 4 | 5 | @SuppressWarnings("all") 6 | public class WorldRenderEvent { 7 | 8 | private static final WorldRenderEvent INSTANCE = new WorldRenderEvent(); 9 | 10 | public WorldRenderContext context; 11 | 12 | public static WorldRenderEvent get(WorldRenderContext context) { 13 | INSTANCE.context = context; 14 | return INSTANCE; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /1.20.2/src/main/java/me/nobokik/blazeclient/api/event/events/WorldTickEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | @SuppressWarnings("all") 4 | public class WorldTickEvent { 5 | 6 | private static final WorldTickEvent INSTANCE = new WorldTickEvent(); 7 | 8 | public static WorldTickEvent get() { 9 | return INSTANCE; 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /1.20.2/src/main/java/me/nobokik/blazeclient/api/event/orbit/EventHandler.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.orbit; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | /** 9 | * Used to mark listeners. 10 | */ 11 | @Retention(RetentionPolicy.RUNTIME) 12 | @Target(ElementType.METHOD) 13 | public @interface EventHandler { 14 | int priority() default EventPriority.MEDIUM; 15 | } 16 | -------------------------------------------------------------------------------- /1.20.2/src/main/java/me/nobokik/blazeclient/api/event/orbit/EventPriority.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.orbit; 2 | 3 | /** 4 | * Default event priorities. 5 | */ 6 | public class EventPriority { 7 | public static final int HIGHEST = 200; 8 | public static final int HIGH = 100; 9 | public static final int MEDIUM = 0; 10 | public static final int LOW = -100; 11 | public static final int LOWEST = -200; 12 | } 13 | -------------------------------------------------------------------------------- /1.20.2/src/main/java/me/nobokik/blazeclient/api/event/orbit/ICancellable.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.orbit; 2 | 3 | /** 4 | * Cancellable events need to implement this interface. 5 | */ 6 | public interface ICancellable { 7 | /** 8 | * Sets if this event is cancelled. 9 | * @param cancelled Is cancelled 10 | */ 11 | void setCancelled(boolean cancelled); 12 | 13 | /** 14 | * Cancels this event. 15 | */ 16 | default void cancel() { setCancelled(true); } 17 | 18 | /** 19 | * @return True if this event is cancelled. 20 | */ 21 | boolean isCancelled(); 22 | } 23 | -------------------------------------------------------------------------------- /1.20.2/src/main/java/me/nobokik/blazeclient/api/event/orbit/NoLambdaFactoryException.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.orbit; 2 | 3 | /** 4 | * Thrown when an {@link IEventBus} can't find a registered lambda factory to use. 5 | */ 6 | public class NoLambdaFactoryException extends RuntimeException { 7 | public NoLambdaFactoryException(Class klass) { 8 | super("No registered lambda listener for '" + klass.getName() + "'."); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /1.20.2/src/main/java/me/nobokik/blazeclient/api/event/orbit/listeners/IListener.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.orbit.listeners; 2 | 3 | /** 4 | * Base type for all listeners. 5 | */ 6 | public interface IListener { 7 | /** 8 | * Calls the listener with the specified event. 9 | * @param event Event to pass in 10 | */ 11 | void call(Object event); 12 | 13 | /** 14 | * @return The target event type this listener is for 15 | */ 16 | Class getTarget(); 17 | 18 | /** 19 | * @return The priority for this listener 20 | */ 21 | int getPriority(); 22 | 23 | /** 24 | * @return True if this listener is for static methods 25 | */ 26 | boolean isStatic(); 27 | } 28 | -------------------------------------------------------------------------------- /1.20.2/src/main/java/me/nobokik/blazeclient/api/helpers/FPSHelper.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.helpers; 2 | 3 | public class FPSHelper { 4 | 5 | private static int fps = 0; 6 | 7 | public static int getFPS() { 8 | return fps; 9 | } 10 | 11 | public static void setFPS(int fps) { 12 | FPSHelper.fps = fps; 13 | } 14 | } -------------------------------------------------------------------------------- /1.20.2/src/main/java/me/nobokik/blazeclient/api/hook/IChatHudExt.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.hook; 2 | 3 | import net.minecraft.client.gui.hud.ChatHudLine; 4 | 5 | import java.util.List; 6 | 7 | public interface IChatHudExt { 8 | List compactchat$getMessages(); 9 | void compactchat$refreshMessages(); 10 | void compactchat$clear(); 11 | } -------------------------------------------------------------------------------- /1.20.2/src/main/java/me/nobokik/blazeclient/gui/Renderable.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.gui; 2 | 3 | public interface Renderable { 4 | String getName(); 5 | 6 | void render(); 7 | 8 | default Theme getTheme() { 9 | return new Theme() { 10 | }; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /1.20.2/src/main/java/me/nobokik/blazeclient/gui/Theme.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.gui; 2 | 3 | public interface Theme { 4 | default void preRender() { 5 | // do nothing 6 | } 7 | 8 | default void postRender() { 9 | // do nothing 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /1.20.2/src/main/java/me/nobokik/blazeclient/mixin/ClientBrandRetrieverMixin.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mixin; 2 | 3 | 4 | import net.minecraft.client.ClientBrandRetriever; 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.injection.At; 7 | import org.spongepowered.asm.mixin.injection.Inject; 8 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; 9 | 10 | @Mixin(ClientBrandRetriever.class) 11 | public abstract class ClientBrandRetrieverMixin { 12 | @Inject(method = "getClientModName", at = @At("HEAD"), cancellable = true, remap = false) 13 | private static void blazeclient$returnClientBrand(CallbackInfoReturnable cir) { 14 | cir.setReturnValue("Blaze Client"); 15 | cir.cancel(); 16 | } 17 | } -------------------------------------------------------------------------------- /1.20.2/src/main/java/me/nobokik/blazeclient/mixin/ClientPlayerInteractionManagerMixin.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mixin; 2 | 3 | import me.nobokik.blazeclient.Client; 4 | import me.nobokik.blazeclient.api.event.events.AttackEntityEvent; 5 | import net.minecraft.client.network.ClientPlayerInteractionManager; 6 | import net.minecraft.entity.Entity; 7 | import net.minecraft.entity.player.PlayerEntity; 8 | import org.spongepowered.asm.mixin.Mixin; 9 | import org.spongepowered.asm.mixin.injection.At; 10 | import org.spongepowered.asm.mixin.injection.Inject; 11 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 12 | 13 | @Mixin(ClientPlayerInteractionManager.class) 14 | public abstract class ClientPlayerInteractionManagerMixin { 15 | 16 | @Inject(at = @At("HEAD"), method = "attackEntity") 17 | private void onAttackEntity(PlayerEntity player, Entity target, CallbackInfo ci) { 18 | Client.EVENTBUS.post(AttackEntityEvent.get(target)); 19 | } 20 | } -------------------------------------------------------------------------------- /1.20.2/src/main/java/me/nobokik/blazeclient/mixin/ClientWorldMixin.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mixin; 2 | 3 | import me.nobokik.blazeclient.Client; 4 | import me.nobokik.blazeclient.mod.mods.TimeChangerMod; 5 | import net.minecraft.client.world.ClientWorld; 6 | import org.spongepowered.asm.mixin.Mixin; 7 | import org.spongepowered.asm.mixin.injection.At; 8 | import org.spongepowered.asm.mixin.injection.ModifyArg; 9 | 10 | @Mixin(ClientWorld.class) 11 | public abstract class ClientWorldMixin { 12 | @ModifyArg(method = "setTimeOfDay", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/world/ClientWorld$Properties;setTimeOfDay(J)V")) 13 | public long setTimeOfDay(long time) { 14 | if (Client.modManager().getMod(TimeChangerMod.class).isEnabled()) 15 | return Client.modManager().getMod(TimeChangerMod.class).getTimeInt(); 16 | else 17 | return time; 18 | } 19 | } -------------------------------------------------------------------------------- /1.20.2/src/main/java/me/nobokik/blazeclient/mixin/EntityMixin.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mixin; 2 | 3 | import me.nobokik.blazeclient.Client; 4 | import me.nobokik.blazeclient.mod.mods.FreelookMod; 5 | import net.minecraft.entity.Entity; 6 | import org.spongepowered.asm.mixin.Mixin; 7 | import org.spongepowered.asm.mixin.injection.At; 8 | import org.spongepowered.asm.mixin.injection.Inject; 9 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 10 | 11 | @Mixin(Entity.class) 12 | public class EntityMixin { 13 | @Inject(method = "changeLookDirection", at = @At("HEAD"), cancellable = true) 14 | public void interceptMovement(double cursorDeltaX, double cursorDeltaY, CallbackInfo ci) { 15 | if (Client.modManager().getMod(FreelookMod.class).consumeRotation(cursorDeltaX, cursorDeltaY)) { 16 | ci.cancel(); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /1.20.2/src/main/java/me/nobokik/blazeclient/mixin/EntityRenderDispatcherAccessor.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mixin; 2 | 3 | import net.minecraft.client.render.entity.EntityRenderDispatcher; 4 | import org.spongepowered.asm.mixin.Mixin; 5 | import org.spongepowered.asm.mixin.gen.Accessor; 6 | 7 | @Mixin(EntityRenderDispatcher.class) 8 | public interface EntityRenderDispatcherAccessor { 9 | @Accessor 10 | void setRenderHitboxes(boolean renderHitboxes); 11 | } 12 | -------------------------------------------------------------------------------- /1.20.2/src/main/java/me/nobokik/blazeclient/mixin/LogoDrawerMixin.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mixin; 2 | 3 | import net.minecraft.client.gui.LogoDrawer; 4 | import net.minecraft.client.util.math.MatrixStack; 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.injection.At; 7 | import org.spongepowered.asm.mixin.injection.Inject; 8 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 9 | 10 | @Mixin(LogoDrawer.class) 11 | public class LogoDrawerMixin { 12 | @Inject(method = "draw*", at = @At("HEAD"), cancellable = true) 13 | public void cancelDraw(CallbackInfo ci) { 14 | ci.cancel(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /1.20.2/src/main/java/me/nobokik/blazeclient/mixin/RenderSystemMixin.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mixin; 2 | 3 | import com.mojang.blaze3d.systems.RenderSystem; 4 | import me.nobokik.blazeclient.Client; 5 | import me.nobokik.blazeclient.api.event.events.RenderTickEvent; 6 | import me.nobokik.blazeclient.gui.ImguiLoader; 7 | import net.minecraft.client.MinecraftClient; 8 | import org.spongepowered.asm.mixin.Mixin; 9 | import org.spongepowered.asm.mixin.injection.At; 10 | import org.spongepowered.asm.mixin.injection.Inject; 11 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 12 | 13 | @Mixin(RenderSystem.class) 14 | public class RenderSystemMixin { 15 | @Inject(at = @At("HEAD"), method = "flipFrame") 16 | private static void runTickTail(CallbackInfo ci) { 17 | Client.EVENTBUS.post(RenderTickEvent.get()); 18 | MinecraftClient.getInstance().getProfiler().push("ImGui Render"); 19 | ImguiLoader.onFrameRender(); 20 | MinecraftClient.getInstance().getProfiler().pop(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /1.20.2/src/main/java/me/nobokik/blazeclient/mod/mods/HitColorMod.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mod.mods; 2 | 3 | import me.nobokik.blazeclient.Client; 4 | import me.nobokik.blazeclient.api.event.events.OverlayReloadListener; 5 | import me.nobokik.blazeclient.api.event.events.TickEvent; 6 | import me.nobokik.blazeclient.api.event.orbit.EventHandler; 7 | import me.nobokik.blazeclient.api.font.JColor; 8 | import me.nobokik.blazeclient.mod.Mod; 9 | import me.nobokik.blazeclient.mod.setting.settings.BooleanSetting; 10 | import me.nobokik.blazeclient.mod.setting.settings.ColorSetting; 11 | import me.nobokik.blazeclient.mod.setting.settings.NumberSetting; 12 | 13 | public class HitColorMod extends Mod { 14 | public final ColorSetting hitColor = new ColorSetting("Hit Color", this, new JColor(0.7f, 0f, 0f, 0.75f), true); 15 | public HitColorMod() { 16 | super("Hit Color", "Change the hit color.", "\uF53F"); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /1.20.2/src/main/java/me/nobokik/blazeclient/mod/mods/HitboxMod.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mod.mods; 2 | 3 | import me.nobokik.blazeclient.api.event.events.TickEvent; 4 | import me.nobokik.blazeclient.api.event.orbit.EventHandler; 5 | import me.nobokik.blazeclient.api.font.JColor; 6 | import me.nobokik.blazeclient.mixin.EntityRenderDispatcherAccessor; 7 | import me.nobokik.blazeclient.mixin.EntityRenderDispatcherMixin; 8 | import me.nobokik.blazeclient.mod.Mod; 9 | import me.nobokik.blazeclient.mod.setting.settings.BooleanSetting; 10 | import me.nobokik.blazeclient.mod.setting.settings.ColorSetting; 11 | import me.nobokik.blazeclient.mod.setting.settings.NumberSetting; 12 | import net.minecraft.client.MinecraftClient; 13 | import net.minecraft.util.Identifier; 14 | 15 | public class HitboxMod extends Mod { 16 | public final ColorSetting boxColor = new ColorSetting("Box Color", this, new JColor(1f,1f,1f), true); 17 | 18 | public HitboxMod() { 19 | super("Hitbox", "Change the hitbox.", "\uF0C8"); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /1.20.2/src/main/java/me/nobokik/blazeclient/mod/mods/HurtCamMod.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mod.mods; 2 | 3 | import me.nobokik.blazeclient.mod.Mod; 4 | import me.nobokik.blazeclient.mod.setting.settings.BooleanSetting; 5 | import me.nobokik.blazeclient.mod.setting.settings.NumberSetting; 6 | 7 | public class HurtCamMod extends Mod { 8 | public final BooleanSetting disableHurtcam = new BooleanSetting("Disable hurtcam", this, false); 9 | public final BooleanSetting oldHurtcam = new BooleanSetting("Old Hurtcam", this, false); 10 | public final NumberSetting scale = new NumberSetting("Scale", this, 1, 0, 2, 0.1); 11 | public HurtCamMod() { 12 | super("Hurt Cam", "Change the hurtcam.", "\uF030"); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /1.20.2/src/main/java/me/nobokik/blazeclient/mod/mods/NametagsMod.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mod.mods; 2 | 3 | import me.nobokik.blazeclient.mod.Mod; 4 | import me.nobokik.blazeclient.mod.setting.settings.BooleanSetting; 5 | import me.nobokik.blazeclient.mod.setting.settings.NumberSetting; 6 | 7 | public class NametagsMod extends Mod { 8 | public final BooleanSetting textShadow = new BooleanSetting("Text Shadow", this, false); 9 | public final NumberSetting opacity = new NumberSetting("Opacity", this, 0.25, 0, 1, 0.01); 10 | 11 | public NametagsMod() { 12 | super("Nametags", "Change nametags.", "\uF02C"); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /1.20.2/src/main/java/me/nobokik/blazeclient/mod/mods/ScoreboardMod.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mod.mods; 2 | 3 | import me.nobokik.blazeclient.mod.Mod; 4 | import me.nobokik.blazeclient.mod.setting.settings.BooleanSetting; 5 | 6 | public class ScoreboardMod extends Mod { 7 | public final BooleanSetting hideScoreboard = new BooleanSetting("Hide Scoreboard", this, false); 8 | public final BooleanSetting background = new BooleanSetting("Background", this, true); 9 | public final BooleanSetting numbers = new BooleanSetting("Numbers", this, true); 10 | public final BooleanSetting textShadow = new BooleanSetting("Text Shadow", this, false); 11 | public ScoreboardMod() { 12 | super("Scoreboard", "Change the scoreboard.", "\uF0CA"); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /1.20.2/src/main/java/me/nobokik/blazeclient/mod/mods/TimeChangerMod.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mod.mods; 2 | 3 | import me.nobokik.blazeclient.mod.Mod; 4 | import me.nobokik.blazeclient.mod.setting.settings.ModeSetting; 5 | 6 | public class TimeChangerMod extends Mod { 7 | public final ModeSetting time = new ModeSetting("Time", this, "Day", "Day", "Night"); 8 | 9 | public TimeChangerMod() { 10 | super("Time Changer", "Change time.", "\uF185"); 11 | } 12 | 13 | public int getTimeInt() { 14 | if (time.is("Day")) return 0; 15 | else return 24000; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /1.20.2/src/main/java/me/nobokik/blazeclient/mod/setting/RenderableSetting.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mod.setting; 2 | 3 | public interface RenderableSetting { 4 | void render(); 5 | } 6 | -------------------------------------------------------------------------------- /1.20.2/src/main/java/me/nobokik/blazeclient/mod/setting/Setting.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mod.setting; 2 | 3 | import me.nobokik.blazeclient.mod.Mod; 4 | 5 | public abstract class Setting { 6 | public String name; 7 | public Mod parent; 8 | 9 | public String getName() { 10 | return name; 11 | } 12 | } -------------------------------------------------------------------------------- /1.20.2/src/main/resources/fabric.mod.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": 1, 3 | "id": "blaze-client", 4 | "version": "${version}", 5 | "name": "Blaze Client", 6 | "description": "This is an example description! Tell everyone what your mod is about!", 7 | "authors": [ 8 | "NoboKik" 9 | ], 10 | "contact": { 11 | "homepage": "https://fabricmc.net/", 12 | "sources": "https://github.com/FabricMC/fabric-example-mod" 13 | }, 14 | "license": "CC0-1.0", 15 | "icon": "assets/blaze-client/icon.png", 16 | "environment": "*", 17 | "entrypoints": { 18 | "main": [ 19 | "me.nobokik.blazeclient.Client" 20 | ] 21 | }, 22 | "mixins": [ 23 | "blaze-client.mixins.json" 24 | ], 25 | "depends": { 26 | "fabricloader": ">=0.14.21", 27 | "minecraft": "~1.20.2", 28 | "java": ">=17", 29 | "fabric-api": "*" 30 | } 31 | } -------------------------------------------------------------------------------- /1.20.4/src/main/java/me/nobokik/blazeclient/api/event/Cancellable.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event; 2 | 3 | import me.nobokik.blazeclient.api.event.orbit.ICancellable; 4 | 5 | public class Cancellable implements ICancellable { 6 | private boolean cancelled = false; 7 | 8 | @Override 9 | public void setCancelled(boolean cancelled) { 10 | this.cancelled = cancelled; 11 | } 12 | 13 | @Override 14 | public boolean isCancelled() { 15 | return cancelled; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /1.20.4/src/main/java/me/nobokik/blazeclient/api/event/events/AttackEntityEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import me.nobokik.blazeclient.api.event.Cancellable; 4 | import net.minecraft.entity.Entity; 5 | 6 | @SuppressWarnings("all") 7 | public class AttackEntityEvent extends Cancellable { 8 | private static final AttackEntityEvent INSTANCE = new AttackEntityEvent(); 9 | 10 | public Entity target; 11 | 12 | public static AttackEntityEvent get(Entity target) { 13 | INSTANCE.setCancelled(false); 14 | INSTANCE.target = target; 15 | return INSTANCE; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /1.20.4/src/main/java/me/nobokik/blazeclient/api/event/events/AttackEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import me.nobokik.blazeclient.api.event.Cancellable; 4 | 5 | @SuppressWarnings("all") 6 | public class AttackEvent extends Cancellable { 7 | 8 | public static class Pre extends AttackEvent { 9 | private static final Pre INSTANCE = new Pre(); 10 | 11 | public static Pre get() { 12 | return INSTANCE; 13 | } 14 | } 15 | 16 | public static class Post extends AttackEvent { 17 | private static final Post INSTANCE = new Post(); 18 | 19 | public static Post get() { 20 | return INSTANCE; 21 | } 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /1.20.4/src/main/java/me/nobokik/blazeclient/api/event/events/BlockBreakEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import me.nobokik.blazeclient.api.event.Cancellable; 4 | 5 | @SuppressWarnings("all") 6 | public class BlockBreakEvent extends Cancellable { 7 | 8 | public static class Pre extends BlockBreakEvent { 9 | private static final Pre INSTANCE = new Pre(); 10 | 11 | public static Pre get() { 12 | return INSTANCE; 13 | } 14 | } 15 | 16 | public static class Post extends BlockBreakEvent { 17 | private static final Post INSTANCE = new Post(); 18 | 19 | public static Post get() { 20 | return INSTANCE; 21 | } 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /1.20.4/src/main/java/me/nobokik/blazeclient/api/event/events/EntityRemoveEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import me.nobokik.blazeclient.api.event.Cancellable; 4 | import net.minecraft.entity.Entity; 5 | 6 | @SuppressWarnings("all") 7 | public class EntityRemoveEvent extends Cancellable { 8 | private static final EntityRemoveEvent INSTANCE = new EntityRemoveEvent(); 9 | 10 | public Entity entity; 11 | 12 | public static EntityRemoveEvent get(Entity entity) { 13 | INSTANCE.setCancelled(false); 14 | INSTANCE.entity = entity; 15 | return INSTANCE; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /1.20.4/src/main/java/me/nobokik/blazeclient/api/event/events/HudRenderEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import net.minecraft.client.util.math.MatrixStack; 4 | 5 | @SuppressWarnings("all") 6 | public class HudRenderEvent { 7 | 8 | private static final HudRenderEvent INSTANCE = new HudRenderEvent(); 9 | 10 | public MatrixStack matrices; 11 | public float tickDelta; 12 | 13 | public static HudRenderEvent get(MatrixStack matrices, float tickDelta) { 14 | INSTANCE.matrices = matrices; 15 | INSTANCE.tickDelta = tickDelta; 16 | return INSTANCE; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /1.20.4/src/main/java/me/nobokik/blazeclient/api/event/events/ItemUseEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import me.nobokik.blazeclient.api.event.Cancellable; 4 | 5 | @SuppressWarnings("all") 6 | public class ItemUseEvent extends Cancellable { 7 | 8 | public static class Pre extends ItemUseEvent { 9 | private static final Pre INSTANCE = new Pre(); 10 | 11 | public static Pre get() { 12 | return INSTANCE; 13 | } 14 | } 15 | 16 | public static class Post extends ItemUseEvent { 17 | private static final Post INSTANCE = new Post(); 18 | 19 | public static Post get() { 20 | return INSTANCE; 21 | } 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /1.20.4/src/main/java/me/nobokik/blazeclient/api/event/events/KeyPressEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | @SuppressWarnings("all") 4 | public class KeyPressEvent { 5 | 6 | private static final KeyPressEvent INSTANCE = new KeyPressEvent(); 7 | 8 | public int key, scanCode, action; 9 | public long window; 10 | 11 | public static KeyPressEvent get(int key, int scanCode, int action, long window) { 12 | INSTANCE.key = key; 13 | INSTANCE.scanCode = scanCode; 14 | INSTANCE.action = action; 15 | INSTANCE.window = window; 16 | return INSTANCE; 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /1.20.4/src/main/java/me/nobokik/blazeclient/api/event/events/MouseButtonEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | public class MouseButtonEvent { 4 | 5 | private static final MouseButtonEvent INSTANCE = new MouseButtonEvent(); 6 | 7 | public int button, action; 8 | 9 | public static MouseButtonEvent get(int button, int action) { 10 | INSTANCE.button = button; 11 | INSTANCE.action = action; 12 | return INSTANCE; 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /1.20.4/src/main/java/me/nobokik/blazeclient/api/event/events/MouseMoveEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | @SuppressWarnings("all") 4 | public class MouseMoveEvent { 5 | 6 | private static final MouseMoveEvent INSTANCE = new MouseMoveEvent(); 7 | 8 | public double mouseX, mouseY; 9 | 10 | public static MouseMoveEvent get(double mouseX, double mouseY) { 11 | INSTANCE.mouseX = mouseX; 12 | INSTANCE.mouseY = mouseY; 13 | return INSTANCE; 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /1.20.4/src/main/java/me/nobokik/blazeclient/api/event/events/MouseUpdateEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | @SuppressWarnings("all") 4 | public class MouseUpdateEvent { 5 | 6 | private static final MouseUpdateEvent INSTANCE = new MouseUpdateEvent(); 7 | 8 | public static MouseUpdateEvent get() { 9 | return INSTANCE; 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /1.20.4/src/main/java/me/nobokik/blazeclient/api/event/events/OverlayReloadListener.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | 6 | public interface OverlayReloadListener { 7 | List listeners = new ArrayList<>(); 8 | void onOverlayReload(); 9 | 10 | static void register(OverlayReloadListener listener) { 11 | listeners.add(listener); 12 | } 13 | 14 | static void callEvent() { 15 | for (OverlayReloadListener listener : listeners) { 16 | listener.onOverlayReload(); 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /1.20.4/src/main/java/me/nobokik/blazeclient/api/event/events/PacketEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import me.nobokik.blazeclient.api.event.Cancellable; 4 | import net.minecraft.network.packet.Packet; 5 | 6 | @SuppressWarnings("all") 7 | public class PacketEvent extends Cancellable { 8 | public static class Receive extends PacketEvent { 9 | private static final Receive INSTANCE = new Receive(); 10 | 11 | public Packet packet; 12 | 13 | public static Receive get(Packet packet) { 14 | INSTANCE.setCancelled(false); 15 | INSTANCE.packet = packet; 16 | return INSTANCE; 17 | } 18 | } 19 | 20 | public static class Send extends PacketEvent { 21 | private static final Send INSTANCE = new Send(); 22 | 23 | public Packet packet; 24 | 25 | public static Send get(Packet packet) { 26 | INSTANCE.setCancelled(false); 27 | INSTANCE.packet = packet; 28 | return INSTANCE; 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /1.20.4/src/main/java/me/nobokik/blazeclient/api/event/events/PlayerTickEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | @SuppressWarnings("all") 4 | public class PlayerTickEvent { 5 | 6 | private static final PlayerTickEvent INSTANCE = new PlayerTickEvent(); 7 | 8 | public static PlayerTickEvent get() { 9 | return INSTANCE; 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /1.20.4/src/main/java/me/nobokik/blazeclient/api/event/events/RenderTickEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | @SuppressWarnings("all") 4 | public class RenderTickEvent { 5 | 6 | private static final RenderTickEvent INSTANCE = new RenderTickEvent(); 7 | 8 | public static RenderTickEvent get() { 9 | return INSTANCE; 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /1.20.4/src/main/java/me/nobokik/blazeclient/api/event/events/SendMovementPacketEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | @SuppressWarnings("all") 4 | public class SendMovementPacketEvent { 5 | 6 | public static class Pre extends SendMovementPacketEvent { 7 | private static final Pre INSTANCE = new Pre(); 8 | 9 | public static Pre get() { 10 | return INSTANCE; 11 | } 12 | } 13 | 14 | public static class Post extends SendMovementPacketEvent { 15 | private static final Post INSTANCE = new Post(); 16 | 17 | public static Post get() { 18 | return INSTANCE; 19 | } 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /1.20.4/src/main/java/me/nobokik/blazeclient/api/event/events/SlotCheckEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import me.nobokik.blazeclient.api.event.Cancellable; 4 | import net.minecraft.client.gui.screen.ingame.HandledScreen; 5 | import net.minecraft.screen.slot.Slot; 6 | 7 | @SuppressWarnings("all") 8 | public class SlotCheckEvent extends Cancellable { 9 | private static final SlotCheckEvent INSTANCE = new SlotCheckEvent(); 10 | 11 | public boolean cancelOutput = false; 12 | 13 | public void setCancelOutput(boolean cancelOutput) { 14 | this.cancelOutput = cancelOutput; 15 | cancel(); 16 | } 17 | 18 | public HandledScreen instance; 19 | public Slot slot; 20 | 21 | public static SlotCheckEvent get(HandledScreen instance, Slot slot) { 22 | INSTANCE.setCancelled(false); 23 | INSTANCE.instance = instance; 24 | INSTANCE.slot = slot; 25 | return INSTANCE; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /1.20.4/src/main/java/me/nobokik/blazeclient/api/event/events/TickEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | @SuppressWarnings("all") 4 | public class TickEvent { 5 | 6 | public static class Pre extends TickEvent { 7 | private static final Pre INSTANCE = new Pre(); 8 | 9 | public static Pre get() { 10 | return INSTANCE; 11 | } 12 | } 13 | 14 | public static class Post extends TickEvent { 15 | private static final Post INSTANCE = new Post(); 16 | 17 | public static Post get() { 18 | return INSTANCE; 19 | } 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /1.20.4/src/main/java/me/nobokik/blazeclient/api/event/events/WorldRenderEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext; 4 | 5 | @SuppressWarnings("all") 6 | public class WorldRenderEvent { 7 | 8 | private static final WorldRenderEvent INSTANCE = new WorldRenderEvent(); 9 | 10 | public WorldRenderContext context; 11 | 12 | public static WorldRenderEvent get(WorldRenderContext context) { 13 | INSTANCE.context = context; 14 | return INSTANCE; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /1.20.4/src/main/java/me/nobokik/blazeclient/api/event/events/WorldTickEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | @SuppressWarnings("all") 4 | public class WorldTickEvent { 5 | 6 | private static final WorldTickEvent INSTANCE = new WorldTickEvent(); 7 | 8 | public static WorldTickEvent get() { 9 | return INSTANCE; 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /1.20.4/src/main/java/me/nobokik/blazeclient/api/event/orbit/EventHandler.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.orbit; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | /** 9 | * Used to mark listeners. 10 | */ 11 | @Retention(RetentionPolicy.RUNTIME) 12 | @Target(ElementType.METHOD) 13 | public @interface EventHandler { 14 | int priority() default EventPriority.MEDIUM; 15 | } 16 | -------------------------------------------------------------------------------- /1.20.4/src/main/java/me/nobokik/blazeclient/api/event/orbit/EventPriority.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.orbit; 2 | 3 | /** 4 | * Default event priorities. 5 | */ 6 | public class EventPriority { 7 | public static final int HIGHEST = 200; 8 | public static final int HIGH = 100; 9 | public static final int MEDIUM = 0; 10 | public static final int LOW = -100; 11 | public static final int LOWEST = -200; 12 | } 13 | -------------------------------------------------------------------------------- /1.20.4/src/main/java/me/nobokik/blazeclient/api/event/orbit/ICancellable.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.orbit; 2 | 3 | /** 4 | * Cancellable events need to implement this interface. 5 | */ 6 | public interface ICancellable { 7 | /** 8 | * Sets if this event is cancelled. 9 | * @param cancelled Is cancelled 10 | */ 11 | void setCancelled(boolean cancelled); 12 | 13 | /** 14 | * Cancels this event. 15 | */ 16 | default void cancel() { setCancelled(true); } 17 | 18 | /** 19 | * @return True if this event is cancelled. 20 | */ 21 | boolean isCancelled(); 22 | } 23 | -------------------------------------------------------------------------------- /1.20.4/src/main/java/me/nobokik/blazeclient/api/event/orbit/NoLambdaFactoryException.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.orbit; 2 | 3 | /** 4 | * Thrown when an {@link IEventBus} can't find a registered lambda factory to use. 5 | */ 6 | public class NoLambdaFactoryException extends RuntimeException { 7 | public NoLambdaFactoryException(Class klass) { 8 | super("No registered lambda listener for '" + klass.getName() + "'."); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /1.20.4/src/main/java/me/nobokik/blazeclient/api/event/orbit/listeners/IListener.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.orbit.listeners; 2 | 3 | /** 4 | * Base type for all listeners. 5 | */ 6 | public interface IListener { 7 | /** 8 | * Calls the listener with the specified event. 9 | * @param event Event to pass in 10 | */ 11 | void call(Object event); 12 | 13 | /** 14 | * @return The target event type this listener is for 15 | */ 16 | Class getTarget(); 17 | 18 | /** 19 | * @return The priority for this listener 20 | */ 21 | int getPriority(); 22 | 23 | /** 24 | * @return True if this listener is for static methods 25 | */ 26 | boolean isStatic(); 27 | } 28 | -------------------------------------------------------------------------------- /1.20.4/src/main/java/me/nobokik/blazeclient/api/helpers/FPSHelper.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.helpers; 2 | 3 | public class FPSHelper { 4 | 5 | private static int fps = 0; 6 | 7 | public static int getFPS() { 8 | return fps; 9 | } 10 | 11 | public static void setFPS(int fps) { 12 | FPSHelper.fps = fps; 13 | } 14 | } -------------------------------------------------------------------------------- /1.20.4/src/main/java/me/nobokik/blazeclient/api/hook/IChatHudExt.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.hook; 2 | 3 | import net.minecraft.client.gui.hud.ChatHudLine; 4 | 5 | import java.util.List; 6 | 7 | public interface IChatHudExt { 8 | List compactchat$getMessages(); 9 | void compactchat$refreshMessages(); 10 | void compactchat$clear(); 11 | } -------------------------------------------------------------------------------- /1.20.4/src/main/java/me/nobokik/blazeclient/api/util/SidebarEntry.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.util; 2 | 3 | import net.fabricmc.api.EnvType; 4 | import net.fabricmc.api.Environment; 5 | import net.minecraft.text.Text; 6 | 7 | @Environment(value=EnvType.CLIENT) 8 | public record SidebarEntry(Text name, Text score, int scoreWidth) { 9 | } 10 | -------------------------------------------------------------------------------- /1.20.4/src/main/java/me/nobokik/blazeclient/gui/Renderable.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.gui; 2 | 3 | public interface Renderable { 4 | String getName(); 5 | 6 | void render(); 7 | 8 | default Theme getTheme() { 9 | return new Theme() { 10 | }; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /1.20.4/src/main/java/me/nobokik/blazeclient/gui/Theme.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.gui; 2 | 3 | public interface Theme { 4 | default void preRender() { 5 | // do nothing 6 | } 7 | 8 | default void postRender() { 9 | // do nothing 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /1.20.4/src/main/java/me/nobokik/blazeclient/mixin/ClientBrandRetrieverMixin.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mixin; 2 | 3 | 4 | import net.minecraft.client.ClientBrandRetriever; 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.injection.At; 7 | import org.spongepowered.asm.mixin.injection.Inject; 8 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; 9 | 10 | @Mixin(ClientBrandRetriever.class) 11 | public abstract class ClientBrandRetrieverMixin { 12 | @Inject(method = "getClientModName", at = @At("HEAD"), cancellable = true, remap = false) 13 | private static void blazeclient$returnClientBrand(CallbackInfoReturnable cir) { 14 | cir.setReturnValue("Blaze Client"); 15 | cir.cancel(); 16 | } 17 | } -------------------------------------------------------------------------------- /1.20.4/src/main/java/me/nobokik/blazeclient/mixin/ClientPlayerInteractionManagerMixin.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mixin; 2 | 3 | import me.nobokik.blazeclient.Client; 4 | import me.nobokik.blazeclient.api.event.events.AttackEntityEvent; 5 | import net.minecraft.client.network.ClientPlayerInteractionManager; 6 | import net.minecraft.entity.Entity; 7 | import net.minecraft.entity.player.PlayerEntity; 8 | import org.spongepowered.asm.mixin.Mixin; 9 | import org.spongepowered.asm.mixin.injection.At; 10 | import org.spongepowered.asm.mixin.injection.Inject; 11 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 12 | 13 | @Mixin(ClientPlayerInteractionManager.class) 14 | public abstract class ClientPlayerInteractionManagerMixin { 15 | 16 | @Inject(at = @At("HEAD"), method = "attackEntity") 17 | private void onAttackEntity(PlayerEntity player, Entity target, CallbackInfo ci) { 18 | Client.EVENTBUS.post(AttackEntityEvent.get(target)); 19 | } 20 | } -------------------------------------------------------------------------------- /1.20.4/src/main/java/me/nobokik/blazeclient/mixin/ClientWorldMixin.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mixin; 2 | 3 | import me.nobokik.blazeclient.Client; 4 | import me.nobokik.blazeclient.mod.mods.TimeChangerMod; 5 | import net.minecraft.client.world.ClientWorld; 6 | import org.spongepowered.asm.mixin.Mixin; 7 | import org.spongepowered.asm.mixin.injection.At; 8 | import org.spongepowered.asm.mixin.injection.ModifyArg; 9 | 10 | @Mixin(ClientWorld.class) 11 | public abstract class ClientWorldMixin { 12 | @ModifyArg(method = "setTimeOfDay", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/world/ClientWorld$Properties;setTimeOfDay(J)V")) 13 | public long setTimeOfDay(long time) { 14 | if (Client.modManager().getMod(TimeChangerMod.class).isEnabled()) 15 | return Client.modManager().getMod(TimeChangerMod.class).getTimeInt(); 16 | else 17 | return time; 18 | } 19 | } -------------------------------------------------------------------------------- /1.20.4/src/main/java/me/nobokik/blazeclient/mixin/EntityMixin.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mixin; 2 | 3 | import me.nobokik.blazeclient.Client; 4 | import me.nobokik.blazeclient.mod.mods.FreelookMod; 5 | import net.minecraft.entity.Entity; 6 | import org.spongepowered.asm.mixin.Mixin; 7 | import org.spongepowered.asm.mixin.injection.At; 8 | import org.spongepowered.asm.mixin.injection.Inject; 9 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 10 | 11 | @Mixin(Entity.class) 12 | public class EntityMixin { 13 | @Inject(method = "changeLookDirection", at = @At("HEAD"), cancellable = true) 14 | public void interceptMovement(double cursorDeltaX, double cursorDeltaY, CallbackInfo ci) { 15 | if (Client.modManager().getMod(FreelookMod.class).consumeRotation(cursorDeltaX, cursorDeltaY)) { 16 | ci.cancel(); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /1.20.4/src/main/java/me/nobokik/blazeclient/mixin/EntityRenderDispatcherAccessor.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mixin; 2 | 3 | import net.minecraft.client.render.entity.EntityRenderDispatcher; 4 | import org.spongepowered.asm.mixin.Mixin; 5 | import org.spongepowered.asm.mixin.gen.Accessor; 6 | 7 | @Mixin(EntityRenderDispatcher.class) 8 | public interface EntityRenderDispatcherAccessor { 9 | @Accessor 10 | void setRenderHitboxes(boolean renderHitboxes); 11 | } 12 | -------------------------------------------------------------------------------- /1.20.4/src/main/java/me/nobokik/blazeclient/mixin/LogoDrawerMixin.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mixin; 2 | 3 | import net.minecraft.client.gui.LogoDrawer; 4 | import net.minecraft.client.util.math.MatrixStack; 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.injection.At; 7 | import org.spongepowered.asm.mixin.injection.Inject; 8 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 9 | 10 | @Mixin(LogoDrawer.class) 11 | public class LogoDrawerMixin { 12 | @Inject(method = "draw*", at = @At("HEAD"), cancellable = true) 13 | public void cancelDraw(CallbackInfo ci) { 14 | ci.cancel(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /1.20.4/src/main/java/me/nobokik/blazeclient/mixin/RenderSystemMixin.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mixin; 2 | 3 | import com.mojang.blaze3d.systems.RenderSystem; 4 | import me.nobokik.blazeclient.Client; 5 | import me.nobokik.blazeclient.api.event.events.RenderTickEvent; 6 | import me.nobokik.blazeclient.gui.ImguiLoader; 7 | import net.minecraft.client.MinecraftClient; 8 | import org.spongepowered.asm.mixin.Mixin; 9 | import org.spongepowered.asm.mixin.injection.At; 10 | import org.spongepowered.asm.mixin.injection.Inject; 11 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 12 | 13 | @Mixin(RenderSystem.class) 14 | public class RenderSystemMixin { 15 | @Inject(at = @At("HEAD"), method = "flipFrame") 16 | private static void runTickTail(CallbackInfo ci) { 17 | Client.EVENTBUS.post(RenderTickEvent.get()); 18 | MinecraftClient.getInstance().getProfiler().push("ImGui Render"); 19 | ImguiLoader.onFrameRender(); 20 | MinecraftClient.getInstance().getProfiler().pop(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /1.20.4/src/main/java/me/nobokik/blazeclient/mod/mods/HitColorMod.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mod.mods; 2 | 3 | import me.nobokik.blazeclient.Client; 4 | import me.nobokik.blazeclient.api.event.events.OverlayReloadListener; 5 | import me.nobokik.blazeclient.api.event.events.TickEvent; 6 | import me.nobokik.blazeclient.api.event.orbit.EventHandler; 7 | import me.nobokik.blazeclient.api.font.JColor; 8 | import me.nobokik.blazeclient.mod.Mod; 9 | import me.nobokik.blazeclient.mod.setting.settings.BooleanSetting; 10 | import me.nobokik.blazeclient.mod.setting.settings.ColorSetting; 11 | import me.nobokik.blazeclient.mod.setting.settings.NumberSetting; 12 | 13 | public class HitColorMod extends Mod { 14 | public final ColorSetting hitColor = new ColorSetting("Hit Color", this, new JColor(0.7f, 0f, 0f, 0.75f), true); 15 | public HitColorMod() { 16 | super("Hit Color", "Change the hit color.", "\uF53F"); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /1.20.4/src/main/java/me/nobokik/blazeclient/mod/mods/HitboxMod.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mod.mods; 2 | 3 | import me.nobokik.blazeclient.api.event.events.TickEvent; 4 | import me.nobokik.blazeclient.api.event.orbit.EventHandler; 5 | import me.nobokik.blazeclient.api.font.JColor; 6 | import me.nobokik.blazeclient.mixin.EntityRenderDispatcherAccessor; 7 | import me.nobokik.blazeclient.mixin.EntityRenderDispatcherMixin; 8 | import me.nobokik.blazeclient.mod.Mod; 9 | import me.nobokik.blazeclient.mod.setting.settings.BooleanSetting; 10 | import me.nobokik.blazeclient.mod.setting.settings.ColorSetting; 11 | import me.nobokik.blazeclient.mod.setting.settings.NumberSetting; 12 | import net.minecraft.client.MinecraftClient; 13 | import net.minecraft.util.Identifier; 14 | 15 | public class HitboxMod extends Mod { 16 | public final ColorSetting boxColor = new ColorSetting("Box Color", this, new JColor(1f,1f,1f), true); 17 | 18 | public HitboxMod() { 19 | super("Hitbox", "Change the hitbox.", "\uF0C8"); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /1.20.4/src/main/java/me/nobokik/blazeclient/mod/mods/HurtCamMod.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mod.mods; 2 | 3 | import me.nobokik.blazeclient.mod.Mod; 4 | import me.nobokik.blazeclient.mod.setting.settings.BooleanSetting; 5 | import me.nobokik.blazeclient.mod.setting.settings.NumberSetting; 6 | 7 | public class HurtCamMod extends Mod { 8 | public final BooleanSetting disableHurtcam = new BooleanSetting("Disable hurtcam", this, false); 9 | public final BooleanSetting oldHurtcam = new BooleanSetting("Old Hurtcam", this, false); 10 | public final NumberSetting scale = new NumberSetting("Scale", this, 1, 0, 2, 0.1); 11 | public HurtCamMod() { 12 | super("Hurt Cam", "Change the hurtcam.", "\uF030"); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /1.20.4/src/main/java/me/nobokik/blazeclient/mod/mods/NametagsMod.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mod.mods; 2 | 3 | import me.nobokik.blazeclient.mod.Mod; 4 | import me.nobokik.blazeclient.mod.setting.settings.BooleanSetting; 5 | import me.nobokik.blazeclient.mod.setting.settings.NumberSetting; 6 | 7 | public class NametagsMod extends Mod { 8 | public final BooleanSetting textShadow = new BooleanSetting("Text Shadow", this, false); 9 | public final NumberSetting opacity = new NumberSetting("Opacity", this, 0.25, 0, 1, 0.01); 10 | 11 | public NametagsMod() { 12 | super("Nametags", "Change nametags.", "\uF02C"); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /1.20.4/src/main/java/me/nobokik/blazeclient/mod/mods/ScoreboardMod.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mod.mods; 2 | 3 | import me.nobokik.blazeclient.mod.Mod; 4 | import me.nobokik.blazeclient.mod.setting.settings.BooleanSetting; 5 | 6 | public class ScoreboardMod extends Mod { 7 | public final BooleanSetting hideScoreboard = new BooleanSetting("Hide Scoreboard", this, false); 8 | public final BooleanSetting background = new BooleanSetting("Background", this, true); 9 | public final BooleanSetting numbers = new BooleanSetting("Numbers", this, true); 10 | public final BooleanSetting textShadow = new BooleanSetting("Text Shadow", this, false); 11 | public ScoreboardMod() { 12 | super("Scoreboard", "Change the scoreboard.", "\uF0CA"); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /1.20.4/src/main/java/me/nobokik/blazeclient/mod/mods/TimeChangerMod.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mod.mods; 2 | 3 | import me.nobokik.blazeclient.mod.Mod; 4 | import me.nobokik.blazeclient.mod.setting.settings.ModeSetting; 5 | 6 | public class TimeChangerMod extends Mod { 7 | public final ModeSetting time = new ModeSetting("Time", this, "Day", "Day", "Night"); 8 | 9 | public TimeChangerMod() { 10 | super("Time Changer", "Change time.", "\uF185"); 11 | } 12 | 13 | public int getTimeInt() { 14 | if (time.is("Day")) return 0; 15 | else return 24000; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /1.20.4/src/main/java/me/nobokik/blazeclient/mod/setting/RenderableSetting.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mod.setting; 2 | 3 | public interface RenderableSetting { 4 | void render(); 5 | } 6 | -------------------------------------------------------------------------------- /1.20.4/src/main/java/me/nobokik/blazeclient/mod/setting/Setting.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mod.setting; 2 | 3 | import me.nobokik.blazeclient.mod.Mod; 4 | 5 | public abstract class Setting { 6 | public String name; 7 | public Mod parent; 8 | 9 | public String getName() { 10 | return name; 11 | } 12 | } -------------------------------------------------------------------------------- /1.20.4/src/main/resources/fabric.mod.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": 1, 3 | "id": "blaze-client", 4 | "version": "${version}", 5 | "name": "Blaze Client", 6 | "description": "This is an example description! Tell everyone what your mod is about!", 7 | "authors": [ 8 | "NoboKik" 9 | ], 10 | "contact": { 11 | "homepage": "https://fabricmc.net/", 12 | "sources": "https://github.com/FabricMC/fabric-example-mod" 13 | }, 14 | "license": "CC0-1.0", 15 | "icon": "assets/blaze-client/icon.png", 16 | "environment": "*", 17 | "entrypoints": { 18 | "main": [ 19 | "me.nobokik.blazeclient.Client" 20 | ] 21 | }, 22 | "mixins": [ 23 | "blaze-client.mixins.json" 24 | ], 25 | "depends": { 26 | "fabricloader": ">=0.14.21", 27 | "minecraft": "~1.20.2", 28 | "java": ">=17", 29 | "fabric-api": "*" 30 | } 31 | } -------------------------------------------------------------------------------- /1.20.6/src/main/java/me/nobokik/blazeclient/api/event/Cancellable.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event; 2 | 3 | import me.nobokik.blazeclient.api.event.orbit.ICancellable; 4 | 5 | public class Cancellable implements ICancellable { 6 | private boolean cancelled = false; 7 | 8 | @Override 9 | public void setCancelled(boolean cancelled) { 10 | this.cancelled = cancelled; 11 | } 12 | 13 | @Override 14 | public boolean isCancelled() { 15 | return cancelled; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /1.20.6/src/main/java/me/nobokik/blazeclient/api/event/events/AttackEntityEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import me.nobokik.blazeclient.api.event.Cancellable; 4 | import net.minecraft.entity.Entity; 5 | 6 | @SuppressWarnings("all") 7 | public class AttackEntityEvent extends Cancellable { 8 | private static final AttackEntityEvent INSTANCE = new AttackEntityEvent(); 9 | 10 | public Entity target; 11 | 12 | public static AttackEntityEvent get(Entity target) { 13 | INSTANCE.setCancelled(false); 14 | INSTANCE.target = target; 15 | return INSTANCE; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /1.20.6/src/main/java/me/nobokik/blazeclient/api/event/events/AttackEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import me.nobokik.blazeclient.api.event.Cancellable; 4 | 5 | @SuppressWarnings("all") 6 | public class AttackEvent extends Cancellable { 7 | 8 | public static class Pre extends AttackEvent { 9 | private static final Pre INSTANCE = new Pre(); 10 | 11 | public static Pre get() { 12 | return INSTANCE; 13 | } 14 | } 15 | 16 | public static class Post extends AttackEvent { 17 | private static final Post INSTANCE = new Post(); 18 | 19 | public static Post get() { 20 | return INSTANCE; 21 | } 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /1.20.6/src/main/java/me/nobokik/blazeclient/api/event/events/BlockBreakEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import me.nobokik.blazeclient.api.event.Cancellable; 4 | 5 | @SuppressWarnings("all") 6 | public class BlockBreakEvent extends Cancellable { 7 | 8 | public static class Pre extends BlockBreakEvent { 9 | private static final Pre INSTANCE = new Pre(); 10 | 11 | public static Pre get() { 12 | return INSTANCE; 13 | } 14 | } 15 | 16 | public static class Post extends BlockBreakEvent { 17 | private static final Post INSTANCE = new Post(); 18 | 19 | public static Post get() { 20 | return INSTANCE; 21 | } 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /1.20.6/src/main/java/me/nobokik/blazeclient/api/event/events/EntityRemoveEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import me.nobokik.blazeclient.api.event.Cancellable; 4 | import net.minecraft.entity.Entity; 5 | 6 | @SuppressWarnings("all") 7 | public class EntityRemoveEvent extends Cancellable { 8 | private static final EntityRemoveEvent INSTANCE = new EntityRemoveEvent(); 9 | 10 | public Entity entity; 11 | 12 | public static EntityRemoveEvent get(Entity entity) { 13 | INSTANCE.setCancelled(false); 14 | INSTANCE.entity = entity; 15 | return INSTANCE; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /1.20.6/src/main/java/me/nobokik/blazeclient/api/event/events/HudRenderEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import net.minecraft.client.util.math.MatrixStack; 4 | 5 | @SuppressWarnings("all") 6 | public class HudRenderEvent { 7 | 8 | private static final HudRenderEvent INSTANCE = new HudRenderEvent(); 9 | 10 | public MatrixStack matrices; 11 | public float tickDelta; 12 | 13 | public static HudRenderEvent get(MatrixStack matrices, float tickDelta) { 14 | INSTANCE.matrices = matrices; 15 | INSTANCE.tickDelta = tickDelta; 16 | return INSTANCE; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /1.20.6/src/main/java/me/nobokik/blazeclient/api/event/events/ItemUseEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import me.nobokik.blazeclient.api.event.Cancellable; 4 | 5 | @SuppressWarnings("all") 6 | public class ItemUseEvent extends Cancellable { 7 | 8 | public static class Pre extends ItemUseEvent { 9 | private static final Pre INSTANCE = new Pre(); 10 | 11 | public static Pre get() { 12 | return INSTANCE; 13 | } 14 | } 15 | 16 | public static class Post extends ItemUseEvent { 17 | private static final Post INSTANCE = new Post(); 18 | 19 | public static Post get() { 20 | return INSTANCE; 21 | } 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /1.20.6/src/main/java/me/nobokik/blazeclient/api/event/events/KeyPressEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | @SuppressWarnings("all") 4 | public class KeyPressEvent { 5 | 6 | private static final KeyPressEvent INSTANCE = new KeyPressEvent(); 7 | 8 | public int key, scanCode, action; 9 | public long window; 10 | 11 | public static KeyPressEvent get(int key, int scanCode, int action, long window) { 12 | INSTANCE.key = key; 13 | INSTANCE.scanCode = scanCode; 14 | INSTANCE.action = action; 15 | INSTANCE.window = window; 16 | return INSTANCE; 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /1.20.6/src/main/java/me/nobokik/blazeclient/api/event/events/MouseButtonEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | public class MouseButtonEvent { 4 | 5 | private static final MouseButtonEvent INSTANCE = new MouseButtonEvent(); 6 | 7 | public int button, action; 8 | 9 | public static MouseButtonEvent get(int button, int action) { 10 | INSTANCE.button = button; 11 | INSTANCE.action = action; 12 | return INSTANCE; 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /1.20.6/src/main/java/me/nobokik/blazeclient/api/event/events/MouseMoveEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | @SuppressWarnings("all") 4 | public class MouseMoveEvent { 5 | 6 | private static final MouseMoveEvent INSTANCE = new MouseMoveEvent(); 7 | 8 | public double mouseX, mouseY; 9 | 10 | public static MouseMoveEvent get(double mouseX, double mouseY) { 11 | INSTANCE.mouseX = mouseX; 12 | INSTANCE.mouseY = mouseY; 13 | return INSTANCE; 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /1.20.6/src/main/java/me/nobokik/blazeclient/api/event/events/MouseUpdateEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | @SuppressWarnings("all") 4 | public class MouseUpdateEvent { 5 | 6 | private static final MouseUpdateEvent INSTANCE = new MouseUpdateEvent(); 7 | 8 | public static MouseUpdateEvent get() { 9 | return INSTANCE; 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /1.20.6/src/main/java/me/nobokik/blazeclient/api/event/events/OverlayReloadListener.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | 6 | public interface OverlayReloadListener { 7 | List listeners = new ArrayList<>(); 8 | void onOverlayReload(); 9 | 10 | static void register(OverlayReloadListener listener) { 11 | listeners.add(listener); 12 | } 13 | 14 | static void callEvent() { 15 | for (OverlayReloadListener listener : listeners) { 16 | listener.onOverlayReload(); 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /1.20.6/src/main/java/me/nobokik/blazeclient/api/event/events/PacketEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import me.nobokik.blazeclient.api.event.Cancellable; 4 | import net.minecraft.network.packet.Packet; 5 | 6 | @SuppressWarnings("all") 7 | public class PacketEvent extends Cancellable { 8 | public static class Receive extends PacketEvent { 9 | private static final Receive INSTANCE = new Receive(); 10 | 11 | public Packet packet; 12 | 13 | public static Receive get(Packet packet) { 14 | INSTANCE.setCancelled(false); 15 | INSTANCE.packet = packet; 16 | return INSTANCE; 17 | } 18 | } 19 | 20 | public static class Send extends PacketEvent { 21 | private static final Send INSTANCE = new Send(); 22 | 23 | public Packet packet; 24 | 25 | public static Send get(Packet packet) { 26 | INSTANCE.setCancelled(false); 27 | INSTANCE.packet = packet; 28 | return INSTANCE; 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /1.20.6/src/main/java/me/nobokik/blazeclient/api/event/events/PlayerTickEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | @SuppressWarnings("all") 4 | public class PlayerTickEvent { 5 | 6 | private static final PlayerTickEvent INSTANCE = new PlayerTickEvent(); 7 | 8 | public static PlayerTickEvent get() { 9 | return INSTANCE; 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /1.20.6/src/main/java/me/nobokik/blazeclient/api/event/events/RenderTickEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | @SuppressWarnings("all") 4 | public class RenderTickEvent { 5 | 6 | private static final RenderTickEvent INSTANCE = new RenderTickEvent(); 7 | 8 | public static RenderTickEvent get() { 9 | return INSTANCE; 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /1.20.6/src/main/java/me/nobokik/blazeclient/api/event/events/SendMovementPacketEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | @SuppressWarnings("all") 4 | public class SendMovementPacketEvent { 5 | 6 | public static class Pre extends SendMovementPacketEvent { 7 | private static final Pre INSTANCE = new Pre(); 8 | 9 | public static Pre get() { 10 | return INSTANCE; 11 | } 12 | } 13 | 14 | public static class Post extends SendMovementPacketEvent { 15 | private static final Post INSTANCE = new Post(); 16 | 17 | public static Post get() { 18 | return INSTANCE; 19 | } 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /1.20.6/src/main/java/me/nobokik/blazeclient/api/event/events/SlotCheckEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import me.nobokik.blazeclient.api.event.Cancellable; 4 | import net.minecraft.client.gui.screen.ingame.HandledScreen; 5 | import net.minecraft.screen.slot.Slot; 6 | 7 | @SuppressWarnings("all") 8 | public class SlotCheckEvent extends Cancellable { 9 | private static final SlotCheckEvent INSTANCE = new SlotCheckEvent(); 10 | 11 | public boolean cancelOutput = false; 12 | 13 | public void setCancelOutput(boolean cancelOutput) { 14 | this.cancelOutput = cancelOutput; 15 | cancel(); 16 | } 17 | 18 | public HandledScreen instance; 19 | public Slot slot; 20 | 21 | public static SlotCheckEvent get(HandledScreen instance, Slot slot) { 22 | INSTANCE.setCancelled(false); 23 | INSTANCE.instance = instance; 24 | INSTANCE.slot = slot; 25 | return INSTANCE; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /1.20.6/src/main/java/me/nobokik/blazeclient/api/event/events/TickEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | @SuppressWarnings("all") 4 | public class TickEvent { 5 | 6 | public static class Pre extends TickEvent { 7 | private static final Pre INSTANCE = new Pre(); 8 | 9 | public static Pre get() { 10 | return INSTANCE; 11 | } 12 | } 13 | 14 | public static class Post extends TickEvent { 15 | private static final Post INSTANCE = new Post(); 16 | 17 | public static Post get() { 18 | return INSTANCE; 19 | } 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /1.20.6/src/main/java/me/nobokik/blazeclient/api/event/events/WorldRenderEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext; 4 | 5 | @SuppressWarnings("all") 6 | public class WorldRenderEvent { 7 | 8 | private static final WorldRenderEvent INSTANCE = new WorldRenderEvent(); 9 | 10 | public WorldRenderContext context; 11 | 12 | public static WorldRenderEvent get(WorldRenderContext context) { 13 | INSTANCE.context = context; 14 | return INSTANCE; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /1.20.6/src/main/java/me/nobokik/blazeclient/api/event/events/WorldTickEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | @SuppressWarnings("all") 4 | public class WorldTickEvent { 5 | 6 | private static final WorldTickEvent INSTANCE = new WorldTickEvent(); 7 | 8 | public static WorldTickEvent get() { 9 | return INSTANCE; 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /1.20.6/src/main/java/me/nobokik/blazeclient/api/event/orbit/EventHandler.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.orbit; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | /** 9 | * Used to mark listeners. 10 | */ 11 | @Retention(RetentionPolicy.RUNTIME) 12 | @Target(ElementType.METHOD) 13 | public @interface EventHandler { 14 | int priority() default EventPriority.MEDIUM; 15 | } 16 | -------------------------------------------------------------------------------- /1.20.6/src/main/java/me/nobokik/blazeclient/api/event/orbit/EventPriority.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.orbit; 2 | 3 | /** 4 | * Default event priorities. 5 | */ 6 | public class EventPriority { 7 | public static final int HIGHEST = 200; 8 | public static final int HIGH = 100; 9 | public static final int MEDIUM = 0; 10 | public static final int LOW = -100; 11 | public static final int LOWEST = -200; 12 | } 13 | -------------------------------------------------------------------------------- /1.20.6/src/main/java/me/nobokik/blazeclient/api/event/orbit/ICancellable.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.orbit; 2 | 3 | /** 4 | * Cancellable events need to implement this interface. 5 | */ 6 | public interface ICancellable { 7 | /** 8 | * Sets if this event is cancelled. 9 | * @param cancelled Is cancelled 10 | */ 11 | void setCancelled(boolean cancelled); 12 | 13 | /** 14 | * Cancels this event. 15 | */ 16 | default void cancel() { setCancelled(true); } 17 | 18 | /** 19 | * @return True if this event is cancelled. 20 | */ 21 | boolean isCancelled(); 22 | } 23 | -------------------------------------------------------------------------------- /1.20.6/src/main/java/me/nobokik/blazeclient/api/event/orbit/NoLambdaFactoryException.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.orbit; 2 | 3 | /** 4 | * Thrown when an {@link IEventBus} can't find a registered lambda factory to use. 5 | */ 6 | public class NoLambdaFactoryException extends RuntimeException { 7 | public NoLambdaFactoryException(Class klass) { 8 | super("No registered lambda listener for '" + klass.getName() + "'."); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /1.20.6/src/main/java/me/nobokik/blazeclient/api/event/orbit/listeners/IListener.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.orbit.listeners; 2 | 3 | /** 4 | * Base type for all listeners. 5 | */ 6 | public interface IListener { 7 | /** 8 | * Calls the listener with the specified event. 9 | * @param event Event to pass in 10 | */ 11 | void call(Object event); 12 | 13 | /** 14 | * @return The target event type this listener is for 15 | */ 16 | Class getTarget(); 17 | 18 | /** 19 | * @return The priority for this listener 20 | */ 21 | int getPriority(); 22 | 23 | /** 24 | * @return True if this listener is for static methods 25 | */ 26 | boolean isStatic(); 27 | } 28 | -------------------------------------------------------------------------------- /1.20.6/src/main/java/me/nobokik/blazeclient/api/helpers/FPSHelper.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.helpers; 2 | 3 | public class FPSHelper { 4 | 5 | private static int fps = 0; 6 | 7 | public static int getFPS() { 8 | return fps; 9 | } 10 | 11 | public static void setFPS(int fps) { 12 | FPSHelper.fps = fps; 13 | } 14 | } -------------------------------------------------------------------------------- /1.20.6/src/main/java/me/nobokik/blazeclient/api/hook/IChatHudExt.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.hook; 2 | 3 | import net.minecraft.client.gui.hud.ChatHudLine; 4 | 5 | import java.util.List; 6 | 7 | public interface IChatHudExt { 8 | List compactchat$getMessages(); 9 | void compactchat$refreshMessages(); 10 | void compactchat$clear(); 11 | } -------------------------------------------------------------------------------- /1.20.6/src/main/java/me/nobokik/blazeclient/gui/Renderable.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.gui; 2 | 3 | public interface Renderable { 4 | String getName(); 5 | 6 | void render(); 7 | 8 | default Theme getTheme() { 9 | return new Theme() { 10 | }; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /1.20.6/src/main/java/me/nobokik/blazeclient/gui/Theme.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.gui; 2 | 3 | public interface Theme { 4 | default void preRender() { 5 | // do nothing 6 | } 7 | 8 | default void postRender() { 9 | // do nothing 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /1.20.6/src/main/java/me/nobokik/blazeclient/mixin/ClientBrandRetrieverMixin.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mixin; 2 | 3 | 4 | import net.minecraft.client.ClientBrandRetriever; 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.injection.At; 7 | import org.spongepowered.asm.mixin.injection.Inject; 8 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; 9 | 10 | @Mixin(ClientBrandRetriever.class) 11 | public abstract class ClientBrandRetrieverMixin { 12 | @Inject(method = "getClientModName", at = @At("HEAD"), cancellable = true, remap = false) 13 | private static void blazeclient$returnClientBrand(CallbackInfoReturnable cir) { 14 | cir.setReturnValue("Blaze Client"); 15 | cir.cancel(); 16 | } 17 | } -------------------------------------------------------------------------------- /1.20.6/src/main/java/me/nobokik/blazeclient/mixin/ClientPlayerInteractionManagerMixin.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mixin; 2 | 3 | import me.nobokik.blazeclient.Client; 4 | import me.nobokik.blazeclient.api.event.events.AttackEntityEvent; 5 | import net.minecraft.client.network.ClientPlayerInteractionManager; 6 | import net.minecraft.entity.Entity; 7 | import net.minecraft.entity.player.PlayerEntity; 8 | import org.spongepowered.asm.mixin.Mixin; 9 | import org.spongepowered.asm.mixin.injection.At; 10 | import org.spongepowered.asm.mixin.injection.Inject; 11 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 12 | 13 | @Mixin(ClientPlayerInteractionManager.class) 14 | public abstract class ClientPlayerInteractionManagerMixin { 15 | 16 | @Inject(at = @At("HEAD"), method = "attackEntity") 17 | private void onAttackEntity(PlayerEntity player, Entity target, CallbackInfo ci) { 18 | Client.EVENTBUS.post(AttackEntityEvent.get(target)); 19 | } 20 | } -------------------------------------------------------------------------------- /1.20.6/src/main/java/me/nobokik/blazeclient/mixin/ClientWorldMixin.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mixin; 2 | 3 | import me.nobokik.blazeclient.Client; 4 | import me.nobokik.blazeclient.mod.mods.TimeChangerMod; 5 | import net.minecraft.client.world.ClientWorld; 6 | import org.spongepowered.asm.mixin.Mixin; 7 | import org.spongepowered.asm.mixin.injection.At; 8 | import org.spongepowered.asm.mixin.injection.ModifyArg; 9 | 10 | @Mixin(ClientWorld.class) 11 | public abstract class ClientWorldMixin { 12 | @ModifyArg(method = "setTimeOfDay", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/world/ClientWorld$Properties;setTimeOfDay(J)V")) 13 | public long setTimeOfDay(long time) { 14 | if (Client.modManager().getMod(TimeChangerMod.class).isEnabled()) 15 | return Client.modManager().getMod(TimeChangerMod.class).getTimeInt(); 16 | else 17 | return time; 18 | } 19 | } -------------------------------------------------------------------------------- /1.20.6/src/main/java/me/nobokik/blazeclient/mixin/EntityMixin.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mixin; 2 | 3 | import me.nobokik.blazeclient.Client; 4 | import me.nobokik.blazeclient.mod.mods.FreelookMod; 5 | import net.minecraft.entity.Entity; 6 | import org.spongepowered.asm.mixin.Mixin; 7 | import org.spongepowered.asm.mixin.injection.At; 8 | import org.spongepowered.asm.mixin.injection.Inject; 9 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 10 | 11 | @Mixin(Entity.class) 12 | public class EntityMixin { 13 | @Inject(method = "changeLookDirection", at = @At("HEAD"), cancellable = true) 14 | public void interceptMovement(double cursorDeltaX, double cursorDeltaY, CallbackInfo ci) { 15 | if (Client.modManager().getMod(FreelookMod.class).consumeRotation(cursorDeltaX, cursorDeltaY)) { 16 | ci.cancel(); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /1.20.6/src/main/java/me/nobokik/blazeclient/mixin/EntityRenderDispatcherAccessor.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mixin; 2 | 3 | import net.minecraft.client.render.entity.EntityRenderDispatcher; 4 | import org.spongepowered.asm.mixin.Mixin; 5 | import org.spongepowered.asm.mixin.gen.Accessor; 6 | 7 | @Mixin(EntityRenderDispatcher.class) 8 | public interface EntityRenderDispatcherAccessor { 9 | @Accessor 10 | void setRenderHitboxes(boolean renderHitboxes); 11 | } 12 | -------------------------------------------------------------------------------- /1.20.6/src/main/java/me/nobokik/blazeclient/mixin/LogoDrawerMixin.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mixin; 2 | 3 | import net.minecraft.client.gui.LogoDrawer; 4 | import net.minecraft.client.util.math.MatrixStack; 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.injection.At; 7 | import org.spongepowered.asm.mixin.injection.Inject; 8 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 9 | 10 | @Mixin(LogoDrawer.class) 11 | public class LogoDrawerMixin { 12 | @Inject(method = "draw*", at = @At("HEAD"), cancellable = true) 13 | public void cancelDraw(CallbackInfo ci) { 14 | ci.cancel(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /1.20.6/src/main/java/me/nobokik/blazeclient/mod/mods/HitColorMod.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mod.mods; 2 | 3 | import me.nobokik.blazeclient.Client; 4 | import me.nobokik.blazeclient.api.event.events.OverlayReloadListener; 5 | import me.nobokik.blazeclient.api.event.events.TickEvent; 6 | import me.nobokik.blazeclient.api.event.orbit.EventHandler; 7 | import me.nobokik.blazeclient.api.font.JColor; 8 | import me.nobokik.blazeclient.mod.Mod; 9 | import me.nobokik.blazeclient.mod.setting.settings.BooleanSetting; 10 | import me.nobokik.blazeclient.mod.setting.settings.ColorSetting; 11 | import me.nobokik.blazeclient.mod.setting.settings.NumberSetting; 12 | 13 | public class HitColorMod extends Mod { 14 | public final ColorSetting hitColor = new ColorSetting("Hit Color", this, new JColor(0.7f, 0f, 0f, 0.75f), true); 15 | public HitColorMod() { 16 | super("Hit Color", "Change the hit color.", "\uF53F"); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /1.20.6/src/main/java/me/nobokik/blazeclient/mod/mods/HitboxMod.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mod.mods; 2 | 3 | import me.nobokik.blazeclient.api.event.events.TickEvent; 4 | import me.nobokik.blazeclient.api.event.orbit.EventHandler; 5 | import me.nobokik.blazeclient.api.font.JColor; 6 | import me.nobokik.blazeclient.mixin.EntityRenderDispatcherAccessor; 7 | import me.nobokik.blazeclient.mixin.EntityRenderDispatcherMixin; 8 | import me.nobokik.blazeclient.mod.Mod; 9 | import me.nobokik.blazeclient.mod.setting.settings.BooleanSetting; 10 | import me.nobokik.blazeclient.mod.setting.settings.ColorSetting; 11 | import me.nobokik.blazeclient.mod.setting.settings.NumberSetting; 12 | import net.minecraft.client.MinecraftClient; 13 | import net.minecraft.util.Identifier; 14 | 15 | public class HitboxMod extends Mod { 16 | public final ColorSetting boxColor = new ColorSetting("Box Color", this, new JColor(1f,1f,1f), true); 17 | 18 | public HitboxMod() { 19 | super("Hitbox", "Change the hitbox.", "\uF0C8"); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /1.20.6/src/main/java/me/nobokik/blazeclient/mod/mods/HurtCamMod.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mod.mods; 2 | 3 | import me.nobokik.blazeclient.mod.Mod; 4 | import me.nobokik.blazeclient.mod.setting.settings.BooleanSetting; 5 | import me.nobokik.blazeclient.mod.setting.settings.NumberSetting; 6 | 7 | public class HurtCamMod extends Mod { 8 | public final BooleanSetting disableHurtcam = new BooleanSetting("Disable hurtcam", this, false); 9 | public final BooleanSetting oldHurtcam = new BooleanSetting("Old Hurtcam", this, false); 10 | public final NumberSetting scale = new NumberSetting("Scale", this, 1, 0, 2, 0.1); 11 | public HurtCamMod() { 12 | super("Hurt Cam", "Change the hurtcam.", "\uF030"); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /1.20.6/src/main/java/me/nobokik/blazeclient/mod/mods/NametagsMod.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mod.mods; 2 | 3 | import me.nobokik.blazeclient.mod.Mod; 4 | import me.nobokik.blazeclient.mod.setting.settings.BooleanSetting; 5 | import me.nobokik.blazeclient.mod.setting.settings.NumberSetting; 6 | 7 | public class NametagsMod extends Mod { 8 | public final BooleanSetting textShadow = new BooleanSetting("Text Shadow", this, false); 9 | public final NumberSetting opacity = new NumberSetting("Opacity", this, 0.25, 0, 1, 0.01); 10 | 11 | public NametagsMod() { 12 | super("Nametags", "Change nametags.", "\uF02C"); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /1.20.6/src/main/java/me/nobokik/blazeclient/mod/mods/ScoreboardMod.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mod.mods; 2 | 3 | import me.nobokik.blazeclient.mod.Mod; 4 | import me.nobokik.blazeclient.mod.setting.settings.BooleanSetting; 5 | 6 | public class ScoreboardMod extends Mod { 7 | public final BooleanSetting hideScoreboard = new BooleanSetting("Hide Scoreboard", this, false); 8 | public final BooleanSetting background = new BooleanSetting("Background", this, true); 9 | public final BooleanSetting numbers = new BooleanSetting("Numbers", this, true); 10 | public final BooleanSetting textShadow = new BooleanSetting("Text Shadow", this, false); 11 | public ScoreboardMod() { 12 | super("Scoreboard", "Change the scoreboard.", "\uF0CA"); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /1.20.6/src/main/java/me/nobokik/blazeclient/mod/mods/TimeChangerMod.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mod.mods; 2 | 3 | import me.nobokik.blazeclient.mod.Mod; 4 | import me.nobokik.blazeclient.mod.setting.settings.ModeSetting; 5 | 6 | public class TimeChangerMod extends Mod { 7 | public final ModeSetting time = new ModeSetting("Time", this, "Day", "Day", "Night"); 8 | 9 | public TimeChangerMod() { 10 | super("Time Changer", "Change time.", "\uF185"); 11 | } 12 | 13 | public int getTimeInt() { 14 | if (time.is("Day")) return 0; 15 | else return 24000; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /1.20.6/src/main/java/me/nobokik/blazeclient/mod/setting/RenderableSetting.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mod.setting; 2 | 3 | public interface RenderableSetting { 4 | void render(); 5 | } 6 | -------------------------------------------------------------------------------- /1.20.6/src/main/java/me/nobokik/blazeclient/mod/setting/Setting.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mod.setting; 2 | 3 | import me.nobokik.blazeclient.mod.Mod; 4 | 5 | public abstract class Setting { 6 | public String name; 7 | public Mod parent; 8 | 9 | public String getName() { 10 | return name; 11 | } 12 | } -------------------------------------------------------------------------------- /1.20.6/src/main/resources/fabric.mod.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": 1, 3 | "id": "blaze-client", 4 | "version": "${version}", 5 | "name": "Blaze Client", 6 | "description": "This is an example description! Tell everyone what your mod is about!", 7 | "authors": [ 8 | "NoboKik" 9 | ], 10 | "contact": { 11 | "homepage": "https://fabricmc.net/", 12 | "sources": "https://github.com/FabricMC/fabric-example-mod" 13 | }, 14 | "license": "CC0-1.0", 15 | "icon": "assets/blaze-client/icon.png", 16 | "environment": "*", 17 | "entrypoints": { 18 | "main": [ 19 | "me.nobokik.blazeclient.Client" 20 | ] 21 | }, 22 | "mixins": [ 23 | "blaze-client.mixins.json" 24 | ], 25 | "depends": { 26 | "fabricloader": ">=0.14.21", 27 | "minecraft": "~1.20.2", 28 | "java": ">=17", 29 | "fabric-api": "*" 30 | } 31 | } -------------------------------------------------------------------------------- /1.21/src/main/java/me/nobokik/blazeclient/api/event/Cancellable.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event; 2 | 3 | import me.nobokik.blazeclient.api.event.orbit.ICancellable; 4 | 5 | public class Cancellable implements ICancellable { 6 | private boolean cancelled = false; 7 | 8 | @Override 9 | public void setCancelled(boolean cancelled) { 10 | this.cancelled = cancelled; 11 | } 12 | 13 | @Override 14 | public boolean isCancelled() { 15 | return cancelled; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /1.21/src/main/java/me/nobokik/blazeclient/api/event/events/AttackEntityEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import me.nobokik.blazeclient.api.event.Cancellable; 4 | import net.minecraft.entity.Entity; 5 | 6 | @SuppressWarnings("all") 7 | public class AttackEntityEvent extends Cancellable { 8 | private static final AttackEntityEvent INSTANCE = new AttackEntityEvent(); 9 | 10 | public Entity target; 11 | 12 | public static AttackEntityEvent get(Entity target) { 13 | INSTANCE.setCancelled(false); 14 | INSTANCE.target = target; 15 | return INSTANCE; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /1.21/src/main/java/me/nobokik/blazeclient/api/event/events/AttackEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import me.nobokik.blazeclient.api.event.Cancellable; 4 | 5 | @SuppressWarnings("all") 6 | public class AttackEvent extends Cancellable { 7 | 8 | public static class Pre extends AttackEvent { 9 | private static final Pre INSTANCE = new Pre(); 10 | 11 | public static Pre get() { 12 | return INSTANCE; 13 | } 14 | } 15 | 16 | public static class Post extends AttackEvent { 17 | private static final Post INSTANCE = new Post(); 18 | 19 | public static Post get() { 20 | return INSTANCE; 21 | } 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /1.21/src/main/java/me/nobokik/blazeclient/api/event/events/BlockBreakEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import me.nobokik.blazeclient.api.event.Cancellable; 4 | 5 | @SuppressWarnings("all") 6 | public class BlockBreakEvent extends Cancellable { 7 | 8 | public static class Pre extends BlockBreakEvent { 9 | private static final Pre INSTANCE = new Pre(); 10 | 11 | public static Pre get() { 12 | return INSTANCE; 13 | } 14 | } 15 | 16 | public static class Post extends BlockBreakEvent { 17 | private static final Post INSTANCE = new Post(); 18 | 19 | public static Post get() { 20 | return INSTANCE; 21 | } 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /1.21/src/main/java/me/nobokik/blazeclient/api/event/events/EntityRemoveEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import me.nobokik.blazeclient.api.event.Cancellable; 4 | import net.minecraft.entity.Entity; 5 | 6 | @SuppressWarnings("all") 7 | public class EntityRemoveEvent extends Cancellable { 8 | private static final EntityRemoveEvent INSTANCE = new EntityRemoveEvent(); 9 | 10 | public Entity entity; 11 | 12 | public static EntityRemoveEvent get(Entity entity) { 13 | INSTANCE.setCancelled(false); 14 | INSTANCE.entity = entity; 15 | return INSTANCE; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /1.21/src/main/java/me/nobokik/blazeclient/api/event/events/HudRenderEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import net.minecraft.client.util.math.MatrixStack; 4 | 5 | @SuppressWarnings("all") 6 | public class HudRenderEvent { 7 | 8 | private static final HudRenderEvent INSTANCE = new HudRenderEvent(); 9 | 10 | public MatrixStack matrices; 11 | public float tickDelta; 12 | 13 | public static HudRenderEvent get(MatrixStack matrices, float tickDelta) { 14 | INSTANCE.matrices = matrices; 15 | INSTANCE.tickDelta = tickDelta; 16 | return INSTANCE; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /1.21/src/main/java/me/nobokik/blazeclient/api/event/events/ItemUseEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import me.nobokik.blazeclient.api.event.Cancellable; 4 | 5 | @SuppressWarnings("all") 6 | public class ItemUseEvent extends Cancellable { 7 | 8 | public static class Pre extends ItemUseEvent { 9 | private static final Pre INSTANCE = new Pre(); 10 | 11 | public static Pre get() { 12 | return INSTANCE; 13 | } 14 | } 15 | 16 | public static class Post extends ItemUseEvent { 17 | private static final Post INSTANCE = new Post(); 18 | 19 | public static Post get() { 20 | return INSTANCE; 21 | } 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /1.21/src/main/java/me/nobokik/blazeclient/api/event/events/KeyPressEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | @SuppressWarnings("all") 4 | public class KeyPressEvent { 5 | 6 | private static final KeyPressEvent INSTANCE = new KeyPressEvent(); 7 | 8 | public int key, scanCode, action; 9 | public long window; 10 | 11 | public static KeyPressEvent get(int key, int scanCode, int action, long window) { 12 | INSTANCE.key = key; 13 | INSTANCE.scanCode = scanCode; 14 | INSTANCE.action = action; 15 | INSTANCE.window = window; 16 | return INSTANCE; 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /1.21/src/main/java/me/nobokik/blazeclient/api/event/events/MouseButtonEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | public class MouseButtonEvent { 4 | 5 | private static final MouseButtonEvent INSTANCE = new MouseButtonEvent(); 6 | 7 | public int button, action; 8 | 9 | public static MouseButtonEvent get(int button, int action) { 10 | INSTANCE.button = button; 11 | INSTANCE.action = action; 12 | return INSTANCE; 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /1.21/src/main/java/me/nobokik/blazeclient/api/event/events/MouseMoveEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | @SuppressWarnings("all") 4 | public class MouseMoveEvent { 5 | 6 | private static final MouseMoveEvent INSTANCE = new MouseMoveEvent(); 7 | 8 | public double mouseX, mouseY; 9 | 10 | public static MouseMoveEvent get(double mouseX, double mouseY) { 11 | INSTANCE.mouseX = mouseX; 12 | INSTANCE.mouseY = mouseY; 13 | return INSTANCE; 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /1.21/src/main/java/me/nobokik/blazeclient/api/event/events/MouseUpdateEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | @SuppressWarnings("all") 4 | public class MouseUpdateEvent { 5 | 6 | private static final MouseUpdateEvent INSTANCE = new MouseUpdateEvent(); 7 | 8 | public static MouseUpdateEvent get() { 9 | return INSTANCE; 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /1.21/src/main/java/me/nobokik/blazeclient/api/event/events/OverlayReloadListener.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | 6 | public interface OverlayReloadListener { 7 | List listeners = new ArrayList<>(); 8 | void onOverlayReload(); 9 | 10 | static void register(OverlayReloadListener listener) { 11 | listeners.add(listener); 12 | } 13 | 14 | static void callEvent() { 15 | for (OverlayReloadListener listener : listeners) { 16 | listener.onOverlayReload(); 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /1.21/src/main/java/me/nobokik/blazeclient/api/event/events/PacketEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import me.nobokik.blazeclient.api.event.Cancellable; 4 | import net.minecraft.network.packet.Packet; 5 | 6 | @SuppressWarnings("all") 7 | public class PacketEvent extends Cancellable { 8 | public static class Receive extends PacketEvent { 9 | private static final Receive INSTANCE = new Receive(); 10 | 11 | public Packet packet; 12 | 13 | public static Receive get(Packet packet) { 14 | INSTANCE.setCancelled(false); 15 | INSTANCE.packet = packet; 16 | return INSTANCE; 17 | } 18 | } 19 | 20 | public static class Send extends PacketEvent { 21 | private static final Send INSTANCE = new Send(); 22 | 23 | public Packet packet; 24 | 25 | public static Send get(Packet packet) { 26 | INSTANCE.setCancelled(false); 27 | INSTANCE.packet = packet; 28 | return INSTANCE; 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /1.21/src/main/java/me/nobokik/blazeclient/api/event/events/PlayerTickEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | @SuppressWarnings("all") 4 | public class PlayerTickEvent { 5 | 6 | private static final PlayerTickEvent INSTANCE = new PlayerTickEvent(); 7 | 8 | public static PlayerTickEvent get() { 9 | return INSTANCE; 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /1.21/src/main/java/me/nobokik/blazeclient/api/event/events/RenderTickEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | @SuppressWarnings("all") 4 | public class RenderTickEvent { 5 | 6 | private static final RenderTickEvent INSTANCE = new RenderTickEvent(); 7 | 8 | public static RenderTickEvent get() { 9 | return INSTANCE; 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /1.21/src/main/java/me/nobokik/blazeclient/api/event/events/SendMovementPacketEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | @SuppressWarnings("all") 4 | public class SendMovementPacketEvent { 5 | 6 | public static class Pre extends SendMovementPacketEvent { 7 | private static final Pre INSTANCE = new Pre(); 8 | 9 | public static Pre get() { 10 | return INSTANCE; 11 | } 12 | } 13 | 14 | public static class Post extends SendMovementPacketEvent { 15 | private static final Post INSTANCE = new Post(); 16 | 17 | public static Post get() { 18 | return INSTANCE; 19 | } 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /1.21/src/main/java/me/nobokik/blazeclient/api/event/events/SlotCheckEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import me.nobokik.blazeclient.api.event.Cancellable; 4 | import net.minecraft.client.gui.screen.ingame.HandledScreen; 5 | import net.minecraft.screen.slot.Slot; 6 | 7 | @SuppressWarnings("all") 8 | public class SlotCheckEvent extends Cancellable { 9 | private static final SlotCheckEvent INSTANCE = new SlotCheckEvent(); 10 | 11 | public boolean cancelOutput = false; 12 | 13 | public void setCancelOutput(boolean cancelOutput) { 14 | this.cancelOutput = cancelOutput; 15 | cancel(); 16 | } 17 | 18 | public HandledScreen instance; 19 | public Slot slot; 20 | 21 | public static SlotCheckEvent get(HandledScreen instance, Slot slot) { 22 | INSTANCE.setCancelled(false); 23 | INSTANCE.instance = instance; 24 | INSTANCE.slot = slot; 25 | return INSTANCE; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /1.21/src/main/java/me/nobokik/blazeclient/api/event/events/TickEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | @SuppressWarnings("all") 4 | public class TickEvent { 5 | 6 | public static class Pre extends TickEvent { 7 | private static final Pre INSTANCE = new Pre(); 8 | 9 | public static Pre get() { 10 | return INSTANCE; 11 | } 12 | } 13 | 14 | public static class Post extends TickEvent { 15 | private static final Post INSTANCE = new Post(); 16 | 17 | public static Post get() { 18 | return INSTANCE; 19 | } 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /1.21/src/main/java/me/nobokik/blazeclient/api/event/events/WorldRenderEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext; 4 | 5 | @SuppressWarnings("all") 6 | public class WorldRenderEvent { 7 | 8 | private static final WorldRenderEvent INSTANCE = new WorldRenderEvent(); 9 | 10 | public WorldRenderContext context; 11 | 12 | public static WorldRenderEvent get(WorldRenderContext context) { 13 | INSTANCE.context = context; 14 | return INSTANCE; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /1.21/src/main/java/me/nobokik/blazeclient/api/event/events/WorldTickEvent.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.events; 2 | 3 | @SuppressWarnings("all") 4 | public class WorldTickEvent { 5 | 6 | private static final WorldTickEvent INSTANCE = new WorldTickEvent(); 7 | 8 | public static WorldTickEvent get() { 9 | return INSTANCE; 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /1.21/src/main/java/me/nobokik/blazeclient/api/event/orbit/EventHandler.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.orbit; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | /** 9 | * Used to mark listeners. 10 | */ 11 | @Retention(RetentionPolicy.RUNTIME) 12 | @Target(ElementType.METHOD) 13 | public @interface EventHandler { 14 | int priority() default EventPriority.MEDIUM; 15 | } 16 | -------------------------------------------------------------------------------- /1.21/src/main/java/me/nobokik/blazeclient/api/event/orbit/EventPriority.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.orbit; 2 | 3 | /** 4 | * Default event priorities. 5 | */ 6 | public class EventPriority { 7 | public static final int HIGHEST = 200; 8 | public static final int HIGH = 100; 9 | public static final int MEDIUM = 0; 10 | public static final int LOW = -100; 11 | public static final int LOWEST = -200; 12 | } 13 | -------------------------------------------------------------------------------- /1.21/src/main/java/me/nobokik/blazeclient/api/event/orbit/ICancellable.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.orbit; 2 | 3 | /** 4 | * Cancellable events need to implement this interface. 5 | */ 6 | public interface ICancellable { 7 | /** 8 | * Sets if this event is cancelled. 9 | * @param cancelled Is cancelled 10 | */ 11 | void setCancelled(boolean cancelled); 12 | 13 | /** 14 | * Cancels this event. 15 | */ 16 | default void cancel() { setCancelled(true); } 17 | 18 | /** 19 | * @return True if this event is cancelled. 20 | */ 21 | boolean isCancelled(); 22 | } 23 | -------------------------------------------------------------------------------- /1.21/src/main/java/me/nobokik/blazeclient/api/event/orbit/NoLambdaFactoryException.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.orbit; 2 | 3 | /** 4 | * Thrown when an {@link IEventBus} can't find a registered lambda factory to use. 5 | */ 6 | public class NoLambdaFactoryException extends RuntimeException { 7 | public NoLambdaFactoryException(Class klass) { 8 | super("No registered lambda listener for '" + klass.getName() + "'."); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /1.21/src/main/java/me/nobokik/blazeclient/api/event/orbit/listeners/IListener.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.event.orbit.listeners; 2 | 3 | /** 4 | * Base type for all listeners. 5 | */ 6 | public interface IListener { 7 | /** 8 | * Calls the listener with the specified event. 9 | * @param event Event to pass in 10 | */ 11 | void call(Object event); 12 | 13 | /** 14 | * @return The target event type this listener is for 15 | */ 16 | Class getTarget(); 17 | 18 | /** 19 | * @return The priority for this listener 20 | */ 21 | int getPriority(); 22 | 23 | /** 24 | * @return True if this listener is for static methods 25 | */ 26 | boolean isStatic(); 27 | } 28 | -------------------------------------------------------------------------------- /1.21/src/main/java/me/nobokik/blazeclient/api/helpers/FPSHelper.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.helpers; 2 | 3 | public class FPSHelper { 4 | 5 | private static int fps = 0; 6 | 7 | public static int getFPS() { 8 | return fps; 9 | } 10 | 11 | public static void setFPS(int fps) { 12 | FPSHelper.fps = fps; 13 | } 14 | } -------------------------------------------------------------------------------- /1.21/src/main/java/me/nobokik/blazeclient/api/hook/IChatHudExt.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.api.hook; 2 | 3 | import net.minecraft.client.gui.hud.ChatHudLine; 4 | 5 | import java.util.List; 6 | 7 | public interface IChatHudExt { 8 | List compactchat$getMessages(); 9 | void compactchat$refreshMessages(); 10 | void compactchat$clear(); 11 | } -------------------------------------------------------------------------------- /1.21/src/main/java/me/nobokik/blazeclient/gui/Renderable.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.gui; 2 | 3 | public interface Renderable { 4 | String getName(); 5 | 6 | void render(); 7 | 8 | default Theme getTheme() { 9 | return new Theme() { 10 | }; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /1.21/src/main/java/me/nobokik/blazeclient/gui/Theme.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.gui; 2 | 3 | public interface Theme { 4 | default void preRender() { 5 | // do nothing 6 | } 7 | 8 | default void postRender() { 9 | // do nothing 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /1.21/src/main/java/me/nobokik/blazeclient/mixin/ClientBrandRetrieverMixin.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mixin; 2 | 3 | 4 | import net.minecraft.client.ClientBrandRetriever; 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.injection.At; 7 | import org.spongepowered.asm.mixin.injection.Inject; 8 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; 9 | 10 | @Mixin(ClientBrandRetriever.class) 11 | public abstract class ClientBrandRetrieverMixin { 12 | @Inject(method = "getClientModName", at = @At("HEAD"), cancellable = true, remap = false) 13 | private static void blazeclient$returnClientBrand(CallbackInfoReturnable cir) { 14 | cir.setReturnValue("Blaze Client"); 15 | cir.cancel(); 16 | } 17 | } -------------------------------------------------------------------------------- /1.21/src/main/java/me/nobokik/blazeclient/mixin/ClientPlayerInteractionManagerMixin.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mixin; 2 | 3 | import me.nobokik.blazeclient.Client; 4 | import me.nobokik.blazeclient.api.event.events.AttackEntityEvent; 5 | import net.minecraft.client.network.ClientPlayerInteractionManager; 6 | import net.minecraft.entity.Entity; 7 | import net.minecraft.entity.player.PlayerEntity; 8 | import org.spongepowered.asm.mixin.Mixin; 9 | import org.spongepowered.asm.mixin.injection.At; 10 | import org.spongepowered.asm.mixin.injection.Inject; 11 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 12 | 13 | @Mixin(ClientPlayerInteractionManager.class) 14 | public abstract class ClientPlayerInteractionManagerMixin { 15 | 16 | @Inject(at = @At("HEAD"), method = "attackEntity") 17 | private void onAttackEntity(PlayerEntity player, Entity target, CallbackInfo ci) { 18 | Client.EVENTBUS.post(AttackEntityEvent.get(target)); 19 | } 20 | } -------------------------------------------------------------------------------- /1.21/src/main/java/me/nobokik/blazeclient/mixin/ClientWorldMixin.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mixin; 2 | 3 | import me.nobokik.blazeclient.Client; 4 | import me.nobokik.blazeclient.mod.mods.TimeChangerMod; 5 | import net.minecraft.client.world.ClientWorld; 6 | import org.spongepowered.asm.mixin.Mixin; 7 | import org.spongepowered.asm.mixin.injection.At; 8 | import org.spongepowered.asm.mixin.injection.ModifyArg; 9 | 10 | @Mixin(ClientWorld.class) 11 | public abstract class ClientWorldMixin { 12 | @ModifyArg(method = "setTimeOfDay", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/world/ClientWorld$Properties;setTimeOfDay(J)V")) 13 | public long setTimeOfDay(long time) { 14 | if (Client.modManager().getMod(TimeChangerMod.class).isEnabled()) 15 | return Client.modManager().getMod(TimeChangerMod.class).getTimeInt(); 16 | else 17 | return time; 18 | } 19 | } -------------------------------------------------------------------------------- /1.21/src/main/java/me/nobokik/blazeclient/mixin/EntityMixin.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mixin; 2 | 3 | import me.nobokik.blazeclient.Client; 4 | import me.nobokik.blazeclient.mod.mods.FreelookMod; 5 | import net.minecraft.entity.Entity; 6 | import org.spongepowered.asm.mixin.Mixin; 7 | import org.spongepowered.asm.mixin.injection.At; 8 | import org.spongepowered.asm.mixin.injection.Inject; 9 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 10 | 11 | @Mixin(Entity.class) 12 | public class EntityMixin { 13 | @Inject(method = "changeLookDirection", at = @At("HEAD"), cancellable = true) 14 | public void interceptMovement(double cursorDeltaX, double cursorDeltaY, CallbackInfo ci) { 15 | if (Client.modManager().getMod(FreelookMod.class).consumeRotation(cursorDeltaX, cursorDeltaY)) { 16 | ci.cancel(); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /1.21/src/main/java/me/nobokik/blazeclient/mixin/EntityRenderDispatcherAccessor.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mixin; 2 | 3 | import net.minecraft.client.render.entity.EntityRenderDispatcher; 4 | import org.spongepowered.asm.mixin.Mixin; 5 | import org.spongepowered.asm.mixin.gen.Accessor; 6 | 7 | @Mixin(EntityRenderDispatcher.class) 8 | public interface EntityRenderDispatcherAccessor { 9 | @Accessor 10 | void setRenderHitboxes(boolean renderHitboxes); 11 | } 12 | -------------------------------------------------------------------------------- /1.21/src/main/java/me/nobokik/blazeclient/mixin/LogoDrawerMixin.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mixin; 2 | 3 | import net.minecraft.client.gui.LogoDrawer; 4 | import net.minecraft.client.util.math.MatrixStack; 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.injection.At; 7 | import org.spongepowered.asm.mixin.injection.Inject; 8 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 9 | 10 | @Mixin(LogoDrawer.class) 11 | public class LogoDrawerMixin { 12 | @Inject(method = "draw*", at = @At("HEAD"), cancellable = true) 13 | public void cancelDraw(CallbackInfo ci) { 14 | ci.cancel(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /1.21/src/main/java/me/nobokik/blazeclient/mod/mods/HitColorMod.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mod.mods; 2 | 3 | import me.nobokik.blazeclient.Client; 4 | import me.nobokik.blazeclient.api.event.events.OverlayReloadListener; 5 | import me.nobokik.blazeclient.api.event.events.TickEvent; 6 | import me.nobokik.blazeclient.api.event.orbit.EventHandler; 7 | import me.nobokik.blazeclient.api.font.JColor; 8 | import me.nobokik.blazeclient.mod.Mod; 9 | import me.nobokik.blazeclient.mod.setting.settings.BooleanSetting; 10 | import me.nobokik.blazeclient.mod.setting.settings.ColorSetting; 11 | import me.nobokik.blazeclient.mod.setting.settings.NumberSetting; 12 | 13 | public class HitColorMod extends Mod { 14 | public final ColorSetting hitColor = new ColorSetting("Hit Color", this, new JColor(0.7f, 0f, 0f, 0.75f), true); 15 | public HitColorMod() { 16 | super("Hit Color", "Change the hit color.", "\uF53F"); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /1.21/src/main/java/me/nobokik/blazeclient/mod/mods/HitboxMod.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mod.mods; 2 | 3 | import me.nobokik.blazeclient.api.event.events.TickEvent; 4 | import me.nobokik.blazeclient.api.event.orbit.EventHandler; 5 | import me.nobokik.blazeclient.api.font.JColor; 6 | import me.nobokik.blazeclient.mixin.EntityRenderDispatcherAccessor; 7 | import me.nobokik.blazeclient.mixin.EntityRenderDispatcherMixin; 8 | import me.nobokik.blazeclient.mod.Mod; 9 | import me.nobokik.blazeclient.mod.setting.settings.BooleanSetting; 10 | import me.nobokik.blazeclient.mod.setting.settings.ColorSetting; 11 | import me.nobokik.blazeclient.mod.setting.settings.NumberSetting; 12 | import net.minecraft.client.MinecraftClient; 13 | import net.minecraft.util.Identifier; 14 | 15 | public class HitboxMod extends Mod { 16 | public final ColorSetting boxColor = new ColorSetting("Box Color", this, new JColor(1f,1f,1f), true); 17 | 18 | public HitboxMod() { 19 | super("Hitbox", "Change the hitbox.", "\uF0C8"); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /1.21/src/main/java/me/nobokik/blazeclient/mod/mods/HurtCamMod.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mod.mods; 2 | 3 | import me.nobokik.blazeclient.mod.Mod; 4 | import me.nobokik.blazeclient.mod.setting.settings.BooleanSetting; 5 | import me.nobokik.blazeclient.mod.setting.settings.NumberSetting; 6 | 7 | public class HurtCamMod extends Mod { 8 | public final BooleanSetting disableHurtcam = new BooleanSetting("Disable hurtcam", this, false); 9 | public final BooleanSetting oldHurtcam = new BooleanSetting("Old Hurtcam", this, false); 10 | public final NumberSetting scale = new NumberSetting("Scale", this, 1, 0, 2, 0.1); 11 | public HurtCamMod() { 12 | super("Hurt Cam", "Change the hurtcam.", "\uF030"); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /1.21/src/main/java/me/nobokik/blazeclient/mod/mods/NametagsMod.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mod.mods; 2 | 3 | import me.nobokik.blazeclient.mod.Mod; 4 | import me.nobokik.blazeclient.mod.setting.settings.BooleanSetting; 5 | import me.nobokik.blazeclient.mod.setting.settings.NumberSetting; 6 | 7 | public class NametagsMod extends Mod { 8 | public final BooleanSetting textShadow = new BooleanSetting("Text Shadow", this, false); 9 | public final NumberSetting opacity = new NumberSetting("Opacity", this, 0.25, 0, 1, 0.01); 10 | 11 | public NametagsMod() { 12 | super("Nametags", "Change nametags.", "\uF02C"); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /1.21/src/main/java/me/nobokik/blazeclient/mod/mods/ScoreboardMod.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mod.mods; 2 | 3 | import me.nobokik.blazeclient.mod.Mod; 4 | import me.nobokik.blazeclient.mod.setting.settings.BooleanSetting; 5 | 6 | public class ScoreboardMod extends Mod { 7 | public final BooleanSetting hideScoreboard = new BooleanSetting("Hide Scoreboard", this, false); 8 | public final BooleanSetting background = new BooleanSetting("Background", this, true); 9 | public final BooleanSetting numbers = new BooleanSetting("Numbers", this, true); 10 | public final BooleanSetting textShadow = new BooleanSetting("Text Shadow", this, false); 11 | public ScoreboardMod() { 12 | super("Scoreboard", "Change the scoreboard.", "\uF0CA"); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /1.21/src/main/java/me/nobokik/blazeclient/mod/mods/TimeChangerMod.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mod.mods; 2 | 3 | import me.nobokik.blazeclient.mod.Mod; 4 | import me.nobokik.blazeclient.mod.setting.settings.ModeSetting; 5 | 6 | public class TimeChangerMod extends Mod { 7 | public final ModeSetting time = new ModeSetting("Time", this, "Day", "Day", "Night"); 8 | 9 | public TimeChangerMod() { 10 | super("Time Changer", "Change time.", "\uF185"); 11 | } 12 | 13 | public int getTimeInt() { 14 | if (time.is("Day")) return 0; 15 | else return 24000; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /1.21/src/main/java/me/nobokik/blazeclient/mod/setting/RenderableSetting.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mod.setting; 2 | 3 | public interface RenderableSetting { 4 | void render(); 5 | } 6 | -------------------------------------------------------------------------------- /1.21/src/main/java/me/nobokik/blazeclient/mod/setting/Setting.java: -------------------------------------------------------------------------------- 1 | package me.nobokik.blazeclient.mod.setting; 2 | 3 | import me.nobokik.blazeclient.mod.Mod; 4 | 5 | public abstract class Setting { 6 | public String name; 7 | public Mod parent; 8 | 9 | public String getName() { 10 | return name; 11 | } 12 | } -------------------------------------------------------------------------------- /1.21/src/main/resources/fabric.mod.json: -------------------------------------------------------------------------------- 1 | { 2 | "schemaVersion": 1, 3 | "id": "blaze-client", 4 | "version": "${version}", 5 | "name": "Blaze Client", 6 | "description": "This is an example description! Tell everyone what your mod is about!", 7 | "authors": [ 8 | "NoboKik" 9 | ], 10 | "contact": { 11 | "homepage": "https://fabricmc.net/", 12 | "sources": "https://github.com/FabricMC/fabric-example-mod" 13 | }, 14 | "license": "CC0-1.0", 15 | "icon": "assets/blaze-client/icon.png", 16 | "environment": "*", 17 | "entrypoints": { 18 | "main": [ 19 | "me.nobokik.blazeclient.Client" 20 | ] 21 | }, 22 | "mixins": [ 23 | "blaze-client.mixins.json" 24 | ], 25 | "depends": { 26 | "fabricloader": ">=0.14.21", 27 | "minecraft": "~1.21", 28 | "java": ">=17", 29 | "fabric-api": "*" 30 | } 31 | } -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | # Done to increase the memory available to gradle. 2 | org.gradle.jvmargs=-Xmx2G 3 | org.gradle.parallel=true 4 | 5 | # Fabric Properties 6 | # check these on https://fabricmc.net/develop 7 | loader_version=0.14.21 8 | 9 | # Mod Properties 10 | mod_version=1.0.0 11 | maven_group=me.nobokik.blazeclient 12 | archives_base_name=blaze-client 13 | 14 | # Dependencies 15 | imguiVersion=1.86.10 -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/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.6-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /run/config/fabric/indigo-renderer.properties: -------------------------------------------------------------------------------- 1 | #Indigo properties file 2 | #Mon Jul 31 19:17:13 MSK 2023 3 | fix-mean-light-calculation=auto 4 | debug-compare-lighting=auto 5 | fix-exterior-vertex-lighting=auto 6 | ambient-occlusion-mode=hybrid 7 | always-tesselate-blocks=auto 8 | fix-smooth-lighting-offset=auto 9 | fix-luminous-block-ambient-occlusion=auto 10 | -------------------------------------------------------------------------------- /run/config/modmenu.json: -------------------------------------------------------------------------------- 1 | { 2 | "sorting": "ascending", 3 | "count_libraries": false, 4 | "compact_list": true, 5 | "count_children": false, 6 | "mods_button_style": "icon", 7 | "game_menu_button_style": "icon", 8 | "count_hidden_mods": false, 9 | "mod_count_location": "none", 10 | "hide_mod_links": true, 11 | "show_libraries": false, 12 | "hide_mod_license": true, 13 | "hide_badges": true, 14 | "hide_mod_credits": true, 15 | "easter_eggs": false, 16 | "modify_title_screen": true, 17 | "modify_game_menu": true, 18 | "hide_config_buttons": false, 19 | "random_java_colors": true, 20 | "translate_names": false, 21 | "translate_descriptions": true, 22 | "config_mode": false, 23 | "disable_drag_and_drop": false, 24 | "hidden_mods": [], 25 | "hidden_configs": [], 26 | "disable_update_checker": [], 27 | "update_checker": false, 28 | "button_update_badge": false, 29 | "quick_configure": false 30 | } -------------------------------------------------------------------------------- /run/crash-reports/crash-2023-07-30_19.46.34-client.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/run/crash-reports/crash-2023-07-30_19.46.34-client.txt -------------------------------------------------------------------------------- /run/data/fabricDefaultResourcePacks.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/run/data/fabricDefaultResourcePacks.dat -------------------------------------------------------------------------------- /run/logs/2023-07-26-1.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/run/logs/2023-07-26-1.log.gz -------------------------------------------------------------------------------- /run/logs/2023-07-26-2.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/run/logs/2023-07-26-2.log.gz -------------------------------------------------------------------------------- /run/logs/2023-07-26-3.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/run/logs/2023-07-26-3.log.gz -------------------------------------------------------------------------------- /run/logs/2023-07-26-4.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/run/logs/2023-07-26-4.log.gz -------------------------------------------------------------------------------- /run/logs/2023-07-26-5.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/run/logs/2023-07-26-5.log.gz -------------------------------------------------------------------------------- /run/logs/2023-07-26-6.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/run/logs/2023-07-26-6.log.gz -------------------------------------------------------------------------------- /run/logs/2023-07-27-1.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/run/logs/2023-07-27-1.log.gz -------------------------------------------------------------------------------- /run/logs/2023-07-27-2.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/run/logs/2023-07-27-2.log.gz -------------------------------------------------------------------------------- /run/logs/2023-07-27-3.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/run/logs/2023-07-27-3.log.gz -------------------------------------------------------------------------------- /run/logs/2023-07-27-4.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/run/logs/2023-07-27-4.log.gz -------------------------------------------------------------------------------- /run/logs/2023-07-27-5.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/run/logs/2023-07-27-5.log.gz -------------------------------------------------------------------------------- /run/logs/2023-07-27-6.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/run/logs/2023-07-27-6.log.gz -------------------------------------------------------------------------------- /run/logs/2023-07-28-1.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/run/logs/2023-07-28-1.log.gz -------------------------------------------------------------------------------- /run/logs/2023-07-28-2.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/run/logs/2023-07-28-2.log.gz -------------------------------------------------------------------------------- /run/logs/2023-07-28-3.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/run/logs/2023-07-28-3.log.gz -------------------------------------------------------------------------------- /run/logs/2023-07-28-4.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/run/logs/2023-07-28-4.log.gz -------------------------------------------------------------------------------- /run/logs/2023-07-28-5.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/run/logs/2023-07-28-5.log.gz -------------------------------------------------------------------------------- /run/logs/2023-07-28-6.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/run/logs/2023-07-28-6.log.gz -------------------------------------------------------------------------------- /run/logs/2023-07-29-1.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/run/logs/2023-07-29-1.log.gz -------------------------------------------------------------------------------- /run/logs/2023-07-29-2.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/run/logs/2023-07-29-2.log.gz -------------------------------------------------------------------------------- /run/logs/2023-07-29-3.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/run/logs/2023-07-29-3.log.gz -------------------------------------------------------------------------------- /run/logs/2023-07-29-4.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/run/logs/2023-07-29-4.log.gz -------------------------------------------------------------------------------- /run/logs/2023-07-29-5.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/run/logs/2023-07-29-5.log.gz -------------------------------------------------------------------------------- /run/logs/2023-07-29-6.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/run/logs/2023-07-29-6.log.gz -------------------------------------------------------------------------------- /run/logs/2023-07-30-1.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/run/logs/2023-07-30-1.log.gz -------------------------------------------------------------------------------- /run/logs/2023-07-30-2.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/run/logs/2023-07-30-2.log.gz -------------------------------------------------------------------------------- /run/logs/2023-07-30-3.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/run/logs/2023-07-30-3.log.gz -------------------------------------------------------------------------------- /run/logs/2023-07-30-4.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/run/logs/2023-07-30-4.log.gz -------------------------------------------------------------------------------- /run/logs/2023-07-30-5.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/run/logs/2023-07-30-5.log.gz -------------------------------------------------------------------------------- /run/logs/2023-07-31-1.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/run/logs/2023-07-31-1.log.gz -------------------------------------------------------------------------------- /run/logs/2023-07-31-2.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/run/logs/2023-07-31-2.log.gz -------------------------------------------------------------------------------- /run/logs/2023-07-31-3.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/run/logs/2023-07-31-3.log.gz -------------------------------------------------------------------------------- /run/logs/2023-07-31-4.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/run/logs/2023-07-31-4.log.gz -------------------------------------------------------------------------------- /run/logs/2023-07-31-5.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/run/logs/2023-07-31-5.log.gz -------------------------------------------------------------------------------- /run/logs/2023-07-31-6.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/run/logs/2023-07-31-6.log.gz -------------------------------------------------------------------------------- /run/logs/2023-07-31-7.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/run/logs/2023-07-31-7.log.gz -------------------------------------------------------------------------------- /run/logs/debug-1.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/run/logs/debug-1.log.gz -------------------------------------------------------------------------------- /run/logs/debug-2.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/run/logs/debug-2.log.gz -------------------------------------------------------------------------------- /run/logs/debug-3.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/run/logs/debug-3.log.gz -------------------------------------------------------------------------------- /run/logs/debug-4.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/run/logs/debug-4.log.gz -------------------------------------------------------------------------------- /run/logs/debug-5.log.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/run/logs/debug-5.log.gz -------------------------------------------------------------------------------- /run/logs/debug.log: -------------------------------------------------------------------------------- 1 | [20:38:47] [main/INFO] (FabricLoader/GameProvider) Loading Minecraft 1.19.4 with Fabric Loader 0.14.21 2 | [20:38:47] [main/DEBUG] (FabricLoader/GamePatch) Found game constructor: net.minecraft.client.main.Main -> net.minecraft.client.MinecraftClient 3 | -------------------------------------------------------------------------------- /run/logs/latest.log: -------------------------------------------------------------------------------- 1 | [20:38:47] [main/INFO] (FabricLoader/GameProvider) Loading Minecraft 1.19.4 with Fabric Loader 0.14.21 2 | -------------------------------------------------------------------------------- /run/servers.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/run/servers.dat -------------------------------------------------------------------------------- /run/servers.dat_old: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/run/servers.dat_old -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | maven { 4 | name = 'Fabric' 5 | url = 'https://maven.fabricmc.net/' 6 | } 7 | mavenCentral() 8 | gradlePluginPortal() 9 | } 10 | } 11 | 12 | //include '1.19.2' 13 | //include '1.19.4' 14 | //include '1.20.1' 15 | include '1.20.4' 16 | include '1.20.6' 17 | include '1.21' 18 | include 'shared' -------------------------------------------------------------------------------- /shared/build.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id 'java' 3 | id 'java-library' 4 | } 5 | 6 | sourceCompatibility = JavaVersion.VERSION_1_8 7 | targetCompatibility = JavaVersion.VERSION_1_8 8 | 9 | repositories { 10 | mavenCentral() 11 | } 12 | 13 | dependencies { 14 | 15 | } 16 | -------------------------------------------------------------------------------- /shared/src/main/resources/assets/Dosis-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/shared/src/main/resources/assets/Dosis-Bold.ttf -------------------------------------------------------------------------------- /shared/src/main/resources/assets/Dosis-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/shared/src/main/resources/assets/Dosis-Medium.ttf -------------------------------------------------------------------------------- /shared/src/main/resources/assets/Dosis-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/shared/src/main/resources/assets/Dosis-Regular.ttf -------------------------------------------------------------------------------- /shared/src/main/resources/assets/FontAwesome.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/shared/src/main/resources/assets/FontAwesome.ttf -------------------------------------------------------------------------------- /shared/src/main/resources/assets/FontAwesome6-Solid.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/shared/src/main/resources/assets/FontAwesome6-Solid.otf -------------------------------------------------------------------------------- /shared/src/main/resources/assets/FontAwesome6.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/shared/src/main/resources/assets/FontAwesome6.otf -------------------------------------------------------------------------------- /shared/src/main/resources/assets/JetBrainsMono-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/shared/src/main/resources/assets/JetBrainsMono-Regular.ttf -------------------------------------------------------------------------------- /shared/src/main/resources/assets/Minecraftia.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/shared/src/main/resources/assets/Minecraftia.ttf -------------------------------------------------------------------------------- /shared/src/main/resources/assets/blaze-client/blazetext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/shared/src/main/resources/assets/blaze-client/blazetext.png -------------------------------------------------------------------------------- /shared/src/main/resources/assets/blaze-client/blazetext2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/shared/src/main/resources/assets/blaze-client/blazetext2.png -------------------------------------------------------------------------------- /shared/src/main/resources/assets/blaze-client/blazetext3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/shared/src/main/resources/assets/blaze-client/blazetext3.png -------------------------------------------------------------------------------- /shared/src/main/resources/assets/blaze-client/cape-animated-astelic.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/shared/src/main/resources/assets/blaze-client/cape-animated-astelic.gif -------------------------------------------------------------------------------- /shared/src/main/resources/assets/blaze-client/cape-animated-purple-sky.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/shared/src/main/resources/assets/blaze-client/cape-animated-purple-sky.gif -------------------------------------------------------------------------------- /shared/src/main/resources/assets/blaze-client/cape-axolotl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/shared/src/main/resources/assets/blaze-client/cape-axolotl.png -------------------------------------------------------------------------------- /shared/src/main/resources/assets/blaze-client/cape-blaze-red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/shared/src/main/resources/assets/blaze-client/cape-blaze-red.png -------------------------------------------------------------------------------- /shared/src/main/resources/assets/blaze-client/cape-glow-squid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/shared/src/main/resources/assets/blaze-client/cape-glow-squid.png -------------------------------------------------------------------------------- /shared/src/main/resources/assets/blaze-client/cape-pastel-aesthetic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/shared/src/main/resources/assets/blaze-client/cape-pastel-aesthetic.png -------------------------------------------------------------------------------- /shared/src/main/resources/assets/blaze-client/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/shared/src/main/resources/assets/blaze-client/icon.png -------------------------------------------------------------------------------- /shared/src/main/resources/assets/blaze-client/waves-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/shared/src/main/resources/assets/blaze-client/waves-logo.png -------------------------------------------------------------------------------- /shared/src/main/resources/assets/blaze-client/waves.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BlazeClient/BlazeClient-mod/d5512be6a5a88ad2b62a8f2700dacc2df34993aa/shared/src/main/resources/assets/blaze-client/waves.png --------------------------------------------------------------------------------