├── .editorconfig
├── .github
├── ISSUE_TEMPLATE
│ ├── bug_report.md
│ ├── crash_report.md
│ └── feature_request.md
└── pull_request_template.md
├── .gitignore
├── .travis.yml
├── LICENSE
├── README.md
├── build.gradle
├── gradle.properties
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── libs
└── Netty Client.jar
├── settings.gradle
└── src
└── main
├── java
├── cc
│ └── hyperium
│ │ ├── Hyperium.java
│ │ ├── SplashProgress.java
│ │ ├── addons
│ │ ├── AbstractAddon.java
│ │ ├── InternalAddons.java
│ │ ├── customcrosshair
│ │ │ ├── CustomCrosshairAddon.java
│ │ │ ├── command
│ │ │ │ └── CommandCustomCrosshair.java
│ │ │ ├── crosshair
│ │ │ │ └── CustomCrosshair.java
│ │ │ ├── gui
│ │ │ │ ├── CustomCrosshairScreen.java
│ │ │ │ ├── GuiCustomCrosshairEditColour.java
│ │ │ │ ├── GuiCustomCrosshairEditCrosshair.java
│ │ │ │ └── items
│ │ │ │ │ ├── CCButton.java
│ │ │ │ │ ├── CCCallback.java
│ │ │ │ │ ├── CCEditColourButton.java
│ │ │ │ │ ├── CCGuiItem.java
│ │ │ │ │ ├── CCHelpButton.java
│ │ │ │ │ ├── CCListDropBox.java
│ │ │ │ │ ├── CCPanel.java
│ │ │ │ │ ├── CCScrollbar.java
│ │ │ │ │ ├── CCSlider.java
│ │ │ │ │ └── CCTickbox.java
│ │ │ └── utils
│ │ │ │ ├── CustomCrosshairConfig.java
│ │ │ │ └── CustomCrosshairGraphics.java
│ │ ├── readme.md
│ │ └── sidebar
│ │ │ ├── SidebarAddon.java
│ │ │ ├── commands
│ │ │ └── CommandSidebar.java
│ │ │ ├── config
│ │ │ └── Configuration.java
│ │ │ └── gui
│ │ │ ├── GuiSidebar.java
│ │ │ └── screen
│ │ │ ├── GuiScreenBackground.java
│ │ │ ├── GuiScreenHelper.java
│ │ │ ├── GuiScreenSettings.java
│ │ │ └── GuiScreenSidebar.java
│ │ ├── commands
│ │ ├── BaseCommand.java
│ │ ├── CommandException.java
│ │ ├── CommandUsageException.java
│ │ ├── HyperiumCommandHandler.java
│ │ └── defaults
│ │ │ ├── CommandBossbarGui.java
│ │ │ ├── CommandClearChat.java
│ │ │ ├── CommandConfigGui.java
│ │ │ ├── CommandCoords.java
│ │ │ ├── CommandDebug.java
│ │ │ ├── CommandDisableCommand.java
│ │ │ ├── CommandGarbageCollect.java
│ │ │ ├── CommandGuild.java
│ │ │ ├── CommandKeybinds.java
│ │ │ ├── CommandLogs.java
│ │ │ ├── CommandMessage.java
│ │ │ ├── CommandNameHistory.java
│ │ │ ├── CommandParticleAuras.java
│ │ │ ├── CommandParty.java
│ │ │ ├── CommandPing.java
│ │ │ └── CommandStats.java
│ │ ├── config
│ │ ├── Category.java
│ │ ├── ConfigOpt.java
│ │ ├── DefaultConfig.java
│ │ ├── PostConfigHandler.java
│ │ ├── PreConfigHandler.java
│ │ ├── PreSaveHandler.java
│ │ ├── SelectorSetting.java
│ │ ├── Settings.java
│ │ ├── SliderSetting.java
│ │ └── ToggleSetting.java
│ │ ├── cosmetics
│ │ ├── AbstractCosmetic.java
│ │ ├── CosmeticsUtil.java
│ │ ├── HyperiumCosmetics.java
│ │ ├── butt
│ │ │ └── ButtCosmetic.java
│ │ ├── companions
│ │ │ ├── dragon
│ │ │ │ └── DragonCompanion.java
│ │ │ └── hamster
│ │ │ │ ├── EntityHamster.java
│ │ │ │ ├── HamsterCompanion.java
│ │ │ │ ├── HamsterModel.java
│ │ │ │ └── RenderHamster.java
│ │ ├── deadmau5
│ │ │ └── Deadmau5Cosmetic.java
│ │ ├── dragon
│ │ │ ├── DragonCosmetic.java
│ │ │ └── DragonHeadRenderer.java
│ │ ├── flip
│ │ │ └── FlipCosmetic.java
│ │ ├── hats
│ │ │ ├── CosmeticHat.java
│ │ │ ├── ModelHatFez.java
│ │ │ ├── ModelHatLego.java
│ │ │ └── ModelHatTophat.java
│ │ └── wings
│ │ │ ├── WingsCosmetic.java
│ │ │ └── WingsRenderer.java
│ │ ├── event
│ │ ├── CancellableEvent.java
│ │ ├── Event.java
│ │ ├── EventBus.java
│ │ ├── EventSubscriber.java
│ │ ├── InvokeEvent.java
│ │ ├── Priority.java
│ │ ├── client
│ │ │ ├── GameShutDownEvent.java
│ │ │ ├── InitializationEvent.java
│ │ │ ├── PreInitializationEvent.java
│ │ │ └── TickEvent.java
│ │ ├── entity
│ │ │ ├── ArrowShootEvent.java
│ │ │ ├── FovUpdateEvent.java
│ │ │ ├── KillEvent.java
│ │ │ ├── LivingDeathEvent.java
│ │ │ ├── PlayerAttackEntityEvent.java
│ │ │ └── PlayerSwingEvent.java
│ │ ├── gui
│ │ │ ├── GuiClickEvent.java
│ │ │ ├── GuiDrawScreenEvent.java
│ │ │ ├── GuiKeyTypedEvent.java
│ │ │ ├── GuiOpenEvent.java
│ │ │ └── InitGuiEvent.java
│ │ ├── interact
│ │ │ ├── ActionPerformedEvent.java
│ │ │ ├── KeyPressEvent.java
│ │ │ ├── KeyReleaseEvent.java
│ │ │ ├── LeftMouseClickEvent.java
│ │ │ ├── MouseButtonEvent.java
│ │ │ └── RightMouseClickEvent.java
│ │ ├── model
│ │ │ ├── CopyPlayerModelAnglesEvent.java
│ │ │ ├── PostCopyPlayerModelAnglesEvent.java
│ │ │ └── PreCopyPlayerModelAnglesEvent.java
│ │ ├── network
│ │ │ ├── PacketReceivedEvent.java
│ │ │ ├── PurchaseLoadEvent.java
│ │ │ ├── chat
│ │ │ │ ├── ChatEvent.java
│ │ │ │ ├── SendChatMessageEvent.java
│ │ │ │ └── ServerChatEvent.java
│ │ │ └── server
│ │ │ │ ├── ServerJoinEvent.java
│ │ │ │ ├── ServerLeaveEvent.java
│ │ │ │ ├── ServerSwitchEvent.java
│ │ │ │ ├── SingleplayerJoinEvent.java
│ │ │ │ └── hypixel
│ │ │ │ ├── AchievementGetEvent.java
│ │ │ │ ├── FriendRemoveEvent.java
│ │ │ │ ├── HypixelFriendRequestEvent.java
│ │ │ │ ├── HypixelGetCoinsEvent.java
│ │ │ │ ├── HypixelGetXPEvent.java
│ │ │ │ ├── HypixelPartyInviteEvent.java
│ │ │ │ ├── HypixelWinEvent.java
│ │ │ │ ├── JoinHypixelEvent.java
│ │ │ │ ├── JoinMinigameEvent.java
│ │ │ │ └── minigames
│ │ │ │ ├── Minigame.java
│ │ │ │ └── MinigameListener.java
│ │ ├── render
│ │ │ ├── DrawBlockHighlightEvent.java
│ │ │ ├── EntityRenderEvent.java
│ │ │ ├── RenderEntitiesEvent.java
│ │ │ ├── RenderEvent.java
│ │ │ ├── RenderGuiEvent.java
│ │ │ ├── RenderHUDEvent.java
│ │ │ ├── RenderNameTagEvent.java
│ │ │ ├── RenderPlayerEvent.java
│ │ │ ├── RenderScoreboardEvent.java
│ │ │ ├── RenderSelectedItemEvent.java
│ │ │ ├── RenderTickEvent.java
│ │ │ └── RenderWorldEvent.java
│ │ └── world
│ │ │ ├── EntityJoinWorldEvent.java
│ │ │ ├── SpawnpointChangeEvent.java
│ │ │ ├── WorldChangeEvent.java
│ │ │ ├── WorldLoadEvent.java
│ │ │ ├── WorldUnloadEvent.java
│ │ │ ├── audio
│ │ │ └── SoundPlayEvent.java
│ │ │ └── item
│ │ │ ├── ItemPickupEvent.java
│ │ │ ├── ItemTooltipEvent.java
│ │ │ └── ItemTossEvent.java
│ │ ├── gui
│ │ ├── BlurHandler.java
│ │ ├── CapesGui.java
│ │ ├── ChangeBackgroundGui.java
│ │ ├── ColourOptions.java
│ │ ├── ConfirmationPopup.java
│ │ ├── GuiAddonError.java
│ │ ├── GuiBlock.java
│ │ ├── GuiBoxItem.java
│ │ ├── GuiButtonIcon.java
│ │ ├── GuiConfirmDisconnect.java
│ │ ├── GuiConfirmQuit.java
│ │ ├── GuiDances.java
│ │ ├── GuiHyperiumCredits.java
│ │ ├── GuiHyperiumScreen.java
│ │ ├── GuiHyperiumScreenIngameMenu.java
│ │ ├── GuiHyperiumScreenMainMenu.java
│ │ ├── GuiHyperiumScreenTos.java
│ │ ├── GuiIngameMultiplayer.java
│ │ ├── HyperiumGui.java
│ │ ├── Icons.java
│ │ ├── MaterialTextField.java
│ │ ├── NameHistoryGui.java
│ │ ├── NotificationCenter.java
│ │ ├── ParticleGui.java
│ │ ├── ParticleOverlay.java
│ │ ├── ScissorState.java
│ │ ├── ScoreboardRenderer.java
│ │ ├── carousel
│ │ │ ├── CarouselItem.java
│ │ │ └── PurchaseCarousel.java
│ │ ├── hyperium
│ │ │ ├── HyperiumMainGui.java
│ │ │ ├── RGBFieldSet.java
│ │ │ ├── components
│ │ │ │ ├── AbstractTab.java
│ │ │ │ ├── AbstractTabComponent.java
│ │ │ │ ├── ButtonComponent.java
│ │ │ │ ├── CollapsibleTabComponent.java
│ │ │ │ ├── LabelComponent.java
│ │ │ │ ├── LinkComponent.java
│ │ │ │ ├── RGBComponent.java
│ │ │ │ ├── SelectorComponent.java
│ │ │ │ ├── SliderComponent.java
│ │ │ │ └── ToggleComponent.java
│ │ │ └── tabs
│ │ │ │ ├── SettingsTab.java
│ │ │ │ └── ShopTab.java
│ │ ├── integrations
│ │ │ └── HypixelFriendsGui.java
│ │ ├── keybinds
│ │ │ ├── GuiKeybinds.java
│ │ │ ├── KeybindButton.java
│ │ │ └── KeybindEntry.java
│ │ ├── main
│ │ │ ├── HyperiumOverlay.java
│ │ │ ├── ListCompatibilityHack.java
│ │ │ └── components
│ │ │ │ ├── OverlayComponent.java
│ │ │ │ └── OverlayToggle.java
│ │ ├── tips
│ │ │ └── TipRegistry.java
│ │ └── util
│ │ │ └── CreateServerButton.java
│ │ ├── handlers
│ │ ├── HyperiumHandlers.java
│ │ └── handlers
│ │ │ ├── BroadcastEvents.java
│ │ │ ├── CommandQueue.java
│ │ │ ├── FlipHandler.java
│ │ │ ├── GuiDisplayHandler.java
│ │ │ ├── HyperiumNetwork.java
│ │ │ ├── HypixelDetector.java
│ │ │ ├── LocationHandler.java
│ │ │ ├── OtherConfigOptions.java
│ │ │ ├── SettingsHandler.java
│ │ │ ├── SettingsMigrator.java
│ │ │ ├── StatusHandler.java
│ │ │ ├── animation
│ │ │ ├── AbstractAnimationHandler.java
│ │ │ ├── AbstractPostCopyAnglesAnimationHandler.java
│ │ │ ├── AbstractPreCopyAnglesAnimationHandler.java
│ │ │ ├── AnimatedDance.java
│ │ │ ├── AnimationFrame.java
│ │ │ ├── BodyPart.java
│ │ │ ├── DabHandler.java
│ │ │ ├── FlossDanceHandler.java
│ │ │ ├── TPoseHandler.java
│ │ │ ├── TwerkDance.java
│ │ │ ├── YeetHandler.java
│ │ │ └── cape
│ │ │ │ └── HyperiumCapeHandler.java
│ │ │ ├── chat
│ │ │ ├── DMChatHandler.java
│ │ │ ├── FriendRequestChatHandler.java
│ │ │ ├── GeneralChatHandler.java
│ │ │ ├── GuildChatHandler.java
│ │ │ ├── HyperiumChatHandler.java
│ │ │ ├── PartyInviteChatHandler.java
│ │ │ ├── QuestTrackingChatHandler.java
│ │ │ └── WinTrackingChatHandler.java
│ │ │ ├── data
│ │ │ ├── HypixelAPI.java
│ │ │ └── leaderboards
│ │ │ │ ├── Leaderboard.java
│ │ │ │ └── LeaderboardEntry.java
│ │ │ ├── fov
│ │ │ └── FovModifier.java
│ │ │ ├── hud
│ │ │ ├── Maps.java
│ │ │ ├── NetworkInfo.java
│ │ │ ├── TabCompletionUtil.java
│ │ │ └── VanillaEnhancementsHud.java
│ │ │ ├── hypixel
│ │ │ └── HypixelGuiAugmenter.java
│ │ │ ├── keybinds
│ │ │ ├── HyperiumBind.java
│ │ │ ├── KeyBindConfig.java
│ │ │ ├── KeyBindHandler.java
│ │ │ └── keybinds
│ │ │ │ ├── DabKeybind.java
│ │ │ │ ├── FlipKeybind.java
│ │ │ │ ├── FlossKeybind.java
│ │ │ │ ├── FriendsKeybind.java
│ │ │ │ ├── GuiDanceKeybind.java
│ │ │ │ ├── GuiKeybind.java
│ │ │ │ ├── HideLeatherKeybind.java
│ │ │ │ ├── NamesKeybind.java
│ │ │ │ ├── RearCamKeybind.java
│ │ │ │ ├── TPoseKeybind.java
│ │ │ │ ├── TogglePerspectiveKeybind.java
│ │ │ │ ├── ToggleSprintKeybind.java
│ │ │ │ ├── TwerkDanceKeybind.java
│ │ │ │ ├── UploadScreenshotKeybind.java
│ │ │ │ └── ViewStatsKeybind.java
│ │ │ ├── mixin
│ │ │ └── LayerDeadmau5HeadHandler.java
│ │ │ ├── particle
│ │ │ ├── AbstractAnimation.java
│ │ │ ├── EnumParticleType.java
│ │ │ ├── IParticle.java
│ │ │ ├── ParticleAura.java
│ │ │ ├── ParticleAuraHandler.java
│ │ │ ├── animations
│ │ │ │ ├── DoubleHelix.java
│ │ │ │ ├── DoubleTwirlAnimation.java
│ │ │ │ ├── ExplodeAnimation.java
│ │ │ │ ├── QuadTwirlAnimation.java
│ │ │ │ ├── StaticTrailAnimation.java
│ │ │ │ ├── TornadoAnimation.java
│ │ │ │ ├── TripleTwirlAnimation.java
│ │ │ │ └── VortexOfDoomAnimation.java
│ │ │ └── particle
│ │ │ │ ├── BlockCrackParticle.java
│ │ │ │ ├── CloudParticle.java
│ │ │ │ ├── CritParticle.java
│ │ │ │ ├── ExplosionParticle.java
│ │ │ │ ├── FireworkSparkParticle.java
│ │ │ │ ├── FlameParticle.java
│ │ │ │ ├── FootstepParticle.java
│ │ │ │ ├── HeartParticle.java
│ │ │ │ ├── ItemCrackParticle.java
│ │ │ │ ├── LavaDripParticle.java
│ │ │ │ ├── LavaParticle.java
│ │ │ │ ├── NoteParticle.java
│ │ │ │ ├── PortalParticle.java
│ │ │ │ ├── RedstoneParticle.java
│ │ │ │ ├── SlimeParticle.java
│ │ │ │ ├── SmokeLargeParticle.java
│ │ │ │ ├── SmokeNormalParticle.java
│ │ │ │ ├── SnowShovelParticle.java
│ │ │ │ ├── SnowballParticle.java
│ │ │ │ ├── SpellInstantParticle.java
│ │ │ │ ├── SpellMobAmbientParticle.java
│ │ │ │ ├── SpellMobParticle.java
│ │ │ │ ├── SpellParticle.java
│ │ │ │ ├── SpellWitchParticle.java
│ │ │ │ ├── SuspendedDepthParticle.java
│ │ │ │ ├── SuspendedParticle.java
│ │ │ │ ├── TownAuraParticle.java
│ │ │ │ ├── VillagerAngryParticle.java
│ │ │ │ ├── VillagerHappyParticle.java
│ │ │ │ ├── WaterBubbleParticle.java
│ │ │ │ ├── WaterDripParticle.java
│ │ │ │ └── WaterDropParticle.java
│ │ │ ├── purchase
│ │ │ └── ChargebackStopper.java
│ │ │ ├── reach
│ │ │ └── ReachDisplay.java
│ │ │ └── stats
│ │ │ ├── AbstractHypixelStats.java
│ │ │ ├── GuildStatsGui.java
│ │ │ ├── PlayerStatsGui.java
│ │ │ ├── StatsHandler.java
│ │ │ ├── display
│ │ │ ├── DisplayLine.java
│ │ │ ├── DisplayTable.java
│ │ │ └── StatsDisplayItem.java
│ │ │ └── fields
│ │ │ ├── ArcadeStats.java
│ │ │ ├── ArenaStats.java
│ │ │ ├── BedWarsStats.java
│ │ │ ├── BlitzStats.java
│ │ │ ├── BuildBattleStats.java
│ │ │ ├── CVCStats.java
│ │ │ ├── CrazyWallsStats.java
│ │ │ ├── DuelsStats.java
│ │ │ ├── GeneralStats.java
│ │ │ ├── MegaWallsStats.java
│ │ │ ├── MurderMysteryStats.java
│ │ │ ├── PaintballStats.java
│ │ │ ├── QuakecraftStats.java
│ │ │ ├── SkyClashStats.java
│ │ │ ├── SkyWarsStats.java
│ │ │ ├── SmashHeroesStats.java
│ │ │ ├── SpeedUHCStats.java
│ │ │ ├── TKRStats.java
│ │ │ ├── TNTGamesStats.java
│ │ │ ├── UHCStats.java
│ │ │ ├── VampireZStats.java
│ │ │ ├── WallsStats.java
│ │ │ └── WarlordsStats.java
│ │ ├── integrations
│ │ └── watchdog
│ │ │ └── ThankWatchdog.java
│ │ ├── internal
│ │ ├── MemoryHelper.java
│ │ ├── UpdateChecker.java
│ │ └── addons
│ │ │ ├── IAddon.java
│ │ │ └── OverlayChecker.java
│ │ ├── launch
│ │ └── HyperiumTweaker.java
│ │ ├── mixins
│ │ ├── block
│ │ │ └── MixinBlockGlass.java
│ │ ├── client
│ │ │ ├── MixinClientBrand.java
│ │ │ ├── MixinLoadingScreenRenderer.java
│ │ │ ├── MixinMinecraft.java
│ │ │ ├── audio
│ │ │ │ └── MixinSoundManager.java
│ │ │ ├── entity
│ │ │ │ ├── IMixinAbstractClientPlayer.java
│ │ │ │ ├── MixinAbstractClientPlayer.java
│ │ │ │ └── MixinEntityPlayerSP.java
│ │ │ ├── gui
│ │ │ │ ├── IMixinGui.java
│ │ │ │ ├── IMixinGuiButton.java
│ │ │ │ ├── IMixinGuiChat.java
│ │ │ │ ├── IMixinGuiNewChat.java
│ │ │ │ ├── IMixinGuiPlayerTabOverlay.java
│ │ │ │ ├── IMixinGuiScreen.java
│ │ │ │ ├── IMixinGuiScreenBook.java
│ │ │ │ ├── MixinFontRenderer.java
│ │ │ │ ├── MixinGuiButton.java
│ │ │ │ ├── MixinGuiChat.java
│ │ │ │ ├── MixinGuiControls.java
│ │ │ │ ├── MixinGuiDisconnecting.java
│ │ │ │ ├── MixinGuiGameOver.java
│ │ │ │ ├── MixinGuiIngame.java
│ │ │ │ ├── MixinGuiIngameMenu.java
│ │ │ │ ├── MixinGuiMainMenu.java
│ │ │ │ ├── MixinGuiMultiplayer.java
│ │ │ │ ├── MixinGuiNewChat.java
│ │ │ │ ├── MixinGuiOptions.java
│ │ │ │ ├── MixinGuiOverlayDebug.java
│ │ │ │ ├── MixinGuiPlayerTabOverlay.java
│ │ │ │ ├── MixinGuiScreen.java
│ │ │ │ ├── MixinGuiScreenResourcePacks.java
│ │ │ │ ├── MixinGuiUtilRenderComponents.java
│ │ │ │ ├── achievement
│ │ │ │ │ └── MixinGuiAchievement.java
│ │ │ │ └── inventory
│ │ │ │ │ ├── IMixinGuiContainer.java
│ │ │ │ │ ├── MixinGuiContainer.java
│ │ │ │ │ ├── MixinGuiEditSign.java
│ │ │ │ │ └── MixinGuiInventory.java
│ │ │ ├── model
│ │ │ │ ├── MixinModelBiped.java
│ │ │ │ ├── MixinModelBox.java
│ │ │ │ ├── MixinModelPlayer.java
│ │ │ │ └── MixinModelRenderer.java
│ │ │ ├── multiplayer
│ │ │ │ ├── MixinGuiConnecting.java
│ │ │ │ └── MixinServerList.java
│ │ │ ├── network
│ │ │ │ ├── IMixinNetworkPlayerInfo.java
│ │ │ │ ├── MixinNetHandlerPlayClient.java
│ │ │ │ └── MixinNetworkPlayerInfo.java
│ │ │ ├── particle
│ │ │ │ ├── IMixinEntityFX.java
│ │ │ │ └── MixinEffectRenderer.java
│ │ │ ├── renderer
│ │ │ │ ├── IMixinEntityRenderer.java
│ │ │ │ ├── IMixinInventoryEffectRenderer.java
│ │ │ │ ├── IMixinItemRenderer.java
│ │ │ │ ├── IMixinThreadDownloadImageData.java
│ │ │ │ ├── MixinChunkRenderContainer.java
│ │ │ │ ├── MixinEntityRenderer.java
│ │ │ │ ├── MixinInventoryEffectRenderer.java
│ │ │ │ ├── MixinItemRenderer.java
│ │ │ │ ├── MixinRenderGlobal.java
│ │ │ │ ├── MixinThreadDownloadImageData.java
│ │ │ │ ├── chunk
│ │ │ │ │ └── MixinRenderChunk.java
│ │ │ │ ├── entity
│ │ │ │ │ ├── IMixinRender.java
│ │ │ │ │ ├── IMixinRenderItem.java
│ │ │ │ │ ├── IMixinRenderItem2.java
│ │ │ │ │ ├── IMixinRendererLivingEntity.java
│ │ │ │ │ ├── MixinRender.java
│ │ │ │ │ ├── MixinRenderEntityItem.java
│ │ │ │ │ ├── MixinRenderFish.java
│ │ │ │ │ ├── MixinRenderItem.java
│ │ │ │ │ ├── MixinRenderLightningBolt.java
│ │ │ │ │ ├── MixinRenderManger.java
│ │ │ │ │ ├── MixinRenderPlayer.java
│ │ │ │ │ ├── MixinRendererLivingEntity.java
│ │ │ │ │ └── layers
│ │ │ │ │ │ ├── MixinLayerArmorBase.java
│ │ │ │ │ │ ├── MixinLayerCape.java
│ │ │ │ │ │ ├── MixinLayerDeadmau5Head.java
│ │ │ │ │ │ └── MixinLayerHeldItem.java
│ │ │ │ ├── texture
│ │ │ │ │ ├── IMixinTextureManager.java
│ │ │ │ │ └── MixinTextureManager.java
│ │ │ │ └── tileentity
│ │ │ │ │ ├── MixinRenderItemFrame.java
│ │ │ │ │ └── MixinTileEntityEndPortalRenderer.java
│ │ │ ├── resources
│ │ │ │ ├── IMixinAbstractResourcePack.java
│ │ │ │ ├── IMixinResourcePackListEntry.java
│ │ │ │ ├── MixinAbstractResourcePack.java
│ │ │ │ ├── MixinLocale.java
│ │ │ │ └── MixinResourcePackRepository.java
│ │ │ └── settings
│ │ │ │ ├── IMixinKeyBinding.java
│ │ │ │ └── MixinGameSettings.java
│ │ ├── crash
│ │ │ └── MixinCrashReport.java
│ │ ├── enchantment
│ │ │ └── MixinEnchantment.java
│ │ ├── entity
│ │ │ ├── IMixinEntity.java
│ │ │ ├── MixinEntity.java
│ │ │ ├── MixinEntityLivingBase.java
│ │ │ ├── item
│ │ │ │ └── MixinEntityItem.java
│ │ │ └── player
│ │ │ │ ├── MixinEntityPlayer.java
│ │ │ │ └── MixinEntityPlayerMP.java
│ │ ├── item
│ │ │ ├── MixinItemBow.java
│ │ │ └── MixinItemStack.java
│ │ ├── nbt
│ │ │ ├── MixinNBTTagCompound.java
│ │ │ └── MixinNBTUtil.java
│ │ ├── network
│ │ │ ├── MixinNetworkManager.java
│ │ │ └── play
│ │ │ │ ├── client
│ │ │ │ └── MixinC01PacketChatMessage.java
│ │ │ │ └── server
│ │ │ │ ├── MixinS14PacketEntity.java
│ │ │ │ ├── MixinS19PacketEntityHeadLook.java
│ │ │ │ ├── MixinS19PacketEntityStatus.java
│ │ │ │ └── MixinS2EPacketCloseWindow.java
│ │ ├── scoreboard
│ │ │ └── MixinScoreboard.java
│ │ ├── server
│ │ │ └── MixinMinecraftServer.java
│ │ ├── util
│ │ │ ├── MixinChatComponentStyle.java
│ │ │ ├── MixinChatStyle.java
│ │ │ ├── MixinMouseHelper.java
│ │ │ ├── MixinMultiMap.java
│ │ │ └── MixinScreenShotHelper.java
│ │ └── world
│ │ │ ├── IMixinWorld.java
│ │ │ ├── MixinWorld.java
│ │ │ ├── chunk
│ │ │ └── MixinChunk.java
│ │ │ └── gen
│ │ │ └── feature
│ │ │ └── MixinWorldGenBigTree.java
│ │ ├── mixinsimp
│ │ ├── client
│ │ │ ├── HyperiumClientBrand.java
│ │ │ ├── HyperiumMinecraft.java
│ │ │ ├── audio
│ │ │ │ └── HyperiumSoundManager.java
│ │ │ ├── gui
│ │ │ │ ├── HyperiumGuiChat.java
│ │ │ │ ├── HyperiumGuiControls.java
│ │ │ │ ├── HyperiumGuiIngame.java
│ │ │ │ ├── HyperiumGuiMainMenu.java
│ │ │ │ ├── HyperiumGuiNewChat.java
│ │ │ │ ├── HyperiumGuiOptions.java
│ │ │ │ ├── HyperiumGuiPlayerTabOverlay.java
│ │ │ │ ├── HyperiumGuiScreen.java
│ │ │ │ ├── HyperiumGuiScreenResourcePacks.java
│ │ │ │ ├── HyperiumGuiUtilRenderComponents.java
│ │ │ │ ├── IMixinGuiMultiplayer.java
│ │ │ │ └── inventory
│ │ │ │ │ └── HyperiumGuiContainer.java
│ │ │ ├── model
│ │ │ │ ├── IMixinModelBiped.java
│ │ │ │ ├── IMixinModelBox.java
│ │ │ │ ├── IMixinModelPlayer.java
│ │ │ │ └── IMixinModelRenderer.java
│ │ │ ├── multiplayer
│ │ │ │ └── HyperiumServerList.java
│ │ │ ├── particle
│ │ │ │ └── IMixinEffectRenderer.java
│ │ │ ├── renderer
│ │ │ │ ├── HyperiumChunkRendererContainer.java
│ │ │ │ ├── HyperiumEntityRenderer.java
│ │ │ │ ├── HyperiumInventoryEffectRenderer.java
│ │ │ │ ├── HyperiumItemRenderer.java
│ │ │ │ ├── chunk
│ │ │ │ │ └── HyperiumRenderChunk.java
│ │ │ │ └── entity
│ │ │ │ │ ├── HyperiumRender.java
│ │ │ │ │ ├── HyperiumRenderItem.java
│ │ │ │ │ ├── HyperiumRenderPlayer.java
│ │ │ │ │ ├── HyperiumRendererLivingEntity.java
│ │ │ │ │ ├── IMixinRenderManager.java
│ │ │ │ │ ├── TwoPartLayerBipedArmor.java
│ │ │ │ │ └── layers
│ │ │ │ │ └── HyperiumLayerCape.java
│ │ │ ├── resources
│ │ │ │ ├── HyperiumAbstractResourcePack.java
│ │ │ │ ├── HyperiumLocale.java
│ │ │ │ └── HyperiumResourcePackRepository.java
│ │ │ └── settings
│ │ │ │ └── HyperiumGameSettings.java
│ │ ├── crash
│ │ │ └── HyperiumCrashReport.java
│ │ ├── enchantment
│ │ │ └── HyperiumEnchantment.java
│ │ ├── entity
│ │ │ ├── HyperiumEntity.java
│ │ │ ├── HyperiumEntityLivingBase.java
│ │ │ └── player
│ │ │ │ ├── HyperiumEntityPlayer.java
│ │ │ │ ├── HyperiumEntityPlayerMP.java
│ │ │ │ └── IMixinEntityPlayer.java
│ │ ├── scoreboard
│ │ │ └── HyperiumScoreboard.java
│ │ ├── util
│ │ │ ├── HyperiumChatComponentStyle.java
│ │ │ ├── HyperiumChatStyle.java
│ │ │ └── HyperiumScreenshotHelper.java
│ │ └── world
│ │ │ └── HyperiumWorld.java
│ │ ├── mods
│ │ ├── AbstractMod.java
│ │ ├── HyperiumModIntegration.java
│ │ ├── autogg
│ │ │ ├── AutoGG.java
│ │ │ ├── AutoGGListener.java
│ │ │ ├── commands
│ │ │ │ └── GGCommand.java
│ │ │ └── config
│ │ │ │ └── AutoGGConfig.java
│ │ ├── blockoverlay
│ │ │ ├── BlockOverlay.java
│ │ │ ├── BlockOverlayColor.java
│ │ │ ├── BlockOverlayCommand.java
│ │ │ ├── BlockOverlayGui.java
│ │ │ ├── BlockOverlayMode.java
│ │ │ ├── BlockOverlayRender.java
│ │ │ └── BlockOverlaySettings.java
│ │ ├── bossbar
│ │ │ └── BossbarGui.java
│ │ ├── chromahud
│ │ │ ├── ChromaHUD.java
│ │ │ ├── ChromaHUDApi.java
│ │ │ ├── DefaultChromaHUDParser.java
│ │ │ ├── DisplayElement.java
│ │ │ ├── ElementRenderer.java
│ │ │ ├── HyperiumChromaHudParser.java
│ │ │ ├── NumberUtil.java
│ │ │ ├── api
│ │ │ │ ├── ButtonConfig.java
│ │ │ │ ├── ChromaHUDDescription.java
│ │ │ │ ├── ChromaHUDParser.java
│ │ │ │ ├── Dimension.java
│ │ │ │ ├── DisplayItem.java
│ │ │ │ ├── StringConfig.java
│ │ │ │ └── TextConfig.java
│ │ │ ├── commands
│ │ │ │ └── CommandChromaHUD.java
│ │ │ ├── displayitems
│ │ │ │ ├── chromahud
│ │ │ │ │ ├── ArmourHud.java
│ │ │ │ │ ├── ArrowCount.java
│ │ │ │ │ ├── CCounter.java
│ │ │ │ │ ├── CordsDisplay.java
│ │ │ │ │ ├── CpsDisplay.java
│ │ │ │ │ ├── DirectionHUD.java
│ │ │ │ │ ├── FPS.java
│ │ │ │ │ ├── PingDisplay.java
│ │ │ │ │ ├── PotionEffects.java
│ │ │ │ │ ├── TextItem.java
│ │ │ │ │ └── TimeHud.java
│ │ │ │ └── hyperium
│ │ │ │ │ ├── CoinsDisplay.java
│ │ │ │ │ ├── DoubleCPSDisplay.java
│ │ │ │ │ ├── HyperiumInfoDisplay.java
│ │ │ │ │ ├── HypixelDisplay.java
│ │ │ │ │ ├── LocationDisplay.java
│ │ │ │ │ ├── MemoryDisplay.java
│ │ │ │ │ ├── PlayerDisplay.java
│ │ │ │ │ ├── ReachDisplay.java
│ │ │ │ │ ├── ScoreboardDisplay.java
│ │ │ │ │ └── ToggleSprintStatus.java
│ │ │ └── gui
│ │ │ │ ├── AddItemsGui.java
│ │ │ │ ├── DisplayElementConfig.java
│ │ │ │ ├── EditItemsGui.java
│ │ │ │ ├── GeneralConfigGui.java
│ │ │ │ └── MoveElementGui.java
│ │ ├── chunkanimator
│ │ │ ├── AnimationHandler.java
│ │ │ ├── ChunkAnimator.java
│ │ │ └── ChunkAnimatorConfig.java
│ │ ├── common
│ │ │ ├── PerspectiveModifierHandler.java
│ │ │ ├── SoundHandler.java
│ │ │ └── ToggleSprintContainer.java
│ │ ├── discord
│ │ │ ├── DiscordPresence.java
│ │ │ └── RPCUpdater.java
│ │ ├── entityradius
│ │ │ └── EntityRadius.java
│ │ ├── glintcolorizer
│ │ │ ├── Colors.java
│ │ │ └── GlintColorizer.java
│ │ ├── itemphysic
│ │ │ ├── EventHandlerLite.java
│ │ │ ├── ItemDummyContainer.java
│ │ │ ├── ItemPhysicMod.java
│ │ │ └── physics
│ │ │ │ └── ClientPhysic.java
│ │ ├── keystrokes
│ │ │ ├── CommandKeystrokes.java
│ │ │ ├── KeystrokesMod.java
│ │ │ ├── config
│ │ │ │ └── KeystrokesSettings.java
│ │ │ ├── keys
│ │ │ │ ├── AbstractKey.java
│ │ │ │ └── impl
│ │ │ │ │ ├── CPSKey.java
│ │ │ │ │ ├── CustomKey.java
│ │ │ │ │ ├── FPSKey.java
│ │ │ │ │ ├── Key.java
│ │ │ │ │ ├── MouseButton.java
│ │ │ │ │ └── SpaceKey.java
│ │ │ ├── render
│ │ │ │ ├── CustomKeyWrapper.java
│ │ │ │ └── KeystrokesRenderer.java
│ │ │ └── screen
│ │ │ │ ├── GuiScreenBackgroundColor.java
│ │ │ │ ├── GuiScreenColor.java
│ │ │ │ ├── GuiScreenEditKeys.java
│ │ │ │ ├── GuiScreenKeystrokes.java
│ │ │ │ ├── IScreen.java
│ │ │ │ ├── IScrollable.java
│ │ │ │ └── impl
│ │ │ │ ├── GuiSliderFadeTime.java
│ │ │ │ ├── GuiSliderOpacity.java
│ │ │ │ └── GuiSliderScale.java
│ │ ├── levelhead
│ │ │ ├── Levelhead.java
│ │ │ ├── auth
│ │ │ │ └── MojangAuth.java
│ │ │ ├── command
│ │ │ │ ├── CustomLevelheadCommand.java
│ │ │ │ └── LevelheadCommand.java
│ │ │ ├── config
│ │ │ │ └── MasterConfig.java
│ │ │ ├── display
│ │ │ │ ├── AboveHeadDisplay.java
│ │ │ │ ├── ChatDisplay.java
│ │ │ │ ├── DisplayConfig.java
│ │ │ │ ├── DisplayManager.java
│ │ │ │ ├── DisplayPosition.java
│ │ │ │ ├── LevelheadDisplay.java
│ │ │ │ └── TabDisplay.java
│ │ │ ├── guis
│ │ │ │ ├── CustomLevelheadConfigurer.java
│ │ │ │ └── LevelheadGui.java
│ │ │ ├── purchases
│ │ │ │ └── LevelheadPurchaseStates.java
│ │ │ ├── renderer
│ │ │ │ ├── AboveHeadRenderer.java
│ │ │ │ ├── LevelheadChatRenderer.java
│ │ │ │ ├── LevelheadComponent.java
│ │ │ │ ├── LevelheadTag.java
│ │ │ │ └── NullLevelheadTag.java
│ │ │ └── util
│ │ │ │ └── LevelheadJsonHolder.java
│ │ ├── motionblur
│ │ │ ├── MotionBlurCommand.java
│ │ │ ├── MotionBlurMod.java
│ │ │ └── resource
│ │ │ │ ├── MotionBlurResource.java
│ │ │ │ └── MotionBlurResourceManager.java
│ │ ├── myposition
│ │ │ └── MyPosition.java
│ │ ├── nickhider
│ │ │ ├── NickHider.java
│ │ │ ├── command
│ │ │ │ └── CommandNickHider.java
│ │ │ └── config
│ │ │ │ └── NickHiderConfig.java
│ │ ├── oldanimations
│ │ │ ├── AnimationEventHandler.java
│ │ │ ├── OldAnimations.java
│ │ │ └── OldBlocking.java
│ │ ├── sk1ercommon
│ │ │ ├── GenKeyCallback.java
│ │ │ ├── Multithreading.java
│ │ │ ├── ResolutionUtil.java
│ │ │ └── Sk1erMod.java
│ │ ├── statistics
│ │ │ └── GeneralStatisticsTracking.java
│ │ ├── timechanger
│ │ │ ├── TimeChanger.java
│ │ │ └── commands
│ │ │ │ ├── CommandTimeChangerDay.java
│ │ │ │ ├── CommandTimeChangerFastTime.java
│ │ │ │ ├── CommandTimeChangerNight.java
│ │ │ │ ├── CommandTimeChangerReset.java
│ │ │ │ └── CommandTimeChangerSunset.java
│ │ └── togglechat
│ │ │ ├── ToggleChatEvents.java
│ │ │ ├── ToggleChatMod.java
│ │ │ ├── commands
│ │ │ └── CommandToggleChat.java
│ │ │ ├── config
│ │ │ └── ToggleChatConfig.java
│ │ │ ├── gui
│ │ │ └── ToggleChatMainGui.java
│ │ │ └── toggles
│ │ │ ├── ToggleBase.java
│ │ │ ├── ToggleBaseHandler.java
│ │ │ └── defaults
│ │ │ ├── TypeAds.java
│ │ │ ├── TypeAfterGift.java
│ │ │ ├── TypeBoop.java
│ │ │ ├── TypeBuildBattle.java
│ │ │ ├── TypeColored.java
│ │ │ ├── TypeEasy.java
│ │ │ ├── TypeFriendRequests.java
│ │ │ ├── TypeGlobal.java
│ │ │ ├── TypeGuild.java
│ │ │ ├── TypeHousing.java
│ │ │ ├── TypeJoin.java
│ │ │ ├── TypeLeave.java
│ │ │ ├── TypeLobbyJoin.java
│ │ │ ├── TypeMessageSeparator.java
│ │ │ ├── TypeMessages.java
│ │ │ ├── TypeMysteryBox.java
│ │ │ ├── TypeOfficer.java
│ │ │ ├── TypeParty.java
│ │ │ ├── TypePartyInvites.java
│ │ │ ├── TypeShout.java
│ │ │ ├── TypeSoulWell.java
│ │ │ ├── TypeSpecial.java
│ │ │ ├── TypeSpectator.java
│ │ │ └── TypeTeam.java
│ │ ├── network
│ │ ├── LoginReplyHandler.java
│ │ └── NetworkHandler.java
│ │ ├── purchases
│ │ ├── AbstractHyperiumPurchase.java
│ │ ├── DefaultCosmetic.java
│ │ ├── EnumPurchaseType.java
│ │ ├── HyperiumPurchase.java
│ │ ├── PurchaseApi.java
│ │ ├── PurchaseSettings.java
│ │ └── packages
│ │ │ ├── DragonHeadCosmetic.java
│ │ │ ├── EarsCosmetic.java
│ │ │ ├── FlipCosmeticPackage.java
│ │ │ ├── ParticleBackgroundCosmetic.java
│ │ │ └── WingCosmetic.java
│ │ └── utils
│ │ ├── AddonWorkspaceResourcePack.java
│ │ ├── BetterJsonObject.java
│ │ ├── ChatColor.java
│ │ ├── ChatUtil.java
│ │ ├── GlStateModifier.java
│ │ ├── GraphicsUtil.java
│ │ ├── HyperiumCapeUtils.java
│ │ ├── HyperiumFontRenderer.java
│ │ ├── IGlStateModifier.java
│ │ ├── MouseListener.java
│ │ ├── RenderUtils.java
│ │ ├── SimpleAnimValue.java
│ │ ├── StaffUtils.java
│ │ ├── UUIDUtil.java
│ │ ├── UpdateUtils.java
│ │ ├── Utils.java
│ │ ├── VersionAPIUtils.java
│ │ ├── mods
│ │ ├── AddonCheckerUtil.java
│ │ ├── AsyncScreenshotSaver.java
│ │ ├── CompactChat.java
│ │ ├── FPSLimiter.java
│ │ └── ImgurUploader.java
│ │ └── staff
│ │ └── StaffSettings.java
├── club
│ └── sk1er
│ │ └── website
│ │ ├── Pet.java
│ │ ├── api
│ │ └── requests
│ │ │ ├── HypixelApiFriendObject.java
│ │ │ ├── HypixelApiFriends.java
│ │ │ ├── HypixelApiGuild.java
│ │ │ ├── HypixelApiObject.java
│ │ │ └── HypixelApiPlayer.java
│ │ └── utils
│ │ └── WebsiteUtils.java
├── com
│ └── chattriggers
│ │ └── ctjs
│ │ └── loader
│ │ └── UriScheme.java
├── me
│ └── semx11
│ │ └── autotip
│ │ ├── Autotip.java
│ │ ├── api
│ │ ├── GetBuilder.java
│ │ ├── RequestHandler.java
│ │ ├── RequestType.java
│ │ ├── SessionKey.java
│ │ ├── reply
│ │ │ ├── Reply.java
│ │ │ └── impl
│ │ │ │ ├── KeepAliveReply.java
│ │ │ │ ├── LocaleReply.java
│ │ │ │ ├── LoginReply.java
│ │ │ │ ├── LogoutReply.java
│ │ │ │ ├── SettingsReply.java
│ │ │ │ └── TipReply.java
│ │ └── request
│ │ │ ├── Request.java
│ │ │ └── impl
│ │ │ ├── KeepAliveRequest.java
│ │ │ ├── LocaleRequest.java
│ │ │ ├── LoginRequest.java
│ │ │ ├── LogoutRequest.java
│ │ │ ├── SettingsRequest.java
│ │ │ └── TipRequest.java
│ │ ├── chat
│ │ ├── ChatComponentBuilder.java
│ │ ├── KeyHelper.java
│ │ ├── LocaleHolder.java
│ │ ├── MessageOption.java
│ │ └── MessageUtil.java
│ │ ├── command
│ │ ├── CommandAbstract.java
│ │ └── impl
│ │ │ ├── CommandAutotip.java
│ │ │ └── CommandLimbo.java
│ │ ├── config
│ │ ├── Config.java
│ │ └── GlobalSettings.java
│ │ ├── core
│ │ ├── MigrationManager.java
│ │ ├── SessionManager.java
│ │ ├── StatsManager.java
│ │ └── TaskManager.java
│ │ ├── event
│ │ ├── Event.java
│ │ └── impl
│ │ │ ├── EventChatReceived.java
│ │ │ ├── EventClientConnection.java
│ │ │ └── EventClientTick.java
│ │ ├── gson
│ │ ├── adapter
│ │ │ ├── TypeAdapter.java
│ │ │ └── impl
│ │ │ │ ├── LocaleAdapter.java
│ │ │ │ ├── PatternAdapter.java
│ │ │ │ ├── SessionKeyAdapter.java
│ │ │ │ └── VersionAdapter.java
│ │ ├── creator
│ │ │ ├── ConfigCreator.java
│ │ │ ├── StatsDailyCreator.java
│ │ │ └── StatsMessageCreator.java
│ │ └── exclusion
│ │ │ ├── AnnotationExclusionStrategy.java
│ │ │ └── Exclude.java
│ │ ├── message
│ │ ├── HoverMessage.java
│ │ ├── HoverMessageMatcher.java
│ │ ├── Message.java
│ │ ├── MessageMatcher.java
│ │ ├── StatsMessage.java
│ │ ├── StatsMessageMatcher.java
│ │ └── StatsType.java
│ │ ├── stats
│ │ ├── Coins.java
│ │ ├── Stats.java
│ │ ├── StatsDaily.java
│ │ └── StatsRange.java
│ │ ├── universal
│ │ ├── ReflectionUtil.java
│ │ └── UniversalUtil.java
│ │ └── util
│ │ ├── ErrorReport.java
│ │ ├── FileUtil.java
│ │ ├── HashUtil.java
│ │ ├── MinecraftVersion.java
│ │ ├── StringUtil.java
│ │ ├── Version.java
│ │ └── VersionInfo.java
└── net
│ ├── hypixel
│ └── api
│ │ ├── GameType.java
│ │ └── util
│ │ └── ILeveling.java
│ └── minecraftforge
│ └── fml
│ └── client
│ └── config
│ ├── GuiButtonExt.java
│ ├── GuiSlider.java
│ └── GuiUtils.java
├── kotlin
├── cc
│ └── hyperium
│ │ ├── Metadata.kt
│ │ ├── gui
│ │ └── main
│ │ │ └── components
│ │ │ ├── OverlayButton.kt
│ │ │ ├── OverlayLabel.kt
│ │ │ ├── OverlaySelector.kt
│ │ │ └── OverlaySlider.kt
│ │ └── internal
│ │ └── addons
│ │ ├── AddonBootstrap.kt
│ │ ├── AddonManifest.kt
│ │ ├── AddonMinecraftBootstrap.kt
│ │ ├── annotations
│ │ └── Instance.kt
│ │ ├── misc
│ │ ├── AddonLoadException.kt
│ │ └── AddonManifestParser.kt
│ │ ├── strategy
│ │ ├── AddonLoaderStrategy.kt
│ │ ├── DefaultAddonLoader.kt
│ │ └── WorkspaceAddonLoader.kt
│ │ └── translate
│ │ ├── AbstractTranslator.kt
│ │ ├── ITranslator.kt
│ │ ├── InstanceTranslator.kt
│ │ ├── MixinTranslator.kt
│ │ └── TransformerTranslator.kt
└── com
│ └── chattriggers
│ └── ctjs
│ ├── CTJS.kt
│ ├── Reference.kt
│ ├── commands
│ ├── CTCommand.kt
│ ├── Command.kt
│ └── CommandHandler.kt
│ ├── engine
│ ├── DefaultLoader.kt
│ ├── ILoader.kt
│ ├── IRegister.kt
│ ├── ModuleManager.kt
│ ├── langs
│ │ └── js
│ │ │ ├── Impl.kt
│ │ │ └── JSLoader.kt
│ └── module
│ │ ├── Module.kt
│ │ ├── ModuleMetadata.kt
│ │ └── ModulesGui.kt
│ ├── minecraft
│ ├── libs
│ │ ├── ChatLib.kt
│ │ ├── EventLib.kt
│ │ ├── FileLib.kt
│ │ ├── MathLib.kt
│ │ ├── Tessellator.kt
│ │ ├── XMLHttpRequest.kt
│ │ └── renderer
│ │ │ ├── Image.kt
│ │ │ ├── Rectangle.kt
│ │ │ ├── Renderer.kt
│ │ │ ├── Shape.kt
│ │ │ └── Text.kt
│ ├── listeners
│ │ ├── ChatListener.kt
│ │ ├── ClientListener.kt
│ │ └── WorldListener.kt
│ ├── objects
│ │ ├── Book.kt
│ │ ├── KeyBind.kt
│ │ ├── ParticleEffect.kt
│ │ ├── Sound.kt
│ │ ├── display
│ │ │ ├── Display.kt
│ │ │ ├── DisplayHandler.kt
│ │ │ └── DisplayLine.kt
│ │ ├── gui
│ │ │ ├── Gui.kt
│ │ │ └── GuiHandler.kt
│ │ └── message
│ │ │ ├── Message.kt
│ │ │ └── TextComponent.kt
│ └── wrappers
│ │ ├── CPS.kt
│ │ ├── Client.kt
│ │ ├── Player.kt
│ │ ├── Scoreboard.kt
│ │ ├── Server.kt
│ │ ├── TabList.kt
│ │ ├── World.kt
│ │ └── objects
│ │ ├── Chunk.kt
│ │ ├── Entity.kt
│ │ ├── Particle.kt
│ │ ├── PlayerMP.kt
│ │ ├── PotionEffect.kt
│ │ ├── block
│ │ ├── Block.kt
│ │ └── Sign.kt
│ │ ├── inventory
│ │ ├── Inventory.kt
│ │ ├── Item.kt
│ │ └── action
│ │ │ ├── Action.kt
│ │ │ ├── ClickAction.kt
│ │ │ ├── DragAction.kt
│ │ │ ├── DropAction.kt
│ │ │ └── KeyAction.kt
│ │ └── threading
│ │ ├── ThreadHandler.kt
│ │ └── WrappedThread.kt
│ ├── triggers
│ ├── OnChatTrigger.kt
│ ├── OnCommandTrigger.kt
│ ├── OnRegularTrigger.kt
│ ├── OnRenderTrigger.kt
│ ├── OnSoundPlayTrigger.kt
│ ├── OnStepTrigger.kt
│ ├── OnTrigger.kt
│ └── TriggerType.kt
│ └── utils
│ ├── Cancellable.kt
│ ├── UriScheme.kt
│ ├── Utils.kt
│ ├── capes
│ ├── CapeHandler.kt
│ └── LayerCape.kt
│ ├── config
│ ├── Config.kt
│ ├── ConfigAnnotations.kt
│ ├── ConfigBoolean.kt
│ ├── ConfigColor.kt
│ ├── ConfigOption.kt
│ ├── ConfigString.kt
│ ├── ConfigStringSelector.kt
│ ├── GuiConfig.kt
│ └── IconHandler.kt
│ ├── console
│ ├── Console.kt
│ └── TextAreaOutputStream.kt
│ └── kotlin
│ ├── Annotations.kt
│ ├── Extensions.kt
│ └── TypeAliases.kt
└── resources
├── UriScheme.class
├── assets
├── hyperium
│ ├── fonts
│ │ ├── Montserrat-Regular.ttf
│ │ ├── Raleway-SemiBold.ttf
│ │ ├── Roboto-Medium.ttf
│ │ ├── Roboto-Regular.ttf
│ │ ├── RobotoCondensed-Regular.ttf
│ │ └── SegoeUI-Light.ttf
│ ├── icons
│ │ ├── icon-16x.png
│ │ └── icon-32x.png
│ ├── lang
│ │ ├── af_ZA.lang
│ │ ├── ar_SA.lang
│ │ ├── bs_BA.lang
│ │ ├── de_DE.lang
│ │ ├── en_US.lang
│ │ ├── ga_IE.lang
│ │ └── ja_JP.lang
│ └── pack.mcmeta
└── minecraft
│ ├── shaders
│ └── hyperium_blur.json
│ ├── sounds.json
│ ├── sounds
│ └── zoo.ogg
│ └── textures
│ ├── chromahud
│ └── iconsheet.png
│ ├── cosmetics
│ ├── companions
│ │ └── hamsterbrown.png
│ ├── hats
│ │ ├── fez.png
│ │ ├── lego.png
│ │ └── tophat.png
│ └── wings
│ │ └── dragonwings.png
│ ├── font
│ ├── Montserrat-Bold.png
│ ├── Montserrat-Bold.properties
│ ├── Montserrat-Light.png
│ ├── Montserrat-Light.properties
│ ├── Montserrat-Regular.png
│ └── Montserrat-Regular.properties
│ ├── hyperium-splash.png
│ ├── material
│ ├── arrow_down_alt.png
│ ├── arrow_left.png
│ ├── arrow_right.png
│ ├── arrow_up_alt.png
│ ├── backgrounds
│ │ ├── 1.png
│ │ ├── 2.png
│ │ ├── 3.png
│ │ ├── 4.png
│ │ ├── 5.png
│ │ ├── 6.png
│ │ └── 7.png
│ ├── close.png
│ ├── exit.png
│ ├── extension.png
│ └── settings.png
│ └── world-loading.png
├── log4j2.xml
├── mixins.hyperium.json
├── providedLibs.js
└── remoteresources
└── chat_regex.json
/.editorconfig:
--------------------------------------------------------------------------------
1 | # EditorConfig is awesome!: https://editorconfig.org
2 |
3 | # This is the main EditorConfig file:
4 | root = true
5 |
6 | # Have Java and Kotlin files in UTF-8 and put an extra line at the bottom of each file:
7 | [*.{java,kt}]
8 | charset = utf-8
9 | insert_final_newline = true
10 |
11 | # Set intents for Java files:
12 | [*.java]
13 | indent_style = space
14 | indent_size = 4
15 |
16 | # Set indents for the Travis CI config and all JSON files:
17 | [{.travis.yml,*.json}]
18 | indent_style = space
19 | indent_size = 2
20 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/bug_report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug report
3 | about: Create a report to help us improve our client
4 |
5 | ---
6 |
7 |
8 | **Describe the bug**
9 |
10 |
11 | **To Reproduce**
12 | Steps to reproduce the behavior:
13 | 1.
14 | 2.
15 | 3.
16 |
17 | **Expected behavior**
18 |
19 |
20 | **Screenshots**
21 |
22 |
23 | **Desktop (please complete the following information):**
24 | - OS: [e.g. Windows 10]
25 | - Version [e.g. Hyperium Beta Build 1337]
26 |
27 | **Additional context**
28 |
29 |
30 | **Logs**
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/crash_report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Crash report
3 | about: If Hyperium crashed, you can report it here
4 |
5 | ---
6 |
7 |
8 | **Cause**
9 | Steps to reproduce the crash:
10 | 1.
11 | 2.
12 | 3.
13 |
14 | **Desktop (please complete the following information):**
15 | - OS: [e.g. Windows 10]
16 | - Version [e.g. Hyperium Beta Build 1337]
17 |
18 | **Additional context**
19 |
20 |
21 | **Logs**
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature request
3 | about: Suggest an idea for this project
4 |
5 | ---
6 |
7 |
8 | **Is your feature request related to a problem? If so, please describe.**
9 |
10 |
11 | **Describe the solution you'd like**
12 |
13 |
14 | **Describe alternatives you've considered**
15 |
16 |
17 | **Additional context**
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/.github/pull_request_template.md:
--------------------------------------------------------------------------------
1 |
2 | ## Description
3 |
4 |
5 | ## Context
6 |
7 |
8 | ## Anything Else
9 |
10 |
11 | ## Checklist
12 |
13 | - [] All *new* Java and Kotlin files have the right copyright header
14 | - [] I have tested my code by building it locally
15 | - [] This is not a work-in-progress and is ready for merge
16 | - [] I am submitting the PR under and understand the terms of the GNU Lesser General Public License v3.0
17 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | # eclipse
3 | eclipse
4 | bin
5 | *.launch
6 | .settings
7 | .metadata
8 | .classpath
9 | .project
10 |
11 | # idea
12 | out
13 | classes
14 | *.ipr
15 | *.iws
16 | *.iml
17 | .idea
18 |
19 | # gradle
20 | build
21 | .gradle
22 |
23 | #Netbeans
24 | .nb-gradle
25 | .nb-gradle-properties
26 |
27 | # other
28 | run
29 | .DS_Store
30 | Thumbs.db
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Hyperium is no longer available.
2 |
3 | Hyperium is no longer available, and we will no longer provide support for it. [Click here](https://https://github.com/asbyth/Hyperium-Replacements) to find a list of replacement Forge mods.
4 |
5 | And as one last goodbye, we wanted to appreciate everyone that has contributed anything to Hyperium in any way.
6 | This could be anyone that has translated it, contributed to the code, helped support another user, and of course everyone that's used Hyperium.
7 | It's been a good run!
8 |
--------------------------------------------------------------------------------
/gradle.properties:
--------------------------------------------------------------------------------
1 | # kotlin settings
2 | kotlin.code.style=official
3 |
4 | # optimize gradle
5 | org.gradle.daemon=true
6 | org.gradle.parallel=true
7 | org.gradle.configureoncommand=true
8 | org.gradle.parallel.threads=4
9 | org.gradle.jvmargs=-Xmx3G
10 |
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HyperiumClient/Hyperium/720059116537592859cf25e13586de7980a9113e/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Sun Sep 01 11:56:42 CEST 2019
2 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.3-all.zip
3 | distributionBase=GRADLE_USER_HOME
4 | distributionPath=wrapper/dists
5 | zipStorePath=wrapper/dists
6 | zipStoreBase=GRADLE_USER_HOME
7 |
--------------------------------------------------------------------------------
/libs/Netty Client.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HyperiumClient/Hyperium/720059116537592859cf25e13586de7980a9113e/libs/Netty Client.jar
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018 Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 |
19 | rootProject.name = 'Hyperium'
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/addons/customcrosshair/gui/items/CCCallback.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.addons.customcrosshair.gui.items;
19 |
20 | public interface CCCallback {
21 |
22 | void run(boolean enabled);
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/addons/readme.md:
--------------------------------------------------------------------------------
1 | #####In an effort to increase stability and maintain the client, many addons are being put inside the client. Put them in this package. Each addon should have its own sub package from here.
2 | - Initialize addons in the InternalAddons class
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/addons/sidebar/gui/screen/GuiScreenHelper.java:
--------------------------------------------------------------------------------
1 | package cc.hyperium.addons.sidebar.gui.screen;
2 |
3 | import cc.hyperium.utils.ChatColor;
4 |
5 | public interface GuiScreenHelper {
6 | default String getSuffix(boolean enabled) {
7 | return enabled ? (ChatColor.GREEN + "Enabled") : (ChatColor.RED + "Disabled");
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/commands/CommandException.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.commands;
19 |
20 | /**
21 | * Generic exception for command handling which triggers the message
22 | * to be sent to the players chat
23 | */
24 | public class CommandException extends Exception {
25 |
26 | /**
27 | * Basic constructor for no arguments
28 | */
29 | public CommandException() {
30 | super();
31 | }
32 |
33 | public CommandException(String message) {
34 | super(message);
35 | }
36 | }
37 |
38 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/commands/CommandUsageException.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.commands;
19 |
20 | /**
21 | * An exception caused by invalid command usage, will log the command
22 | * usage to the client (instead of anything else)
23 | *
24 | * @author boomboompower
25 | */
26 | public class CommandUsageException extends CommandException {
27 |
28 | /**
29 | * Default constructor for this class
30 | */
31 | public CommandUsageException() {
32 | }
33 | }
34 |
35 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/commands/defaults/CommandBossbarGui.java:
--------------------------------------------------------------------------------
1 | package cc.hyperium.commands.defaults;
2 |
3 | import cc.hyperium.Hyperium;
4 | import cc.hyperium.commands.BaseCommand;
5 | import cc.hyperium.mods.bossbar.BossbarGui;
6 |
7 | import java.util.Collections;
8 | import java.util.List;
9 |
10 | public class CommandBossbarGui implements BaseCommand {
11 |
12 | @Override
13 | public String getName() {
14 | return "bossbar";
15 | }
16 |
17 | @Override
18 | public String getUsage() {
19 | return "/bossbar";
20 | }
21 |
22 | @Override
23 | public void onExecute(String[] args) {
24 | Hyperium.INSTANCE.getHandlers().getGuiDisplayHandler().setDisplayNextTick(new BossbarGui());
25 | }
26 |
27 | @Override
28 | public List getCommandAliases() {
29 | return Collections.singletonList("bb");
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/commands/defaults/CommandParticleAuras.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.commands.defaults;
19 |
20 | import cc.hyperium.commands.BaseCommand;
21 | import cc.hyperium.gui.ParticleGui;
22 |
23 | public class CommandParticleAuras implements BaseCommand {
24 | @Override
25 | public String getName() {
26 | return "particleaura";
27 | }
28 |
29 | @Override
30 | public String getUsage() {
31 | return "/particleaura";
32 | }
33 |
34 | @Override
35 | public void onExecute(String[] args) {
36 | new ParticleGui().show();
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/config/PostConfigHandler.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.config;
19 |
20 | public interface PostConfigHandler {
21 |
22 | void postUpdate();
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/config/PreConfigHandler.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.config;
19 |
20 | public interface PreConfigHandler {
21 |
22 | void preUpdate();
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/config/PreSaveHandler.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.config;
19 |
20 | public interface PreSaveHandler {
21 |
22 | void preSave();
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/config/ToggleSetting.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.config;
19 |
20 | import java.lang.annotation.ElementType;
21 | import java.lang.annotation.Retention;
22 | import java.lang.annotation.RetentionPolicy;
23 | import java.lang.annotation.Target;
24 |
25 | /*
26 | * Created by Cubxity on 03/06/2018
27 | */
28 | @Retention(RetentionPolicy.RUNTIME)
29 | @Target(ElementType.FIELD)
30 | public @interface ToggleSetting {
31 | String name();
32 |
33 | boolean enabled() default true;
34 |
35 | Category category() default Category.GENERAL;
36 |
37 | boolean mods() default false;
38 | }
39 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/cosmetics/deadmau5/Deadmau5Cosmetic.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.cosmetics.deadmau5;
19 |
20 | import cc.hyperium.cosmetics.AbstractCosmetic;
21 | import cc.hyperium.purchases.EnumPurchaseType;
22 |
23 | public class Deadmau5Cosmetic extends AbstractCosmetic {
24 | public Deadmau5Cosmetic() {
25 | super(true, EnumPurchaseType.DEADMAU5_COSMETIC);
26 | }
27 |
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/cosmetics/dragon/DragonCosmetic.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.cosmetics.dragon;
19 |
20 | import cc.hyperium.cosmetics.AbstractCosmetic;
21 | import cc.hyperium.event.EventBus;
22 | import cc.hyperium.purchases.EnumPurchaseType;
23 |
24 | public class DragonCosmetic extends AbstractCosmetic {
25 |
26 | public DragonCosmetic() {
27 | super(false, EnumPurchaseType.DRAGON_HEAD);
28 | DragonHeadRenderer renderer = new DragonHeadRenderer(this);
29 | EventBus.INSTANCE.register(renderer);
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/cosmetics/flip/FlipCosmetic.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.cosmetics.flip;
19 |
20 | import cc.hyperium.cosmetics.AbstractCosmetic;
21 | import cc.hyperium.purchases.EnumPurchaseType;
22 |
23 | public class FlipCosmetic extends AbstractCosmetic {
24 | public FlipCosmetic() {
25 | super(true, EnumPurchaseType.FLIP_COSMETIC);
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/event/CancellableEvent.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.event;
19 |
20 | public class CancellableEvent extends Event {
21 |
22 | private boolean cancelled;
23 |
24 | public void setCancelled(boolean cancelled) {
25 | this.cancelled = cancelled;
26 | }
27 |
28 | public boolean isCancelled() {
29 | return cancelled;
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/event/Event.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.event;
19 |
20 | /**
21 | * Core event class
22 | */
23 | public class Event {
24 | public void post() {
25 | EventBus.INSTANCE.post(this);
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/event/InvokeEvent.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.event;
19 |
20 | import java.lang.annotation.ElementType;
21 | import java.lang.annotation.Retention;
22 | import java.lang.annotation.RetentionPolicy;
23 | import java.lang.annotation.Target;
24 |
25 | /**
26 | * Assign to a method to invoke an event
27 | * The first parameter of the method should be the event it is calling
28 | */
29 | @Retention(RetentionPolicy.RUNTIME)
30 | @Target(ElementType.METHOD)
31 | public @interface InvokeEvent {
32 |
33 | Priority priority() default Priority.NORMAL;
34 | }
35 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/event/Priority.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.event;
19 |
20 | public enum Priority {
21 |
22 | HIGH(-1), // Called first
23 | NORMAL(0),
24 | LOW(1); // Called last
25 |
26 | public final int value;
27 |
28 | Priority(int value) {
29 | this.value = value;
30 | }
31 |
32 | public int getValue() {
33 | return value;
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/event/client/GameShutDownEvent.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.event.client;
19 |
20 | import cc.hyperium.event.Event;
21 |
22 | /**
23 | * Called when the game is shutting down, use this to save your configs
24 | */
25 | public class GameShutDownEvent extends Event {
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/event/client/InitializationEvent.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.event.client;
19 |
20 | import cc.hyperium.event.Event;
21 |
22 | /**
23 | * Invoked once the client has started
24 | */
25 | public class InitializationEvent extends Event {
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/event/client/PreInitializationEvent.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.event.client;
19 |
20 | import cc.hyperium.event.Event;
21 |
22 | /**
23 | * Invoked once the client has started
24 | */
25 | public class PreInitializationEvent extends Event {
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/event/client/TickEvent.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.event.client;
19 |
20 | import cc.hyperium.event.Event;
21 |
22 | /**
23 | * Invoked every tick
24 | */
25 | public class TickEvent extends Event {
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/event/entity/FovUpdateEvent.java:
--------------------------------------------------------------------------------
1 | package cc.hyperium.event.entity;
2 |
3 | import cc.hyperium.event.Event;
4 | import net.minecraft.entity.player.EntityPlayer;
5 |
6 | public class FovUpdateEvent extends Event {
7 |
8 | private final EntityPlayer player;
9 | private final float currentFov;
10 | private float newFov;
11 |
12 | public FovUpdateEvent(EntityPlayer player, float fov) {
13 | this.player = player;
14 | this.currentFov = fov;
15 | this.newFov = fov;
16 | }
17 |
18 | public EntityPlayer getPlayer() {
19 | return player;
20 | }
21 |
22 | public float getCurrentFov() {
23 | return currentFov;
24 | }
25 |
26 | public float getNewFov() {
27 | return newFov;
28 | }
29 |
30 | public void setNewFov(float newFov) {
31 | this.newFov = newFov;
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/event/entity/KillEvent.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.event.entity;
19 |
20 | import cc.hyperium.event.Event;
21 | import com.google.common.base.Preconditions;
22 | import org.jetbrains.annotations.NotNull;
23 |
24 | public final class KillEvent extends Event {
25 |
26 | @NotNull
27 | private final String user;
28 |
29 | public KillEvent(@NotNull String user) {
30 | Preconditions.checkNotNull(user, "user");
31 |
32 | this.user = user;
33 | }
34 |
35 | @NotNull
36 | public final String getUser() {
37 | return user;
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/event/gui/InitGuiEvent.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.event.gui;
19 |
20 | import net.minecraft.client.gui.GuiScreen;
21 |
22 | public class InitGuiEvent {
23 | private GuiScreen screen;
24 |
25 | public InitGuiEvent(GuiScreen screen) {
26 | this.screen = screen;
27 | }
28 |
29 | public GuiScreen getScreen() {
30 | return screen;
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/event/interact/KeyPressEvent.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.event.interact;
19 |
20 | import cc.hyperium.event.Event;
21 |
22 | /**
23 | * Invoked once a key is pressed
24 | */
25 | public class KeyPressEvent extends Event {
26 |
27 | private final int key;
28 | private final boolean repeat;
29 |
30 | public KeyPressEvent(int key, boolean isRepeat) {
31 | this.key = key;
32 | repeat = isRepeat;
33 | }
34 |
35 | public int getKey() {
36 | return key;
37 | }
38 |
39 | public boolean isRepeat() {
40 | return repeat;
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/event/interact/LeftMouseClickEvent.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.event.interact;
19 |
20 | import cc.hyperium.event.Event;
21 |
22 | /**
23 | * Invoked once left mouse is pressed
24 | */
25 | public class LeftMouseClickEvent extends Event {
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/event/interact/RightMouseClickEvent.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.event.interact;
19 |
20 | import cc.hyperium.event.Event;
21 |
22 | /**
23 | * Invoked once right mouse is pressed
24 | */
25 | public class RightMouseClickEvent extends Event {
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/event/network/chat/ChatEvent.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.event.network.chat;
19 |
20 | import cc.hyperium.event.CancellableEvent;
21 | import net.minecraft.util.IChatComponent;
22 |
23 | /**
24 | * Invoked once a chat message is sent
25 | */
26 | public class ChatEvent extends CancellableEvent {
27 |
28 | private final IChatComponent chat;
29 |
30 | public ChatEvent(IChatComponent chat) {
31 | this.chat = chat;
32 | }
33 |
34 | public IChatComponent getChat() {
35 | return chat;
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/event/network/server/ServerLeaveEvent.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.event.network.server;
19 |
20 | import cc.hyperium.event.Event;
21 |
22 | /**
23 | * Invoked once the player has left a server
24 | */
25 | public class ServerLeaveEvent extends Event {
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/event/network/server/SingleplayerJoinEvent.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.event.network.server;
19 |
20 | import cc.hyperium.event.Event;
21 |
22 | /**
23 | * Invoked once the player has joined singleplayer
24 | */
25 | public class SingleplayerJoinEvent extends Event {
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/event/network/server/hypixel/HypixelGetCoinsEvent.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.event.network.server.hypixel;
19 |
20 | import cc.hyperium.event.Event;
21 |
22 | public final class HypixelGetCoinsEvent extends Event {
23 |
24 | private final int coins;
25 |
26 | public HypixelGetCoinsEvent(int coins) {
27 | this.coins = coins;
28 | }
29 |
30 | public final int getCoins() {
31 | return coins;
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/event/network/server/hypixel/HypixelGetXPEvent.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.event.network.server.hypixel;
19 |
20 | import cc.hyperium.event.Event;
21 |
22 | public final class HypixelGetXPEvent extends Event {
23 |
24 | private final int xp;
25 |
26 | public HypixelGetXPEvent(int xp) {
27 | this.xp = xp;
28 | }
29 |
30 | public final int getXp() {
31 | return xp;
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/event/network/server/hypixel/JoinMinigameEvent.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.event.network.server.hypixel;
19 |
20 | import cc.hyperium.event.network.server.hypixel.minigames.Minigame;
21 |
22 | /**
23 | * Invoked when player joins a minigame on Hypixel
24 | */
25 | public class JoinMinigameEvent {
26 |
27 | private final Minigame minigame;
28 |
29 | public JoinMinigameEvent(Minigame minigame) {
30 | this.minigame = minigame;
31 | }
32 |
33 | public Minigame getMinigame() {
34 | return minigame;
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/event/render/RenderEntitiesEvent.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.event.render;
19 |
20 | import cc.hyperium.event.Event;
21 |
22 | /**
23 | * Called when entities are about to be rendered in the world
24 | */
25 | public final class RenderEntitiesEvent extends Event {
26 |
27 | private final float partialTicks;
28 |
29 | public RenderEntitiesEvent(float partialTicks) {
30 | this.partialTicks = partialTicks;
31 | }
32 |
33 | public final float getPartialTicks() {
34 | return partialTicks;
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/event/render/RenderEvent.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.event.render;
19 |
20 | import cc.hyperium.event.Event;
21 |
22 | /**
23 | * Invoked every frame; used to render in the 3D space
24 | */
25 | public class RenderEvent extends Event {
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/event/render/RenderGuiEvent.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.event.render;
19 |
20 | import cc.hyperium.event.Event;
21 |
22 | /**
23 | * Invoked every frame; used to render in the ingame GUI
24 | */
25 | public class RenderGuiEvent extends Event {
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/event/render/RenderTickEvent.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.event.render;
19 |
20 | public final class RenderTickEvent {
21 | }
22 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/event/world/EntityJoinWorldEvent.java:
--------------------------------------------------------------------------------
1 | package cc.hyperium.event.world;
2 |
3 | import cc.hyperium.event.CancellableEvent;
4 | import net.minecraft.entity.Entity;
5 | import net.minecraft.world.World;
6 |
7 | public class EntityJoinWorldEvent extends CancellableEvent {
8 |
9 | private final World world;
10 | private final Entity entity;
11 |
12 | public EntityJoinWorldEvent(World world, Entity entity) {
13 | this.world = world;
14 | this.entity = entity;
15 | }
16 |
17 | public World getWorld() {
18 | return world;
19 | }
20 |
21 | public Entity getEntity() {
22 | return entity;
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/event/world/SpawnpointChangeEvent.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.event.world;
19 |
20 | import cc.hyperium.event.Event;
21 | import net.minecraft.util.BlockPos;
22 |
23 | /**
24 | * Invoked when the spawnpoint has changed
25 | * This is useful for detecting minigames
26 | */
27 | public class SpawnpointChangeEvent extends Event {
28 |
29 | private final BlockPos blockPos;
30 |
31 | public SpawnpointChangeEvent(BlockPos blockPos) {
32 | this.blockPos = blockPos;
33 | }
34 |
35 | public BlockPos getBlockPos() {
36 | return blockPos;
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/event/world/WorldChangeEvent.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.event.world;
19 |
20 | import cc.hyperium.event.Event;
21 |
22 | /**
23 | * Invoked when the world is changed
24 | */
25 | public class WorldChangeEvent extends Event {
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/event/world/WorldLoadEvent.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.event.world;
19 |
20 | import cc.hyperium.event.Event;
21 |
22 | public class WorldLoadEvent extends Event {
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/event/world/WorldUnloadEvent.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.event.world;
19 |
20 | import cc.hyperium.event.Event;
21 |
22 | public class WorldUnloadEvent extends Event {
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/gui/tips/TipRegistry.java:
--------------------------------------------------------------------------------
1 | package cc.hyperium.gui.tips;
2 |
3 | import java.util.ArrayList;
4 | import java.util.Arrays;
5 | import java.util.List;
6 |
7 | public class TipRegistry {
8 |
9 | public static final TipRegistry INSTANCE = new TipRegistry();
10 | private List hyperiumTipArray = new ArrayList<>();
11 |
12 | public void registerTip(String tip) {
13 | hyperiumTipArray.add(tip);
14 | }
15 |
16 | public void registerTips(String... tips) {
17 | hyperiumTipArray.addAll(Arrays.asList(tips));
18 | }
19 |
20 | public List getTips() {
21 | return hyperiumTipArray;
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/handlers/handlers/OtherConfigOptions.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.handlers.handlers;
19 |
20 | /**
21 | * @author Sk1er
22 | */
23 | public class OtherConfigOptions {
24 |
25 | public int renderNameDistance = 64;
26 | public boolean isCancelBox;
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/handlers/handlers/keybinds/keybinds/GuiDanceKeybind.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.handlers.handlers.keybinds.keybinds;
19 |
20 | import cc.hyperium.gui.GuiDances;
21 | import cc.hyperium.handlers.handlers.keybinds.HyperiumBind;
22 | import org.lwjgl.input.Keyboard;
23 |
24 | public class GuiDanceKeybind extends HyperiumBind {
25 |
26 | public GuiDanceKeybind() {
27 | super("Use Dances", Keyboard.KEY_O);
28 | }
29 |
30 | @Override
31 | public void onPress() {
32 | new GuiDances().show();
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/handlers/handlers/keybinds/keybinds/GuiKeybind.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.handlers.handlers.keybinds.keybinds;
19 |
20 | import cc.hyperium.gui.hyperium.HyperiumMainGui;
21 | import cc.hyperium.handlers.handlers.keybinds.HyperiumBind;
22 | import org.lwjgl.input.Keyboard;
23 |
24 | public class GuiKeybind extends HyperiumBind {
25 | public GuiKeybind() {
26 | super("Hyperium GUI", Keyboard.KEY_GRAVE);
27 | }
28 |
29 | @Override
30 | public void onPress() {
31 | HyperiumMainGui.INSTANCE.show();
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/handlers/handlers/keybinds/keybinds/HideLeatherKeybind.java:
--------------------------------------------------------------------------------
1 | package cc.hyperium.handlers.handlers.keybinds.keybinds;
2 |
3 | import cc.hyperium.Hyperium;
4 | import cc.hyperium.config.Settings;
5 | import cc.hyperium.handlers.handlers.keybinds.HyperiumBind;
6 | import cc.hyperium.utils.ChatColor;
7 | import org.lwjgl.input.Keyboard;
8 |
9 | public class HideLeatherKeybind extends HyperiumBind {
10 |
11 | public HideLeatherKeybind() {
12 | super("Toggle Leather Armor", Keyboard.KEY_NONE);
13 | }
14 |
15 | @Override
16 | public void onPress() {
17 | Hyperium.INSTANCE.getHandlers().getGeneralChatHandler().sendMessage(Settings.HIDE_LEATHER_ARMOR ?
18 | "Leather armor is now" + ChatColor.GREEN + " shown" + ChatColor.GRAY + "." :
19 | "Leather armor is now" + ChatColor.RED + " hidden" + ChatColor.GRAY + ".");
20 | Settings.HIDE_LEATHER_ARMOR = !Settings.HIDE_LEATHER_ARMOR;
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/handlers/handlers/keybinds/keybinds/UploadScreenshotKeybind.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.handlers.handlers.keybinds.keybinds;
19 |
20 | import cc.hyperium.handlers.handlers.keybinds.HyperiumBind;
21 | import org.lwjgl.input.Keyboard;
22 |
23 | public class UploadScreenshotKeybind extends HyperiumBind {
24 |
25 | public UploadScreenshotKeybind() {
26 | super("Upload Screenshot", Keyboard.KEY_LSHIFT);
27 | conflictExempt = true;
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/handlers/handlers/particle/AbstractAnimation.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.handlers.handlers.particle;
19 |
20 | import net.minecraft.entity.player.EntityPlayer;
21 | import net.minecraft.util.Vec3;
22 |
23 | import java.util.List;
24 |
25 | /**
26 | * Created by mitchellkatz on 6/23/18. Designed for production use on Sk1er.club
27 | */
28 | public abstract class AbstractAnimation {
29 |
30 | public abstract List render(EntityPlayer player, double x, double y, double z);
31 |
32 | }
33 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/handlers/handlers/particle/IParticle.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.handlers.handlers.particle;
19 |
20 | import net.minecraft.client.particle.EntityFX;
21 | import net.minecraft.world.World;
22 |
23 | /**
24 | * Created by mitchellkatz on 6/25/18. Designed for production use on Sk1er.club
25 | */
26 | public interface IParticle {
27 |
28 | EntityFX spawn(World world, double x, double y, double z);
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/handlers/handlers/stats/display/StatsDisplayItem.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.handlers.handlers.stats.display;
19 |
20 | public abstract class StatsDisplayItem {
21 |
22 | public int width;
23 | public int height;
24 |
25 | public abstract void draw(int x, int y);
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/mixins/client/entity/IMixinAbstractClientPlayer.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.mixins.client.entity;
19 |
20 | import net.minecraft.client.entity.AbstractClientPlayer;
21 | import net.minecraft.client.network.NetworkPlayerInfo;
22 | import org.spongepowered.asm.mixin.Mixin;
23 | import org.spongepowered.asm.mixin.gen.Invoker;
24 |
25 | @Mixin(AbstractClientPlayer.class)
26 | public interface IMixinAbstractClientPlayer {
27 |
28 | @Invoker NetworkPlayerInfo callGetPlayerInfo();
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/mixins/client/gui/IMixinGui.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.mixins.client.gui;
19 |
20 | import net.minecraft.client.gui.Gui;
21 | import org.spongepowered.asm.mixin.Mixin;
22 | import org.spongepowered.asm.mixin.gen.Accessor;
23 |
24 | @Mixin(Gui.class)
25 | public interface IMixinGui {
26 |
27 | @Accessor void setZLevel(float zLevel);
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/mixins/client/gui/IMixinGuiChat.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.mixins.client.gui;
19 |
20 | import net.minecraft.client.gui.GuiChat;
21 | import net.minecraft.client.gui.GuiTextField;
22 | import org.spongepowered.asm.mixin.Mixin;
23 | import org.spongepowered.asm.mixin.gen.Accessor;
24 |
25 | @Mixin(GuiChat.class)
26 | public interface IMixinGuiChat {
27 |
28 | @Accessor GuiTextField getInputField();
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/mixins/client/gui/IMixinGuiNewChat.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.mixins.client.gui;
19 |
20 | import net.minecraft.client.gui.ChatLine;
21 | import net.minecraft.client.gui.GuiNewChat;
22 | import org.spongepowered.asm.mixin.Mixin;
23 | import org.spongepowered.asm.mixin.gen.Accessor;
24 |
25 | import java.util.List;
26 |
27 | @Mixin(GuiNewChat.class)
28 | public interface IMixinGuiNewChat {
29 |
30 | @Accessor void setIsScrolled(boolean isScrolled);
31 | @Accessor List getChatLines();
32 | @Accessor List getDrawnChatLines();
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/mixins/client/gui/IMixinGuiScreen.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.mixins.client.gui;
19 |
20 | import net.minecraft.client.gui.GuiButton;
21 | import net.minecraft.client.gui.GuiScreen;
22 | import org.spongepowered.asm.mixin.Mixin;
23 | import org.spongepowered.asm.mixin.gen.Accessor;
24 |
25 | import java.util.List;
26 |
27 | @Mixin(GuiScreen.class)
28 | public interface IMixinGuiScreen {
29 |
30 | @Accessor List getButtonList();
31 |
32 | }
33 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/mixins/client/gui/IMixinGuiScreenBook.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.mixins.client.gui;
19 |
20 | import net.minecraft.client.gui.GuiScreenBook;
21 | import net.minecraft.nbt.NBTTagList;
22 | import org.spongepowered.asm.mixin.Mixin;
23 | import org.spongepowered.asm.mixin.gen.Accessor;
24 |
25 | @Mixin(GuiScreenBook.class)
26 | public interface IMixinGuiScreenBook {
27 | @Accessor NBTTagList getBookPages();
28 | @Accessor int getCurrPage();
29 | @Accessor void setBookPages(NBTTagList tagList);
30 | @Accessor void setCurrPage(int page);
31 | }
32 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/mixins/client/gui/achievement/MixinGuiAchievement.java:
--------------------------------------------------------------------------------
1 | package cc.hyperium.mixins.client.gui.achievement;
2 |
3 | import cc.hyperium.config.Settings;
4 | import net.minecraft.client.gui.achievement.GuiAchievement;
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(GuiAchievement.class)
11 | public class MixinGuiAchievement {
12 |
13 | @Inject(method = "updateAchievementWindow", at = @At("HEAD"), cancellable = true)
14 | private void cancelAchievementRender(CallbackInfo ci) {
15 | if (Settings.DISABLE_ACHIEVEMENTS) ci.cancel();
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/mixins/client/gui/inventory/IMixinGuiContainer.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.mixins.client.gui.inventory;
19 |
20 | import net.minecraft.client.gui.inventory.GuiContainer;
21 | import org.spongepowered.asm.mixin.Mixin;
22 | import org.spongepowered.asm.mixin.gen.Accessor;
23 |
24 | @Mixin(GuiContainer.class)
25 | public interface IMixinGuiContainer {
26 |
27 | @Accessor void setGuiLeft(int guiLeft);
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/mixins/client/model/MixinModelRenderer.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.mixins.client.model;
19 |
20 | import cc.hyperium.mixinsimp.client.model.IMixinModelRenderer;
21 | import net.minecraft.client.model.ModelRenderer;
22 | import org.spongepowered.asm.mixin.Mixin;
23 | import org.spongepowered.asm.mixin.Shadow;
24 |
25 | @Mixin(ModelRenderer.class)
26 | public class MixinModelRenderer implements IMixinModelRenderer {
27 |
28 | @Shadow private boolean compiled;
29 |
30 | public void reset() {
31 | compiled = false;
32 | }
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/mixins/client/particle/IMixinEntityFX.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.mixins.client.particle;
19 |
20 | import net.minecraft.client.particle.EntityFX;
21 | import org.spongepowered.asm.mixin.Mixin;
22 | import org.spongepowered.asm.mixin.gen.Accessor;
23 |
24 | @Mixin(EntityFX.class)
25 | public interface IMixinEntityFX {
26 |
27 | @Accessor void setParticleGravity(float particleGravity);
28 | @Accessor void setParticleMaxAge(int particleMaxAge);
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/mixins/client/renderer/IMixinEntityRenderer.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.mixins.client.renderer;
19 |
20 | import net.minecraft.client.renderer.EntityRenderer;
21 | import net.minecraft.util.ResourceLocation;
22 | import org.spongepowered.asm.mixin.Mixin;
23 | import org.spongepowered.asm.mixin.gen.Accessor;
24 | import org.spongepowered.asm.mixin.gen.Invoker;
25 |
26 | @Mixin(EntityRenderer.class)
27 | public interface IMixinEntityRenderer {
28 |
29 | @Accessor void setCloudFog(boolean cloudFog);
30 | @Invoker void callLoadShader(ResourceLocation resourceLocation);
31 |
32 | }
33 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/mixins/client/renderer/IMixinInventoryEffectRenderer.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.mixins.client.renderer;
19 |
20 | import net.minecraft.client.renderer.InventoryEffectRenderer;
21 | import org.spongepowered.asm.mixin.Mixin;
22 | import org.spongepowered.asm.mixin.gen.Accessor;
23 |
24 | @Mixin(InventoryEffectRenderer.class)
25 | public interface IMixinInventoryEffectRenderer {
26 | @Accessor void setHasActivePotionEffects(boolean hasActivePotionEffects);
27 | }
28 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/mixins/client/renderer/IMixinThreadDownloadImageData.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.mixins.client.renderer;
19 |
20 | import net.minecraft.client.renderer.IImageBuffer;
21 | import net.minecraft.client.renderer.ThreadDownloadImageData;
22 | import org.spongepowered.asm.mixin.Mixin;
23 | import org.spongepowered.asm.mixin.gen.Accessor;
24 |
25 | @Mixin(ThreadDownloadImageData.class)
26 | public interface IMixinThreadDownloadImageData {
27 |
28 | @Accessor IImageBuffer getImageBuffer();
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/mixins/client/renderer/tileentity/MixinTileEntityEndPortalRenderer.java:
--------------------------------------------------------------------------------
1 | package cc.hyperium.mixins.client.renderer.tileentity;
2 |
3 | import cc.hyperium.config.Settings;
4 | import net.minecraft.client.renderer.tileentity.TileEntityEndPortalRenderer;
5 | import net.minecraft.tileentity.TileEntityEndPortal;
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(TileEntityEndPortalRenderer.class)
12 | public class MixinTileEntityEndPortalRenderer {
13 |
14 | @Inject(method = "renderTileEntityAt", at = @At("HEAD"), cancellable = true)
15 | private void preRender(TileEntityEndPortal te, double x, double y, double z, float partialTicks, int destroyStage, CallbackInfo ci) {
16 | if (Settings.DISABLE_END_PORTALS) {
17 | ci.cancel();
18 | }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/mixins/client/resources/IMixinAbstractResourcePack.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.mixins.client.resources;
19 |
20 | import java.io.IOException;
21 | import java.io.InputStream;
22 |
23 | import net.minecraft.client.resources.AbstractResourcePack;
24 | import org.spongepowered.asm.mixin.Mixin;
25 | import org.spongepowered.asm.mixin.gen.Invoker;
26 |
27 | @Mixin(AbstractResourcePack.class)
28 | public interface IMixinAbstractResourcePack {
29 |
30 | @Invoker InputStream callGetInputStreamByName(String name) throws IOException;
31 |
32 | }
33 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/mixins/client/resources/IMixinResourcePackListEntry.java:
--------------------------------------------------------------------------------
1 | package cc.hyperium.mixins.client.resources;
2 |
3 | import net.minecraft.client.resources.ResourcePackListEntry;
4 | import org.spongepowered.asm.mixin.Mixin;
5 | import org.spongepowered.asm.mixin.gen.Invoker;
6 |
7 | @Mixin(ResourcePackListEntry.class)
8 | public interface IMixinResourcePackListEntry {
9 | @Invoker String callFunc_148312_b(); // getResourcePackName
10 | }
11 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/mixins/client/settings/IMixinKeyBinding.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.mixins.client.settings;
19 |
20 | import net.minecraft.client.settings.KeyBinding;
21 | import org.spongepowered.asm.mixin.Mixin;
22 | import org.spongepowered.asm.mixin.gen.Accessor;
23 |
24 | @Mixin(KeyBinding.class)
25 | public interface IMixinKeyBinding {
26 | @Accessor void setPressed(boolean pressed);
27 | }
28 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/mixins/entity/IMixinEntity.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.mixins.entity;
19 |
20 | import net.minecraft.entity.Entity;
21 | import net.minecraft.event.HoverEvent;
22 | import org.spongepowered.asm.mixin.Mixin;
23 | import org.spongepowered.asm.mixin.gen.Invoker;
24 |
25 | @Mixin(Entity.class)
26 | public interface IMixinEntity {
27 |
28 | @Invoker HoverEvent callGetHoverEvent();
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/mixins/nbt/MixinNBTTagCompound.java:
--------------------------------------------------------------------------------
1 | package cc.hyperium.mixins.nbt;
2 |
3 | import net.minecraft.nbt.NBTBase;
4 | import net.minecraft.nbt.NBTTagCompound;
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(NBTTagCompound.class)
11 | public class MixinNBTTagCompound {
12 |
13 | @Inject(method = "setTag", at = @At("HEAD"))
14 | private void failSoft(String key, NBTBase value, CallbackInfo ci) {
15 | if (value == null) throw new IllegalArgumentException("Invalid null NBT value with key " + key);
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/mixins/network/play/client/MixinC01PacketChatMessage.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.mixins.network.play.client;
19 |
20 | import net.minecraft.network.play.client.C01PacketChatMessage;
21 | import org.spongepowered.asm.mixin.Mixin;
22 | import org.spongepowered.asm.mixin.gen.Accessor;
23 |
24 | @Mixin(C01PacketChatMessage.class)
25 | public interface MixinC01PacketChatMessage {
26 |
27 | @Accessor void setMessage(String message);
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/mixins/server/MixinMinecraftServer.java:
--------------------------------------------------------------------------------
1 | package cc.hyperium.mixins.server;
2 |
3 | import io.netty.buffer.ByteBuf;
4 | import net.minecraft.network.ServerStatusResponse;
5 | import net.minecraft.server.MinecraftServer;
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 | import org.spongepowered.asm.mixin.injection.callback.LocalCapture;
11 |
12 | import java.awt.image.BufferedImage;
13 | import java.io.File;
14 |
15 | @Mixin(MinecraftServer.class)
16 | public class MixinMinecraftServer {
17 |
18 | @Inject(method = "addFaviconToStatusResponse", at = @At(value = "INVOKE", target = "Lnet/minecraft/network/ServerStatusResponse;setFavicon(Ljava/lang/String;)V",
19 | shift = At.Shift.AFTER), locals = LocalCapture.CAPTURE_FAILHARD)
20 | private void releaseByteBuffer(ServerStatusResponse response, CallbackInfo ci, File serverIcon, ByteBuf buffer, BufferedImage image, ByteBuf bytebuf1) {
21 | bytebuf1.release();
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/mixins/util/MixinMouseHelper.java:
--------------------------------------------------------------------------------
1 | package cc.hyperium.mixins.util;
2 |
3 | import cc.hyperium.Hyperium;
4 | import net.minecraft.util.MouseHelper;
5 | import org.lwjgl.input.Mouse;
6 | import org.spongepowered.asm.mixin.Mixin;
7 | import org.spongepowered.asm.mixin.injection.At;
8 | import org.spongepowered.asm.mixin.injection.Redirect;
9 |
10 | @Mixin(MouseHelper.class)
11 | public class MixinMouseHelper {
12 |
13 | @Redirect(method = "ungrabMouseCursor", at = @At(value = "INVOKE", remap = false, target = "Lorg/lwjgl/input/Mouse;setCursorPosition(II)V", ordinal = 0))
14 | private void ungrabMouseCursor(int new_x, int new_y) {
15 | if (Hyperium.INSTANCE.getHandlers().getMouseListener().shouldResetMouse()) {
16 | Mouse.setCursorPosition(new_x, new_y);
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/mixins/world/IMixinWorld.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.mixins.world;
19 |
20 | import net.minecraft.world.World;
21 | import org.spongepowered.asm.mixin.Mixin;
22 | import org.spongepowered.asm.mixin.gen.Accessor;
23 |
24 | @Mixin(World.class)
25 | public interface IMixinWorld {
26 | @Accessor float getRainingStrength();
27 | }
28 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/mixinsimp/client/HyperiumClientBrand.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.mixinsimp.client;
19 |
20 | public class HyperiumClientBrand {
21 | public static String getClientModName() {
22 | return "hyperium";
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/mixinsimp/client/gui/IMixinGuiMultiplayer.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.mixinsimp.client.gui;
19 |
20 | import net.minecraft.client.multiplayer.ServerData;
21 |
22 | public interface IMixinGuiMultiplayer {
23 |
24 | void makeDirectConnect();
25 |
26 | void setIp(ServerData ip);
27 | }
28 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/mixinsimp/client/model/IMixinModelBox.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.mixinsimp.client.model;
19 |
20 | import net.minecraft.client.model.ModelRenderer;
21 |
22 | public interface IMixinModelBox {
23 |
24 | void offsetTextureQuad(ModelRenderer renderer, int quadId, float xOffset, float yOffset);
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/mixinsimp/client/model/IMixinModelRenderer.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.mixinsimp.client.model;
19 |
20 | public interface IMixinModelRenderer {
21 |
22 | void reset();
23 | }
24 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/mixinsimp/client/particle/IMixinEffectRenderer.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.mixinsimp.client.particle;
19 |
20 | import net.minecraft.client.particle.IParticleFactory;
21 |
22 | import java.util.Map;
23 |
24 | /**
25 | * Created by mitchellkatz on 6/24/18. Designed for production use on Sk1er.club
26 | */
27 | public interface IMixinEffectRenderer {
28 | Map getParticleMap();
29 | }
30 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/mixinsimp/client/renderer/entity/IMixinRenderManager.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.mixinsimp.client.renderer.entity;
19 |
20 | import net.minecraft.client.renderer.entity.RenderPlayer;
21 |
22 | import java.util.Map;
23 |
24 | public interface IMixinRenderManager {
25 | double getPosX();
26 |
27 | double getPosY();
28 |
29 | double getPosZ();
30 |
31 | Map getSkinMap();
32 | }
33 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/mixinsimp/client/settings/HyperiumGameSettings.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.mixinsimp.client.settings;
19 |
20 | import net.minecraft.client.Minecraft;
21 | import net.minecraft.client.settings.KeyBinding;
22 |
23 | public class HyperiumGameSettings {
24 | public void setOptionKeyBinding(KeyBinding binding, int value) {
25 | binding.setKeyCode(value);
26 | Minecraft.getMinecraft().gameSettings.saveOptions();
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/mixinsimp/enchantment/HyperiumEnchantment.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.mixinsimp.enchantment;
19 |
20 | import net.minecraft.util.StatCollector;
21 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
22 |
23 | public class HyperiumEnchantment {
24 |
25 | public void getTranslatedName(int level, CallbackInfoReturnable ci, String name) {
26 | String s = StatCollector.translateToLocal(name);
27 | ci.setReturnValue(s + " " + level);
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/mixinsimp/entity/player/IMixinEntityPlayer.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.mixinsimp.entity.player;
19 |
20 | public interface IMixinEntityPlayer {
21 | void setDisplayName(String name);
22 | }
23 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/mixinsimp/util/HyperiumChatComponentStyle.java:
--------------------------------------------------------------------------------
1 | package cc.hyperium.mixinsimp.util;
2 |
3 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
4 |
5 | public class HyperiumChatComponentStyle {
6 |
7 | private String cache;
8 |
9 | public void invalidateCache() {
10 | cache = null;
11 | }
12 |
13 | public void getFormattedTextHeader(CallbackInfoReturnable string) {
14 | if (cache != null) string.setReturnValue(cache);
15 | }
16 |
17 | public void getFormattedTextReturn(CallbackInfoReturnable string) {
18 | cache = string.getReturnValue();
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/mods/chromahud/NumberUtil.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.mods.chromahud;
19 |
20 | /**
21 | * Created by Mitchell Katz on 5/25/2017.
22 | */
23 | public class NumberUtil {
24 | public static double round(double in, double places) {
25 | if (places == 0) return Math.round(in);
26 | return Math.round(in * 10.0 * places) / (10 * places);
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/mods/chromahud/api/ChromaHUDParser.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.mods.chromahud.api;
19 |
20 |
21 | import cc.hyperium.utils.JsonHolder;
22 |
23 | import java.util.Map;
24 |
25 | /**
26 | * @author Sk1er
27 | */
28 | public interface ChromaHUDParser {
29 |
30 | DisplayItem parse(String type, int ord, JsonHolder item);
31 |
32 | Map getNames();
33 |
34 | ChromaHUDDescription description();
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/mods/chromahud/api/Dimension.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.mods.chromahud.api;
19 |
20 | /**
21 | * @author Sk1er
22 | */
23 | public class Dimension {
24 |
25 | protected double width;
26 | protected double height;
27 |
28 | public double getWidth() {
29 | return width;
30 | }
31 |
32 | public void setWidth(double width) {
33 | this.width = width;
34 | }
35 |
36 | public double getHeight() {
37 | return height;
38 | }
39 |
40 | public void setHeight(double height) {
41 | this.height = height;
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/mods/entityradius/EntityRadius.java:
--------------------------------------------------------------------------------
1 | package cc.hyperium.mods.entityradius;
2 |
3 | import cc.hyperium.addons.AbstractAddon;
4 | import cc.hyperium.config.Settings;
5 | import cc.hyperium.event.EventBus;
6 | import cc.hyperium.event.InvokeEvent;
7 | import cc.hyperium.event.render.EntityRenderEvent;
8 | import net.minecraft.client.Minecraft;
9 |
10 | public class EntityRadius extends AbstractAddon {
11 |
12 | @Override
13 | public AbstractAddon init() {
14 | EventBus.INSTANCE.register(this);
15 | return this;
16 | }
17 |
18 | @InvokeEvent
19 | public void renderEntity(EntityRenderEvent event) {
20 | if (Settings.ENABLE_ENTITY_RADIUS) {
21 | if (event.getEntityIn().getDistanceToEntity(Minecraft.getMinecraft().thePlayer) >= Settings.ENTITY_RADIUS) {
22 | event.setCancelled(true);
23 | }
24 | }
25 | }
26 |
27 | @Override
28 | public Metadata getAddonMetadata() {
29 | return new Metadata(this, "Entity Radius", "1.0", "asbyth");
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/mods/itemphysic/EventHandlerLite.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.mods.itemphysic;
19 |
20 | import cc.hyperium.event.InvokeEvent;
21 | import cc.hyperium.event.render.RenderEvent;
22 | import cc.hyperium.mods.itemphysic.physics.ClientPhysic;
23 |
24 | public class EventHandlerLite {
25 |
26 | @InvokeEvent
27 | public void onTick(RenderEvent e) {
28 | ClientPhysic.tick = System.nanoTime();
29 | }
30 |
31 | }
32 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/mods/itemphysic/ItemDummyContainer.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.mods.itemphysic;
19 |
20 | import cc.hyperium.config.ConfigOpt;
21 | import org.apache.logging.log4j.LogManager;
22 | import org.apache.logging.log4j.Logger;
23 |
24 | public class ItemDummyContainer {
25 |
26 | public static final Logger logger = LogManager.getLogger("ItemPhysics");
27 |
28 | @ConfigOpt
29 | public static float rotateSpeed = 1.0F;
30 |
31 | }
32 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/mods/keystrokes/screen/IScreen.java:
--------------------------------------------------------------------------------
1 | package cc.hyperium.mods.keystrokes.screen;
2 |
3 | public interface IScreen {
4 | default int calculateHeight(int row) {
5 | return 55 + row * 23;
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/mods/keystrokes/screen/IScrollable.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.mods.keystrokes.screen;
19 |
20 | /**
21 | * Better way to control scrolling (Using Anonymous classes)
22 | */
23 | public interface IScrollable {
24 |
25 | double getAmount();
26 |
27 | void onScroll(double doubleAmount, int intAmount);
28 | }
29 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/mods/keystrokes/screen/impl/GuiSliderOpacity.java:
--------------------------------------------------------------------------------
1 | package cc.hyperium.mods.keystrokes.screen.impl;
2 |
3 | import cc.hyperium.mods.keystrokes.KeystrokesMod;
4 | import cc.hyperium.mods.keystrokes.config.KeystrokesSettings;
5 | import cc.hyperium.mods.keystrokes.screen.GuiScreenKeystrokes;
6 | import net.minecraftforge.fml.client.config.GuiSlider;
7 |
8 | public class GuiSliderOpacity extends GuiSlider {
9 |
10 | private final KeystrokesSettings settings;
11 | private final GuiScreenKeystrokes keystrokesGui;
12 |
13 | public GuiSliderOpacity(KeystrokesMod mod, int id, int xPos, int yPos, int width, int height, GuiScreenKeystrokes keystrokes) {
14 | super(id, xPos, yPos, width, height, "Key Opacity: ", "", 0,
15 | 255, mod.getSettings().getKeyBackgroundOpacity(), false, true);
16 |
17 | settings = mod.getSettings();
18 | keystrokesGui = keystrokes;
19 | }
20 |
21 | @Override
22 | public void updateSlider() {
23 | super.updateSlider();
24 | settings.setKeyBackgroundOpacity(getValueInt());
25 | keystrokesGui.setUpdated();
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/mods/levelhead/display/DisplayPosition.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.mods.levelhead.display;
19 |
20 | public enum DisplayPosition {
21 |
22 | ABOVE_HEAD,
23 | TAB,
24 | CHAT
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/mods/levelhead/renderer/NullLevelheadTag.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.mods.levelhead.renderer;
19 |
20 | import java.util.UUID;
21 |
22 | public class NullLevelheadTag extends LevelheadTag {
23 |
24 | public NullLevelheadTag(UUID owner) {
25 | super(owner);
26 | }
27 |
28 | @Override
29 | public String toString() {
30 | return null;
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/mods/sk1ercommon/GenKeyCallback.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.mods.sk1ercommon;
19 |
20 | import cc.hyperium.utils.JsonHolder;
21 |
22 | /**
23 | * @author Sk1er
24 | */
25 | public interface GenKeyCallback {
26 | void call(JsonHolder object);
27 | }
28 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/purchases/DefaultCosmetic.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.purchases;
19 |
20 | import cc.hyperium.utils.JsonHolder;
21 |
22 | public class DefaultCosmetic extends AbstractHyperiumPurchase {
23 | public DefaultCosmetic(EnumPurchaseType type, JsonHolder data) {
24 | super(type, data);
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/purchases/packages/DragonHeadCosmetic.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.purchases.packages;
19 |
20 | import cc.hyperium.purchases.AbstractHyperiumPurchase;
21 | import cc.hyperium.purchases.EnumPurchaseType;
22 | import cc.hyperium.utils.JsonHolder;
23 |
24 | public class DragonHeadCosmetic extends AbstractHyperiumPurchase {
25 |
26 | public DragonHeadCosmetic(EnumPurchaseType type, JsonHolder data) {
27 | super(EnumPurchaseType.DRAGON_HEAD, data);
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/purchases/packages/FlipCosmeticPackage.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.purchases.packages;
19 |
20 | import cc.hyperium.purchases.AbstractHyperiumPurchase;
21 | import cc.hyperium.purchases.EnumPurchaseType;
22 | import cc.hyperium.utils.JsonHolder;
23 |
24 | public class FlipCosmeticPackage extends AbstractHyperiumPurchase {
25 |
26 | public FlipCosmeticPackage(EnumPurchaseType type, JsonHolder data) {
27 | super(type, data);
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/purchases/packages/ParticleBackgroundCosmetic.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.purchases.packages;
19 |
20 | import cc.hyperium.purchases.AbstractHyperiumPurchase;
21 | import cc.hyperium.purchases.EnumPurchaseType;
22 | import cc.hyperium.utils.JsonHolder;
23 |
24 | /**
25 | * Created by mitchellkatz on 3/20/18. Designed for production use on Sk1er.club
26 | */
27 | public class ParticleBackgroundCosmetic extends AbstractHyperiumPurchase {
28 |
29 | public ParticleBackgroundCosmetic(EnumPurchaseType type, JsonHolder data) {
30 | super(type, data);
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/purchases/packages/WingCosmetic.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.purchases.packages;
19 |
20 | import cc.hyperium.purchases.AbstractHyperiumPurchase;
21 | import cc.hyperium.purchases.EnumPurchaseType;
22 | import cc.hyperium.utils.JsonHolder;
23 |
24 | public class WingCosmetic extends AbstractHyperiumPurchase {
25 | public WingCosmetic(EnumPurchaseType type, JsonHolder data) {
26 | super(type, data);
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/utils/IGlStateModifier.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.utils;
19 |
20 | public interface IGlStateModifier {
21 |
22 | void reset();
23 | void setTexture(int id);
24 | void resetColor();
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/utils/MouseListener.java:
--------------------------------------------------------------------------------
1 | package cc.hyperium.utils;
2 |
3 | import cc.hyperium.event.InvokeEvent;
4 | import cc.hyperium.event.gui.GuiOpenEvent;
5 | import net.minecraft.client.gui.inventory.GuiChest;
6 |
7 | public class MouseListener {
8 |
9 | private Class lastOpenedInventory = null;
10 | private long lastClosedInv = -1;
11 |
12 | @InvokeEvent
13 | public void onGuiOpen(GuiOpenEvent event) {
14 | if (event.getGui() == null && GuiChest.class.equals(lastOpenedInventory)) {
15 | lastClosedInv = System.currentTimeMillis();
16 | lastOpenedInventory = null;
17 | }
18 |
19 | if (event.getGui() != null) {
20 | lastOpenedInventory = event.getGui().getClass();
21 | }
22 | }
23 |
24 | public boolean shouldResetMouse() {
25 | return System.currentTimeMillis() - lastClosedInv > 100;
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/src/main/java/cc/hyperium/utils/mods/AddonCheckerUtil.java:
--------------------------------------------------------------------------------
1 | package cc.hyperium.utils.mods;
2 |
3 | import cc.hyperium.Hyperium;
4 |
5 | public class AddonCheckerUtil {
6 |
7 | public static boolean isUsingOptifine() {
8 | return isUsingAddon("optifine.OptiFineTweaker");
9 | }
10 |
11 | public static boolean isUsingQuickplay() {
12 | return isUsingAddon("co.bugg.quickplay.Quickplay");
13 | }
14 |
15 | // non-approved addons
16 |
17 | // access any named addon for addon developers
18 | // mainAddonClass must be the path to the "mainClass" variable in the addon
19 | // ex: cc.hyperium.Hyperium
20 | public static boolean isUsingAddon(String mainAddonClass) {
21 | try {
22 | Class.forName(mainAddonClass);
23 | Hyperium.LOGGER.info("Found " + mainAddonClass);
24 | return true;
25 | } catch (Exception ignored) {
26 | return false;
27 | }
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/src/main/java/club/sk1er/website/api/requests/HypixelApiFriends.java:
--------------------------------------------------------------------------------
1 | package club.sk1er.website.api.requests;
2 |
3 | import cc.hyperium.utils.JsonHolder;
4 | import com.google.gson.JsonArray;
5 | import com.google.gson.JsonElement;
6 |
7 | import java.util.ArrayList;
8 | import java.util.List;
9 |
10 | /**
11 | * Created by mitchellkatz on 6/4/17.
12 | */
13 | public class HypixelApiFriends implements HypixelApiObject {
14 |
15 | private JsonHolder master;
16 |
17 | public HypixelApiFriends(JsonHolder o) {
18 | if (o != null)
19 | master = o;
20 | else
21 | master = new JsonHolder();
22 | }
23 |
24 | @Override
25 | public String toString() {
26 | return master.toString();
27 | }
28 |
29 | @Override
30 | public JsonHolder getData() {
31 | return master;
32 | }
33 |
34 | public boolean isValid() {
35 | return master != null && !master.isNull("records");
36 | }
37 |
38 | public JsonArray getFriends() {
39 | return master.optJSONArray("records");
40 | }
41 |
42 | public List getFriendsAsList() {
43 | List friends = new ArrayList<>();
44 | for (JsonElement tmp1 : getFriends()) friends.add(new JsonHolder(tmp1.getAsJsonObject()));
45 | return friends;
46 | }
47 |
48 | public int getCount() {
49 | return getFriends().size();
50 | }
51 |
52 | }
53 |
--------------------------------------------------------------------------------
/src/main/java/club/sk1er/website/api/requests/HypixelApiObject.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018 Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package club.sk1er.website.api.requests;
19 |
20 |
21 | import cc.hyperium.utils.JsonHolder;
22 |
23 | /**
24 | * @author Sk1er
25 | */
26 | public interface HypixelApiObject {
27 |
28 | boolean isValid();
29 |
30 | JsonHolder getData();
31 |
32 | default boolean isLoaded() {
33 | return getData().optBoolean("loaded");
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/src/main/java/me/semx11/autotip/api/GetBuilder.java:
--------------------------------------------------------------------------------
1 | package me.semx11.autotip.api;
2 |
3 | import me.semx11.autotip.api.request.Request;
4 | import org.apache.http.client.methods.HttpUriRequest;
5 | import org.apache.http.client.methods.RequestBuilder;
6 |
7 | public class GetBuilder {
8 |
9 | private static final String BASE_URL = "https://api.autotip.pro/";
10 |
11 | private final RequestBuilder builder;
12 |
13 | private GetBuilder(Request request) {
14 | builder = RequestBuilder.get().setUri(BASE_URL + request.getType().getEndpoint());
15 | }
16 |
17 | public static GetBuilder of(Request request) {
18 | return new GetBuilder(request);
19 | }
20 |
21 | public GetBuilder addParameter(String key, Object value) {
22 | builder.addParameter(key, String.valueOf(value));
23 | return this;
24 | }
25 |
26 | public HttpUriRequest build() {
27 | return builder.build();
28 | }
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/src/main/java/me/semx11/autotip/api/RequestType.java:
--------------------------------------------------------------------------------
1 | package me.semx11.autotip.api;
2 |
3 | import me.semx11.autotip.api.reply.impl.KeepAliveReply;
4 | import me.semx11.autotip.api.reply.impl.LocaleReply;
5 | import me.semx11.autotip.api.reply.impl.LoginReply;
6 | import me.semx11.autotip.api.reply.impl.LogoutReply;
7 | import me.semx11.autotip.api.reply.impl.SettingsReply;
8 | import me.semx11.autotip.api.reply.impl.TipReply;
9 |
10 | public enum RequestType {
11 | SETTINGS("settings", SettingsReply.class),
12 | LOCALE("locale", LocaleReply.class),
13 | LOGIN("login", LoginReply.class),
14 | KEEP_ALIVE("keepalive", KeepAliveReply.class),
15 | TIP("tip", TipReply.class),
16 | LOGOUT("logout", LogoutReply.class);
17 |
18 | private final String endpoint;
19 | private final Class> replyClass;
20 |
21 | RequestType(String endpoint, Class> replyClass) {
22 | this.endpoint = endpoint;
23 | this.replyClass = replyClass;
24 | }
25 |
26 | public String getEndpoint() {
27 | return endpoint;
28 | }
29 |
30 | public Class> getReplyClass() {
31 | return replyClass;
32 | }
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/src/main/java/me/semx11/autotip/api/SessionKey.java:
--------------------------------------------------------------------------------
1 | package me.semx11.autotip.api;
2 |
3 | public class SessionKey {
4 |
5 | private final String key;
6 |
7 | public SessionKey(String key) {
8 | this.key = key;
9 | }
10 |
11 | public String getKey() {
12 | return key;
13 | }
14 |
15 | @Override
16 | public String toString() {
17 | return key;
18 | }
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/src/main/java/me/semx11/autotip/api/reply/Reply.java:
--------------------------------------------------------------------------------
1 | package me.semx11.autotip.api.reply;
2 |
3 | import me.semx11.autotip.api.RequestType;
4 |
5 | public abstract class Reply {
6 |
7 | private boolean success;
8 | private String cause;
9 |
10 | public Reply() {
11 | }
12 |
13 | public Reply(boolean success) {
14 | this.success = success;
15 | }
16 |
17 | public boolean isSuccess() {
18 | return success;
19 | }
20 |
21 | public String getCause() {
22 | return cause;
23 | }
24 |
25 | public abstract RequestType getRequestType();
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/src/main/java/me/semx11/autotip/api/reply/impl/KeepAliveReply.java:
--------------------------------------------------------------------------------
1 | package me.semx11.autotip.api.reply.impl;
2 |
3 | import me.semx11.autotip.api.RequestType;
4 | import me.semx11.autotip.api.reply.Reply;
5 |
6 | public class KeepAliveReply extends Reply {
7 |
8 | public KeepAliveReply() {
9 | }
10 |
11 | public KeepAliveReply(boolean success) {
12 | super(success);
13 | }
14 |
15 | @Override
16 | public RequestType getRequestType() {
17 | return RequestType.KEEP_ALIVE;
18 | }
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/src/main/java/me/semx11/autotip/api/reply/impl/LocaleReply.java:
--------------------------------------------------------------------------------
1 | package me.semx11.autotip.api.reply.impl;
2 |
3 | import com.google.gson.JsonObject;
4 | import java.util.Locale;
5 | import me.semx11.autotip.api.RequestType;
6 | import me.semx11.autotip.api.reply.Reply;
7 | import me.semx11.autotip.chat.LocaleHolder;
8 |
9 | public class LocaleReply extends Reply {
10 |
11 | private Locale lang;
12 | private JsonObject locale;
13 |
14 | public LocaleReply() {
15 | }
16 |
17 | public LocaleReply(boolean success) {
18 | super(success);
19 | }
20 |
21 | public LocaleHolder getLocaleHolder() {
22 | return new LocaleHolder(lang, locale);
23 | }
24 |
25 | @Override
26 | public RequestType getRequestType() {
27 | return RequestType.LOCALE;
28 | }
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/src/main/java/me/semx11/autotip/api/reply/impl/LoginReply.java:
--------------------------------------------------------------------------------
1 | package me.semx11.autotip.api.reply.impl;
2 |
3 | import me.semx11.autotip.api.RequestType;
4 | import me.semx11.autotip.api.SessionKey;
5 | import me.semx11.autotip.api.reply.Reply;
6 |
7 | public class LoginReply extends Reply {
8 |
9 | private SessionKey sessionKey;
10 | private long keepAliveRate;
11 | private long tipWaveRate;
12 | private long tipCycleRate;
13 |
14 | public LoginReply() {
15 | }
16 |
17 | public LoginReply(boolean success) {
18 | super(success);
19 | }
20 |
21 | public SessionKey getSessionKey() {
22 | return sessionKey;
23 | }
24 |
25 | public long getKeepAliveRate() {
26 | return keepAliveRate;
27 | }
28 |
29 | public long getTipWaveRate() {
30 | return tipWaveRate;
31 | }
32 |
33 | public long getTipCycleRate() {
34 | return tipCycleRate;
35 | }
36 |
37 | @Override
38 | public RequestType getRequestType() {
39 | return RequestType.LOGIN;
40 | }
41 |
42 | }
43 |
--------------------------------------------------------------------------------
/src/main/java/me/semx11/autotip/api/reply/impl/LogoutReply.java:
--------------------------------------------------------------------------------
1 | package me.semx11.autotip.api.reply.impl;
2 |
3 | import me.semx11.autotip.api.RequestType;
4 | import me.semx11.autotip.api.reply.Reply;
5 |
6 | public class LogoutReply extends Reply {
7 |
8 | public LogoutReply() {
9 | }
10 |
11 | public LogoutReply(boolean success) {
12 | super(success);
13 | }
14 |
15 | @Override
16 | public RequestType getRequestType() {
17 | return RequestType.LOGOUT;
18 | }
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/src/main/java/me/semx11/autotip/api/reply/impl/SettingsReply.java:
--------------------------------------------------------------------------------
1 | package me.semx11.autotip.api.reply.impl;
2 |
3 | import me.semx11.autotip.api.RequestType;
4 | import me.semx11.autotip.api.reply.Reply;
5 | import me.semx11.autotip.config.GlobalSettings;
6 |
7 | public class SettingsReply extends Reply {
8 |
9 | private GlobalSettings settings;
10 |
11 | public SettingsReply() {
12 | }
13 |
14 | public SettingsReply(boolean success) {
15 | super(success);
16 | }
17 |
18 | public GlobalSettings getSettings() {
19 | return settings;
20 | }
21 |
22 | @Override
23 | public RequestType getRequestType() {
24 | return RequestType.SETTINGS;
25 | }
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/src/main/java/me/semx11/autotip/api/request/Request.java:
--------------------------------------------------------------------------------
1 | package me.semx11.autotip.api.request;
2 |
3 | import me.semx11.autotip.api.RequestType;
4 | import me.semx11.autotip.api.reply.Reply;
5 |
6 | public interface Request {
7 |
8 | T execute();
9 |
10 | RequestType getType();
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/src/main/java/me/semx11/autotip/api/request/impl/TipRequest.java:
--------------------------------------------------------------------------------
1 | package me.semx11.autotip.api.request.impl;
2 |
3 | import java.util.Optional;
4 | import me.semx11.autotip.api.GetBuilder;
5 | import me.semx11.autotip.api.RequestHandler;
6 | import me.semx11.autotip.api.RequestType;
7 | import me.semx11.autotip.api.SessionKey;
8 | import me.semx11.autotip.api.reply.Reply;
9 | import me.semx11.autotip.api.reply.impl.TipReply;
10 | import me.semx11.autotip.api.request.Request;
11 | import org.apache.http.client.methods.HttpUriRequest;
12 |
13 | public class TipRequest implements Request {
14 |
15 | private final SessionKey sessionKey;
16 |
17 | private TipRequest(SessionKey sessionKey) {
18 | this.sessionKey = sessionKey;
19 | }
20 |
21 | public static TipRequest of(SessionKey sessionKey) {
22 | return new TipRequest(sessionKey);
23 | }
24 |
25 | @Override
26 | public TipReply execute() {
27 | HttpUriRequest request = GetBuilder.of(this)
28 | .addParameter("key", sessionKey)
29 | .build();
30 |
31 | Optional optional = RequestHandler.getReply(this, request.getURI());
32 | return optional
33 | .map(reply -> (TipReply) reply)
34 | .orElseGet(TipReply::getDefault);
35 | }
36 |
37 | @Override
38 | public RequestType getType() {
39 | return RequestType.TIP;
40 | }
41 |
42 | }
43 |
--------------------------------------------------------------------------------
/src/main/java/me/semx11/autotip/chat/ChatComponentBuilder.java:
--------------------------------------------------------------------------------
1 | package me.semx11.autotip.chat;
2 |
3 | import me.semx11.autotip.universal.UniversalUtil;
4 | import me.semx11.autotip.util.StringUtil;
5 |
6 | public class ChatComponentBuilder {
7 |
8 | private static final String PREFIX = "&6A&eT &8> &7";
9 |
10 | private String text;
11 | private String hoverText;
12 | private String url;
13 |
14 | private ChatComponentBuilder(boolean prefix, String text, Object... params) {
15 | this.text = StringUtil.params((prefix ? PREFIX : "") + text, params);
16 | }
17 |
18 | public static ChatComponentBuilder of(String text, Object... params) {
19 | return new ChatComponentBuilder(true, text, params);
20 | }
21 |
22 | public static ChatComponentBuilder of(boolean prefix, String text, Object... params) {
23 | return new ChatComponentBuilder(prefix, text, params);
24 | }
25 |
26 | public ChatComponentBuilder setUrl(String url, Object... params) {
27 | this.url = StringUtil.params(url, false, params);
28 | return this;
29 | }
30 |
31 | public ChatComponentBuilder setHover(String hoverText, Object... params) {
32 | this.hoverText = StringUtil.params(hoverText, params);
33 | return this;
34 | }
35 |
36 | public void send() {
37 | UniversalUtil.addChatMessage(text, url, hoverText);
38 | }
39 |
40 | }
41 |
--------------------------------------------------------------------------------
/src/main/java/me/semx11/autotip/chat/MessageOption.java:
--------------------------------------------------------------------------------
1 | package me.semx11.autotip.chat;
2 |
3 | import java.util.Arrays;
4 |
5 | public enum MessageOption {
6 | DEBUG("&6Debug"),
7 | SHOWN("&aShown"),
8 | COMPACT("&eCompact"),
9 | HIDDEN("&cHidden");
10 |
11 | private final String format;
12 |
13 | MessageOption(String format) {
14 | this.format = format;
15 | }
16 |
17 | public MessageOption next() {
18 | switch (this) {
19 | case DEBUG:
20 | case HIDDEN:
21 | return SHOWN;
22 | case SHOWN:
23 | return COMPACT;
24 | case COMPACT:
25 | return HIDDEN;
26 | default:
27 | return null;
28 | }
29 | }
30 |
31 | public static MessageOption valueOfIgnoreCase(String name) {
32 | return Arrays.stream(MessageOption.values())
33 | .filter(e -> e.name().equalsIgnoreCase(name))
34 | .findFirst()
35 | .orElseThrow(IllegalArgumentException::new);
36 | }
37 |
38 | @Override
39 | public String toString() {
40 | return format;
41 | }
42 |
43 | }
44 |
--------------------------------------------------------------------------------
/src/main/java/me/semx11/autotip/command/CommandAbstract.java:
--------------------------------------------------------------------------------
1 | package me.semx11.autotip.command;
2 |
3 | import cc.hyperium.commands.BaseCommand;
4 | import me.semx11.autotip.Autotip;
5 | import net.minecraft.command.ICommandSender;
6 |
7 | public abstract class CommandAbstract implements BaseCommand {
8 |
9 | public final Autotip autotip;
10 |
11 | public CommandAbstract(Autotip autotip) {
12 | this.autotip = autotip;
13 | }
14 |
15 |
16 |
17 |
18 | }
--------------------------------------------------------------------------------
/src/main/java/me/semx11/autotip/command/impl/CommandLimbo.java:
--------------------------------------------------------------------------------
1 | package me.semx11.autotip.command.impl;
2 |
3 | import cc.hyperium.commands.CommandException;
4 | import me.semx11.autotip.Autotip;
5 | import me.semx11.autotip.chat.MessageUtil;
6 | import me.semx11.autotip.command.CommandAbstract;
7 |
8 | public class CommandLimbo extends CommandAbstract {
9 |
10 | private boolean executed;
11 |
12 | public CommandLimbo(Autotip autotip) {
13 | super(autotip);
14 | }
15 |
16 | public boolean hasExecuted() {
17 | return executed;
18 | }
19 |
20 | public void setExecuted(boolean executed) {
21 | this.executed = executed;
22 | }
23 |
24 | @Override
25 | public String getName() {
26 | return "limbo";
27 | }
28 |
29 | @Override
30 | public String getUsage() {
31 | return "/limbo";
32 | }
33 |
34 | @Override
35 | public void onExecute(String[] args) throws CommandException {
36 | MessageUtil messageUtil = autotip.getMessageUtil();
37 |
38 | if (autotip.getSessionManager().isOnHypixel()) {
39 | executed = true;
40 | messageUtil.sendCommand("/achat \u00a7c");
41 | } else {
42 | messageUtil.send("&cYou must be on Hypixel to use this command!");
43 | }
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/src/main/java/me/semx11/autotip/event/Event.java:
--------------------------------------------------------------------------------
1 | package me.semx11.autotip.event;
2 |
3 | public interface Event {
4 |
5 | }
6 |
--------------------------------------------------------------------------------
/src/main/java/me/semx11/autotip/event/impl/EventClientTick.java:
--------------------------------------------------------------------------------
1 | package me.semx11.autotip.event.impl;
2 |
3 | import cc.hyperium.event.InvokeEvent;
4 | import cc.hyperium.event.client.TickEvent;
5 | import me.semx11.autotip.Autotip;
6 | import me.semx11.autotip.event.Event;
7 |
8 | public class EventClientTick implements Event {
9 |
10 | private final Autotip autotip;
11 |
12 | public EventClientTick(Autotip autotip) {
13 | this.autotip = autotip;
14 | }
15 |
16 | @InvokeEvent
17 | public void onClientTick(TickEvent event) {
18 | autotip.getMessageUtil().flushQueues();
19 | if (autotip.isInitialized()) autotip.getStatsManager().saveCycle();
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/src/main/java/me/semx11/autotip/gson/adapter/TypeAdapter.java:
--------------------------------------------------------------------------------
1 | package me.semx11.autotip.gson.adapter;
2 |
3 | import com.google.gson.JsonDeserializationContext;
4 | import com.google.gson.JsonDeserializer;
5 | import com.google.gson.JsonElement;
6 | import com.google.gson.JsonParseException;
7 | import com.google.gson.JsonSerializationContext;
8 | import com.google.gson.JsonSerializer;
9 | import java.lang.reflect.Type;
10 |
11 | public interface TypeAdapter extends JsonSerializer, JsonDeserializer {
12 |
13 | @Override
14 | default T deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
15 | throws JsonParseException {
16 | return deserialize(json);
17 | }
18 |
19 | @Override
20 | default JsonElement serialize(T src, Type typeOfSrc, JsonSerializationContext context) {
21 | return serialize(src);
22 | }
23 |
24 | T deserialize(JsonElement json);
25 |
26 | JsonElement serialize(T src);
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/src/main/java/me/semx11/autotip/gson/adapter/impl/LocaleAdapter.java:
--------------------------------------------------------------------------------
1 | package me.semx11.autotip.gson.adapter.impl;
2 |
3 | import com.google.gson.JsonElement;
4 | import com.google.gson.JsonPrimitive;
5 | import java.util.Locale;
6 | import me.semx11.autotip.gson.adapter.TypeAdapter;
7 |
8 | public class LocaleAdapter implements TypeAdapter {
9 |
10 | @Override
11 | public Locale deserialize(JsonElement json) {
12 | return Locale.forLanguageTag(json.getAsString());
13 | }
14 |
15 | @Override
16 | public JsonElement serialize(Locale src) {
17 | return new JsonPrimitive(src.toLanguageTag());
18 | }
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/src/main/java/me/semx11/autotip/gson/adapter/impl/PatternAdapter.java:
--------------------------------------------------------------------------------
1 | package me.semx11.autotip.gson.adapter.impl;
2 |
3 | import com.google.gson.JsonElement;
4 | import com.google.gson.JsonPrimitive;
5 | import java.util.regex.Pattern;
6 | import me.semx11.autotip.gson.adapter.TypeAdapter;
7 |
8 | public class PatternAdapter implements TypeAdapter {
9 |
10 | @Override
11 | public Pattern deserialize(JsonElement json) {
12 | return Pattern.compile(json.getAsString());
13 | }
14 |
15 | @Override
16 | public JsonElement serialize(Pattern src) {
17 | return new JsonPrimitive(src.pattern());
18 | }
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/src/main/java/me/semx11/autotip/gson/adapter/impl/SessionKeyAdapter.java:
--------------------------------------------------------------------------------
1 | package me.semx11.autotip.gson.adapter.impl;
2 |
3 | import com.google.gson.JsonElement;
4 | import com.google.gson.JsonPrimitive;
5 | import me.semx11.autotip.api.SessionKey;
6 | import me.semx11.autotip.gson.adapter.TypeAdapter;
7 |
8 | public class SessionKeyAdapter implements TypeAdapter {
9 |
10 | @Override
11 | public SessionKey deserialize(JsonElement json) {
12 | return new SessionKey(json.getAsString());
13 | }
14 |
15 | @Override
16 | public JsonElement serialize(SessionKey src) {
17 | return new JsonPrimitive(src.getKey());
18 | }
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/src/main/java/me/semx11/autotip/gson/adapter/impl/VersionAdapter.java:
--------------------------------------------------------------------------------
1 | package me.semx11.autotip.gson.adapter.impl;
2 |
3 | import com.google.gson.JsonElement;
4 | import com.google.gson.JsonPrimitive;
5 | import me.semx11.autotip.gson.adapter.TypeAdapter;
6 | import me.semx11.autotip.util.Version;
7 |
8 | public class VersionAdapter implements TypeAdapter {
9 |
10 | @Override
11 | public Version deserialize(JsonElement json) {
12 | return new Version(json.getAsString());
13 | }
14 |
15 | @Override
16 | public JsonElement serialize(Version src) {
17 | return new JsonPrimitive(src.get());
18 | }
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/src/main/java/me/semx11/autotip/gson/creator/ConfigCreator.java:
--------------------------------------------------------------------------------
1 | package me.semx11.autotip.gson.creator;
2 |
3 | import com.google.gson.InstanceCreator;
4 | import java.lang.reflect.Type;
5 | import me.semx11.autotip.Autotip;
6 | import me.semx11.autotip.config.Config;
7 |
8 | public class ConfigCreator implements InstanceCreator {
9 |
10 | private final Autotip autotip;
11 |
12 | public ConfigCreator(Autotip autotip) {
13 | this.autotip = autotip;
14 | }
15 |
16 | @Override
17 | public Config createInstance(Type type) {
18 | return new Config(autotip);
19 | }
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/src/main/java/me/semx11/autotip/gson/creator/StatsDailyCreator.java:
--------------------------------------------------------------------------------
1 | package me.semx11.autotip.gson.creator;
2 |
3 | import com.google.gson.InstanceCreator;
4 | import java.lang.reflect.Type;
5 | import me.semx11.autotip.Autotip;
6 | import me.semx11.autotip.stats.StatsDaily;
7 |
8 | public class StatsDailyCreator implements InstanceCreator {
9 |
10 | private final Autotip autotip;
11 |
12 | public StatsDailyCreator(Autotip autotip) {
13 | this.autotip = autotip;
14 | }
15 |
16 | @Override
17 | public StatsDaily createInstance(Type type) {
18 | return new StatsDaily(autotip);
19 | }
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/src/main/java/me/semx11/autotip/gson/creator/StatsMessageCreator.java:
--------------------------------------------------------------------------------
1 | package me.semx11.autotip.gson.creator;
2 |
3 | import com.google.gson.InstanceCreator;
4 | import java.lang.reflect.Type;
5 | import me.semx11.autotip.message.StatsMessage;
6 |
7 | public class StatsMessageCreator implements InstanceCreator {
8 |
9 | @Override
10 | public StatsMessage createInstance(Type type) {
11 | return new StatsMessage();
12 | }
13 |
14 | }
15 |
--------------------------------------------------------------------------------
/src/main/java/me/semx11/autotip/gson/exclusion/AnnotationExclusionStrategy.java:
--------------------------------------------------------------------------------
1 | package me.semx11.autotip.gson.exclusion;
2 |
3 | import com.google.gson.ExclusionStrategy;
4 | import com.google.gson.FieldAttributes;
5 |
6 | public class AnnotationExclusionStrategy implements ExclusionStrategy {
7 |
8 | @Override
9 | public boolean shouldSkipField(FieldAttributes f) {
10 | return f.getAnnotation(Exclude.class) != null;
11 | }
12 |
13 | @Override
14 | public boolean shouldSkipClass(Class> clazz) {
15 | return false;
16 | }
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/src/main/java/me/semx11/autotip/gson/exclusion/Exclude.java:
--------------------------------------------------------------------------------
1 | package me.semx11.autotip.gson.exclusion;
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 | @Retention(RetentionPolicy.RUNTIME)
9 | @Target(ElementType.FIELD)
10 | public @interface Exclude {
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/src/main/java/me/semx11/autotip/message/HoverMessage.java:
--------------------------------------------------------------------------------
1 | package me.semx11.autotip.message;
2 |
3 | import java.util.Map;
4 | import java.util.concurrent.ConcurrentHashMap;
5 | import java.util.regex.Pattern;
6 | import me.semx11.autotip.gson.exclusion.Exclude;
7 |
8 | public class HoverMessage extends Message {
9 |
10 | @Exclude
11 | private final Map hoverMessageCache = new ConcurrentHashMap<>();
12 |
13 | private StatsType statsType;
14 |
15 | public HoverMessage() {
16 | super();
17 | }
18 |
19 | public HoverMessage(Pattern pattern, StatsType statsType) {
20 | super(pattern);
21 | this.statsType = statsType;
22 | }
23 |
24 | public HoverMessageMatcher getMatcherFor(String input) {
25 | if (hoverMessageCache.containsKey(input)) return hoverMessageCache.get(input);
26 | HoverMessageMatcher matcher = new HoverMessageMatcher(pattern, input, statsType);
27 | hoverMessageCache.put(input, matcher);
28 | return matcher;
29 | }
30 |
31 | }
32 |
--------------------------------------------------------------------------------
/src/main/java/me/semx11/autotip/message/HoverMessageMatcher.java:
--------------------------------------------------------------------------------
1 | package me.semx11.autotip.message;
2 |
3 | import java.util.regex.Pattern;
4 | import me.semx11.autotip.stats.StatsDaily;
5 |
6 | public class HoverMessageMatcher extends MessageMatcher {
7 |
8 | private final StatsType statsType;
9 |
10 | public HoverMessageMatcher(Pattern pattern, String input, StatsType statsType) {
11 | super(pattern, input);
12 | this.statsType = statsType;
13 | }
14 |
15 | public void applyStats(StatsDaily stats) {
16 | statsType.getConsumer().accept(stats, this);
17 | }
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/src/main/java/me/semx11/autotip/message/Message.java:
--------------------------------------------------------------------------------
1 | package me.semx11.autotip.message;
2 |
3 | import java.util.Map;
4 | import java.util.concurrent.ConcurrentHashMap;
5 | import java.util.regex.Pattern;
6 | import me.semx11.autotip.chat.MessageOption;
7 | import me.semx11.autotip.gson.exclusion.Exclude;
8 |
9 | public class Message {
10 |
11 | @Exclude
12 | private final Map messageCache = new ConcurrentHashMap<>();
13 |
14 | protected Pattern pattern;
15 | private MessageOption hideFor;
16 |
17 | public Message() {
18 |
19 | }
20 |
21 | public Message(Pattern pattern) {
22 | this(pattern, MessageOption.HIDDEN);
23 | }
24 |
25 | public Message(Pattern pattern, MessageOption hideFor) {
26 | this.pattern = pattern;
27 | this.hideFor = hideFor;
28 | }
29 |
30 | public Pattern getPattern() {
31 | return pattern;
32 | }
33 |
34 | public MessageMatcher getMatcherFor(String input) {
35 | if (messageCache.containsKey(input)) return messageCache.get(input);
36 | MessageMatcher matcher = new MessageMatcher(pattern, input);
37 | messageCache.put(input, matcher);
38 | return matcher;
39 | }
40 |
41 | public boolean shouldHide(MessageOption option) {
42 | return hideFor.compareTo(option) <= 0;
43 | }
44 |
45 | }
46 |
--------------------------------------------------------------------------------
/src/main/java/me/semx11/autotip/message/MessageMatcher.java:
--------------------------------------------------------------------------------
1 | package me.semx11.autotip.message;
2 |
3 | import java.util.regex.Matcher;
4 | import java.util.regex.Pattern;
5 |
6 | public class MessageMatcher {
7 |
8 | private final Matcher matcher;
9 |
10 | public MessageMatcher(Pattern pattern, String input) {
11 | matcher = pattern.matcher(input);
12 | }
13 |
14 | public boolean matches() {
15 | return matcher.matches();
16 | }
17 |
18 | public int getInt(String group) {
19 | try {
20 | return Integer.parseInt(getString(group));
21 | } catch (NumberFormatException e) {
22 | throw new IllegalArgumentException("Group " + group + " is not of type int.");
23 | }
24 | }
25 |
26 | public String getString(String group) {
27 | return matcher.group(group);
28 | }
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/src/main/java/me/semx11/autotip/message/StatsMessageMatcher.java:
--------------------------------------------------------------------------------
1 | package me.semx11.autotip.message;
2 |
3 | import java.util.regex.Pattern;
4 | import me.semx11.autotip.stats.StatsDaily;
5 |
6 | public class StatsMessageMatcher extends MessageMatcher {
7 |
8 | private final StatsType statsType;
9 |
10 | public StatsMessageMatcher(Pattern pattern, String input, StatsType statsType) {
11 | super(pattern, input);
12 | this.statsType = statsType;
13 | }
14 |
15 | public void applyStats(StatsDaily stats) {
16 | statsType.getConsumer().accept(stats, this);
17 | }
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/src/main/java/me/semx11/autotip/stats/StatsRange.java:
--------------------------------------------------------------------------------
1 | package me.semx11.autotip.stats;
2 |
3 | import me.semx11.autotip.Autotip;
4 |
5 | import java.time.LocalDate;
6 |
7 | public class StatsRange extends Stats {
8 |
9 | private final LocalDate start;
10 | private final LocalDate end;
11 |
12 | public StatsRange(Autotip autotip, LocalDate start, LocalDate end) {
13 | super(autotip);
14 | if (start.isAfter(end)) {
15 | throw new IllegalArgumentException("Start date is after end date");
16 | }
17 | this.start = start;
18 | this.end = end;
19 | }
20 |
21 | public LocalDate getStart() {
22 | return start;
23 | }
24 |
25 | public LocalDate getEnd() {
26 | return end;
27 | }
28 |
29 | public String getStartString() {
30 | return DATE_FORMATTER.format(start);
31 | }
32 |
33 | public String getEndString() {
34 | return DATE_FORMATTER.format(end);
35 | }
36 |
37 |
38 | @Override
39 | public StatsRange merge(final Stats that) {
40 | assert !(that instanceof StatsRange) : "Cannot merge StatsRange with StatsRange";
41 | assert that instanceof StatsDaily : "Cannot merge with StatsRange";
42 | LocalDate date = ((StatsDaily) that).date;
43 | assert !date.isBefore(start) && !date.isAfter(end) : "Date is not in range";
44 | super.merge(that);
45 | return this;
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/src/main/java/me/semx11/autotip/util/HashUtil.java:
--------------------------------------------------------------------------------
1 | package me.semx11.autotip.util;
2 |
3 | import java.math.BigInteger;
4 | import java.nio.charset.StandardCharsets;
5 | import java.security.MessageDigest;
6 | import java.security.NoSuchAlgorithmException;
7 | import java.security.SecureRandom;
8 |
9 | public class HashUtil {
10 |
11 | private static final SecureRandom RANDOM = new SecureRandom();
12 |
13 | public static String getNextSalt() {
14 | return new BigInteger(130, RANDOM).toString(32);
15 | }
16 |
17 | public static String hash(String str) {
18 | try {
19 | byte[] digest = digest(str, "SHA-1");
20 | return new BigInteger(digest).toString(16);
21 | } catch (NoSuchAlgorithmException e) {
22 | throw new IllegalArgumentException(e);
23 | }
24 | }
25 |
26 | private static byte[] digest(String str, String algorithm) throws NoSuchAlgorithmException {
27 | MessageDigest md = MessageDigest.getInstance(algorithm);
28 | byte[] strBytes = str.getBytes(StandardCharsets.UTF_8);
29 | return md.digest(strBytes);
30 | }
31 |
32 | }
33 |
--------------------------------------------------------------------------------
/src/main/java/me/semx11/autotip/util/MinecraftVersion.java:
--------------------------------------------------------------------------------
1 | package me.semx11.autotip.util;
2 |
3 | import java.util.regex.Pattern;
4 |
5 | public enum MinecraftVersion {
6 | V1_8, V1_8_8, V1_8_9, V1_9, V1_9_4, V1_10, V1_10_2, V1_11, V1_11_2, V1_12, V1_12_1, V1_12_2;
7 |
8 | public static MinecraftVersion fromString(String version) throws IllegalArgumentException {
9 | Pattern p = Pattern.compile(
10 | "^(1\\.8(\\.[8-9])?|1\\.9(\\.4)?|1\\.10(\\.2)?|1\\.11(\\.2)?|1\\.12(\\.[1-2])?)$");
11 | return p.matcher(version).matches() ? valueOf("V" + version.replaceAll("\\.", "_")) : null;
12 | }
13 |
14 | public String toString() {
15 | return name().substring(1).replaceAll("_", ".");
16 | }
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/src/main/java/me/semx11/autotip/util/StringUtil.java:
--------------------------------------------------------------------------------
1 | package me.semx11.autotip.util;
2 |
3 | import java.util.regex.Matcher;
4 | import java.util.regex.Pattern;
5 |
6 | public class StringUtil {
7 |
8 | private static final Pattern FORMAT_PATTERN = Pattern.compile("(?im)&([0-9A-FK-OR])");
9 | private static final Pattern PARAM_PATTERN = Pattern.compile("\\{}");
10 |
11 | public static String params(String input, Object... params) {
12 | return params(input, true, params);
13 | }
14 |
15 | public static String params(String input, boolean color, Object... params) {
16 | if (color) input = format(input);
17 | if (params == null) return input;
18 |
19 | for (Object o : params) {
20 | if (o != null) {
21 | String replacement = Matcher.quoteReplacement(format(o.toString()));
22 | input = PARAM_PATTERN.matcher(input).replaceFirst(replacement);
23 | }
24 | }
25 |
26 | return input;
27 | }
28 |
29 | public static String format(String msg) {
30 | return msg.contains("&") ? FORMAT_PATTERN.matcher(msg).replaceAll("\u00a7$1") : msg;
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/src/main/java/me/semx11/autotip/util/Version.java:
--------------------------------------------------------------------------------
1 | package me.semx11.autotip.util;
2 |
3 | public class Version implements Comparable {
4 |
5 | private String version;
6 |
7 | public Version(String version) {
8 | assert version != null : "Version can not be null";
9 | assert version.matches("[0-9]+(\\.[0-9]+)*") : "Invalid version format";
10 | this.version = version;
11 | }
12 |
13 | public final String get() {
14 | return version;
15 | }
16 |
17 | @Override
18 | public int compareTo(Version that) {
19 | if (that == null) return 1;
20 | String[] thisParts = get().split("\\.");
21 | String[] thatParts = that.get().split("\\.");
22 | int length = Math.max(thisParts.length, thatParts.length);
23 | for (int i = 0; i < length; i++) {
24 | int thisPart = i < thisParts.length ? Integer.parseInt(thisParts[i]) : 0;
25 | int thatPart = i < thatParts.length ? Integer.parseInt(thatParts[i]) : 0;
26 | if (thisPart < thatPart) return -1;
27 | if (thisPart > thatPart) return 1;
28 | }
29 |
30 | return 0;
31 | }
32 |
33 | @Override
34 | public boolean equals(Object that) {
35 | return this == that || that != null && getClass() == that.getClass() && compareTo((Version) that) == 0;
36 | }
37 |
38 | @Override
39 | public String toString() {
40 | return get();
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/src/main/kotlin/cc/hyperium/Metadata.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 |
19 | /**
20 | * Contains String Constants of the mod
21 | */
22 | @file:JvmName("Metadata")
23 |
24 | package cc.hyperium
25 |
26 | val MODID
27 | @JvmName("getModid")
28 | get() = "Hyperium"
29 |
30 | val VERSION
31 | @JvmName("getVersion")
32 | get() = "1.2.3"
33 |
34 | /**
35 | * @since 12 (Hyperium Build 12)
36 | */
37 | val VERSION_ID
38 | @JvmName("getVersionID")
39 | get() = Hyperium.BUILD_ID
40 |
41 | /**
42 | * @since 15 (Hyperium Build 15)
43 | */
44 | val DEVELOPMENT
45 | @JvmName("isDevelopment")
46 | get() = false
47 |
--------------------------------------------------------------------------------
/src/main/kotlin/cc/hyperium/gui/main/components/OverlayButton.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.gui.main.components
19 |
20 | @Deprecated("Soon to be removed, please refrain from using.")
21 | class OverlayButton(label: String, val callback: Runnable) : OverlayLabel(label, true, Runnable { }) {
22 | override fun mouseClicked(mouseX: Int, mouseY: Int, overlayX: Int, overlayY: Int, w: Int, h: Int) {
23 | if (mouseX >= overlayX && mouseX <= overlayX + w && mouseY >= overlayY && mouseY <= overlayY + h)
24 | callback.run()
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/main/kotlin/cc/hyperium/internal/addons/annotations/Instance.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.internal.addons.annotations
19 |
20 | annotation class Instance
21 |
--------------------------------------------------------------------------------
/src/main/kotlin/cc/hyperium/internal/addons/misc/AddonLoadException.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.internal.addons.misc
19 |
20 | /**
21 | * When an exception is called when loading the Addon
22 | *
23 | * @since 1.0
24 | * @author Kevin Brewster
25 | */
26 | class AddonLoadException(msg: String) : Exception(msg)
27 |
--------------------------------------------------------------------------------
/src/main/kotlin/cc/hyperium/internal/addons/translate/AbstractTranslator.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.internal.addons.translate
19 |
20 | abstract class AbstractTranslator : ITranslator
21 |
--------------------------------------------------------------------------------
/src/main/kotlin/cc/hyperium/internal/addons/translate/ITranslator.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.internal.addons.translate
19 |
20 | import cc.hyperium.internal.addons.AddonManifest
21 |
22 |
23 | interface ITranslator {
24 |
25 | fun translate(manifest: AddonManifest)
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/src/main/kotlin/cc/hyperium/internal/addons/translate/MixinTranslator.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.internal.addons.translate
19 |
20 | import cc.hyperium.internal.addons.AddonManifest
21 | import org.spongepowered.asm.mixin.Mixins
22 |
23 | class MixinTranslator : AbstractTranslator() {
24 |
25 | override fun translate(manifest: AddonManifest) {
26 | manifest.mixinConfigs?.forEach { Mixins.addConfiguration(it) }
27 | }
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/src/main/kotlin/cc/hyperium/internal/addons/translate/TransformerTranslator.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2018-present Hyperium
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU Lesser General Public License as published
6 | * by the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU Lesser General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU Lesser General Public License
15 | * along with this program. If not, see .
16 | */
17 |
18 | package cc.hyperium.internal.addons.translate
19 |
20 | import cc.hyperium.internal.addons.AddonManifest
21 | import net.minecraft.launchwrapper.Launch
22 |
23 | class TransformerTranslator : ITranslator {
24 | override fun translate(manifest: AddonManifest) {
25 | val transformerClass = manifest.transformerClass ?: return
26 | Launch.classLoader.registerTransformer(transformerClass)
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/src/main/kotlin/com/chattriggers/ctjs/commands/Command.kt:
--------------------------------------------------------------------------------
1 | package com.chattriggers.ctjs.commands
2 |
3 | import cc.hyperium.commands.BaseCommand
4 | import com.chattriggers.ctjs.triggers.OnTrigger
5 |
6 | class Command(trigger: OnTrigger, private val name: String, private val usage: String) : BaseCommand {
7 | private var triggers = mutableListOf(trigger)
8 |
9 | fun getTriggers() = triggers
10 |
11 | override fun getName() = name
12 |
13 | override fun getUsage() = usage
14 |
15 | override fun onExecute(args: Array) = trigger(args)
16 |
17 | private fun trigger(args: Array) {
18 | for (trigger in triggers)
19 | trigger.trigger(*args)
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/src/main/kotlin/com/chattriggers/ctjs/commands/CommandHandler.kt:
--------------------------------------------------------------------------------
1 | package com.chattriggers.ctjs.commands
2 |
3 | object CommandHandler {
4 | private var commandList = mutableListOf()
5 | @JvmStatic
6 | fun getCommandList() = commandList
7 | }
8 |
--------------------------------------------------------------------------------
/src/main/kotlin/com/chattriggers/ctjs/engine/module/ModuleMetadata.kt:
--------------------------------------------------------------------------------
1 | package com.chattriggers.ctjs.engine.module
2 |
3 | import java.util.ArrayList
4 |
5 | data class ModuleMetadata(
6 | val name: String? = null,
7 | val version: String? = null,
8 | val tags: ArrayList? = null,
9 | val pictureLink: String? = null,
10 | val creator: String? = null,
11 | val description: String? = null,
12 | val requires: ArrayList? = null,
13 | val ignored: ArrayList? = null,
14 | var fileName: String? = null,
15 | var isRequired: Boolean = false
16 | ) {
17 | val isDefault: Boolean
18 | get() = name == null
19 | }
20 |
--------------------------------------------------------------------------------
/src/main/kotlin/com/chattriggers/ctjs/minecraft/libs/EventLib.kt:
--------------------------------------------------------------------------------
1 | package com.chattriggers.ctjs.minecraft.libs
2 |
3 | import cc.hyperium.event.CancellableEvent
4 | import com.chattriggers.ctjs.utils.Cancellable
5 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo
6 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable
7 |
8 | object EventLib {
9 | /**
10 | * Cancel an event. Automatically used with `cancel(event)`.
11 | *
12 | * @param event the event to cancel
13 | * @throws IllegalArgumentException if event can be cancelled "normally"
14 | */
15 | @JvmStatic
16 | @Throws(IllegalArgumentException::class)
17 | fun cancel(event: Any) {
18 | when (event) {
19 | is CallbackInfoReturnable<*> -> {
20 | if (!event.isCancellable) return
21 | event.setReturnValue(null)
22 | }
23 | is CallbackInfo -> {
24 | if (!event.isCancellable) return
25 | event.cancel()
26 | }
27 | is CancellableEvent ->
28 | event.isCancelled = true
29 | is Cancellable ->
30 | event.isCancelled = true
31 | else -> throw IllegalArgumentException()
32 | }
33 | }
34 | }
--------------------------------------------------------------------------------
/src/main/kotlin/com/chattriggers/ctjs/minecraft/objects/ParticleEffect.kt:
--------------------------------------------------------------------------------
1 | package com.chattriggers.ctjs.minecraft.objects
2 |
3 | import com.chattriggers.ctjs.minecraft.wrappers.World
4 | import com.chattriggers.ctjs.utils.kotlin.External
5 | import com.chattriggers.ctjs.utils.kotlin.MCParticle
6 |
7 | @External
8 | class ParticleEffect constructor(
9 | x: Double,
10 | y: Double,
11 | z: Double,
12 | xSpeed: Double = 0.0,
13 | ySpeed: Double = 0.0,
14 | zSpeed: Double = 0.0
15 | ) : MCParticle(World.getWorld(), x, y, z, xSpeed, ySpeed, zSpeed) {
16 | fun scale(scale: Float) = apply { super.multipleParticleScaleBy(scale) }
17 |
18 | override fun multiplyVelocity(multiplier: Float) = apply { super.multiplyVelocity(multiplier) }
19 |
20 | fun setColor(r: Float, g: Float, b: Float, a: Float? = null) = apply {
21 | super.setRBGColorF(r, g, b)
22 | if (a != null) alpha = a
23 | }
24 |
25 | fun setColor(color: Int) = apply {
26 | setColor(
27 | (color shr 16 and 255).toFloat() / 255.0f,
28 | (color shr 8 and 255).toFloat() / 255.0f,
29 | (color and 255).toFloat() / 255.0f,
30 | (color shr 24 and 255).toFloat() / 255.0f
31 | )
32 | }
33 |
34 | fun setAlpha(a: Float) = apply { super.setAlphaF(a) }
35 |
36 | fun remove() = apply {
37 | super.setDead()
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/src/main/kotlin/com/chattriggers/ctjs/minecraft/objects/display/DisplayHandler.kt:
--------------------------------------------------------------------------------
1 | package com.chattriggers.ctjs.minecraft.objects.display
2 |
3 | import cc.hyperium.event.InvokeEvent
4 | import cc.hyperium.event.render.RenderHUDEvent
5 | import com.chattriggers.ctjs.utils.kotlin.KotlinListener
6 | import org.lwjgl.opengl.GL11
7 |
8 | @KotlinListener
9 | object DisplayHandler {
10 | private var displays = mutableListOf()
11 |
12 | fun registerDisplay(display: Display) = displays.add(display)
13 | fun clearDisplays() = displays.clear()
14 |
15 | @InvokeEvent
16 | fun renderDisplays(event: RenderHUDEvent) {
17 | GL11.glPushMatrix()
18 | displays.forEach { it.render() }
19 | GL11.glPopMatrix()
20 | }
21 |
22 | enum class Background {
23 | NONE, FULL, PER_LINE;
24 | }
25 |
26 | enum class Align {
27 | NONE, LEFT, CENTER, RIGHT;
28 | }
29 |
30 | enum class Order {
31 | UP, DOWN;
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/src/main/kotlin/com/chattriggers/ctjs/minecraft/objects/gui/GuiHandler.kt:
--------------------------------------------------------------------------------
1 | package com.chattriggers.ctjs.minecraft.objects.gui
2 |
3 | import cc.hyperium.event.InvokeEvent
4 | import cc.hyperium.event.client.TickEvent
5 | import com.chattriggers.ctjs.utils.kotlin.KotlinListener
6 | import net.minecraft.client.Minecraft
7 | import net.minecraft.client.gui.GuiScreen
8 |
9 | @KotlinListener
10 | object GuiHandler {
11 | private val GUIs: MutableMap = mutableMapOf()
12 |
13 | fun openGui(gui: GuiScreen) {
14 | GUIs[gui] = 1
15 | }
16 |
17 | fun clearGuis() {
18 | GUIs.clear()
19 | }
20 |
21 | @InvokeEvent
22 | fun onTick(event: TickEvent) {
23 | GUIs.forEach {
24 | if (it.value == 0) {
25 | Minecraft.getMinecraft().displayGuiScreen(it.key)
26 | GUIs[it.key] = -1
27 | } else {
28 | GUIs[it.key] = 0
29 | }
30 | }
31 |
32 | GUIs.entries.removeIf {
33 | it.value == -1
34 | }
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/src/main/kotlin/com/chattriggers/ctjs/minecraft/wrappers/objects/Chunk.kt:
--------------------------------------------------------------------------------
1 | package com.chattriggers.ctjs.minecraft.wrappers.objects
2 |
3 | import com.chattriggers.ctjs.utils.kotlin.External
4 | import com.chattriggers.ctjs.utils.kotlin.MCChunk
5 | import java.util.stream.Collectors
6 |
7 | @External
8 | class Chunk(val chunk: MCChunk) {
9 | /**
10 | * Gets every entity in this chunk
11 | *
12 | * @return the entity list
13 | */
14 | fun getAllEntities(): List {
15 | return chunk.entityLists.toList().flatten().map {
16 | Entity(it)
17 | }
18 | }
19 |
20 | /**
21 | * Gets every entity in this chunk of a certain class
22 | *
23 | * @param clazz the class to filter for (Use `Java.type().class` to get this)
24 | * @return the entity list
25 | */
26 | fun getAllEntitiesOfType(clazz: Class<*>): List {
27 | return getAllEntities().filter {
28 | it.entity.javaClass == clazz
29 | }
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/src/main/kotlin/com/chattriggers/ctjs/minecraft/wrappers/objects/PotionEffect.kt:
--------------------------------------------------------------------------------
1 | package com.chattriggers.ctjs.minecraft.wrappers.objects
2 |
3 | import com.chattriggers.ctjs.utils.kotlin.External
4 | import com.chattriggers.ctjs.utils.kotlin.MCPotionEffect
5 |
6 | @External
7 | class PotionEffect(private val effect: MCPotionEffect) {
8 | fun getName(): String = effect.effectName
9 |
10 | fun getAmplifier(): Int = effect.amplifier
11 |
12 | fun getDuration(): Int = effect.duration
13 |
14 | fun getID(): Int = effect.potionID
15 |
16 | fun isAmbient(): Boolean = effect.isAmbient
17 |
18 | fun isDurationMax(): Boolean = effect.isPotionDurationMax
19 |
20 | fun showsParticles(): Boolean = effect.isShowParticles
21 |
22 | override fun toString() = effect.toString()
23 | }
24 |
--------------------------------------------------------------------------------
/src/main/kotlin/com/chattriggers/ctjs/minecraft/wrappers/objects/block/Sign.kt:
--------------------------------------------------------------------------------
1 | package com.chattriggers.ctjs.minecraft.wrappers.objects.block
2 |
3 | import com.chattriggers.ctjs.minecraft.objects.message.Message
4 | import com.chattriggers.ctjs.minecraft.wrappers.World
5 | import com.chattriggers.ctjs.utils.kotlin.External
6 | import net.minecraft.tileentity.TileEntitySign
7 |
8 | /**
9 | * Creates a new Sign object wrapper.
10 | * Returned with {@link Player#lookingAt()} when looking at a sign.
11 | * Extends {@link Block}.
12 | *
13 | * @param block the {@link Block} to convert to a Sign
14 | */
15 | @External
16 | class Sign(block: Block) : Block(block) {
17 | private val sign: TileEntitySign = World.getWorld()!!.getTileEntity(blockPos) as TileEntitySign
18 |
19 | fun getLines(): List = sign.signText.map { Message(it) }
20 |
21 | fun getFormattedLines(): List = sign.signText.map { it.formattedText }
22 |
23 | fun getUnformattedLines(): List = sign.signText.map { it.unformattedText }
24 |
25 | override fun toString() =
26 | "Sign{lines=${getLines()}, name=${getRegistryName()}, x=${getX()}, y=${getY()}, z=${getZ()}}"
27 | }
28 |
--------------------------------------------------------------------------------
/src/main/kotlin/com/chattriggers/ctjs/minecraft/wrappers/objects/inventory/action/DropAction.kt:
--------------------------------------------------------------------------------
1 | package com.chattriggers.ctjs.minecraft.wrappers.objects.inventory.action
2 |
3 | import com.chattriggers.ctjs.utils.kotlin.External
4 |
5 | @External
6 | class DropAction(slot: Int, windowId: Int) : Action(slot, windowId) {
7 | private var holdingCtrl = false
8 |
9 | fun getHoldingCtrl(): Boolean = holdingCtrl
10 |
11 | /**
12 | * Whether the click should act as if control is being held (defaults to false)
13 | *
14 | * @param holdingCtrl to hold ctrl or not
15 | */
16 | fun setHoldingCtrl(holdingCtrl: Boolean) = apply {
17 | this.holdingCtrl = holdingCtrl
18 | }
19 |
20 | override fun complete() {
21 | doClick(
22 | if (holdingCtrl) 1 else 0,
23 | 4
24 | )
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/main/kotlin/com/chattriggers/ctjs/minecraft/wrappers/objects/inventory/action/KeyAction.kt:
--------------------------------------------------------------------------------
1 | package com.chattriggers.ctjs.minecraft.wrappers.objects.inventory.action
2 |
3 | import com.chattriggers.ctjs.utils.kotlin.External
4 |
5 | @External
6 | class KeyAction(slot: Int, windowId: Int) : Action(slot, windowId) {
7 | private var key: Int = -1
8 |
9 | fun getKey(): Int = key
10 |
11 | /**
12 | * Which key to act as if has been clicked (REQUIRED).
13 | * Options currently are 0-8, representing the hotbar keys
14 | *
15 | * @param key which key to "click"
16 | */
17 | fun setKey(key: Int) = apply {
18 | this.key = key
19 | }
20 |
21 | override fun complete() {
22 | doClick(key, 2)
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/src/main/kotlin/com/chattriggers/ctjs/minecraft/wrappers/objects/threading/ThreadHandler.kt:
--------------------------------------------------------------------------------
1 | package com.chattriggers.ctjs.minecraft.wrappers.objects.threading
2 |
3 | import java.util.*
4 |
5 | class ThreadHandler {
6 | private val activeThreads: MutableList
7 |
8 | init {
9 | activeThreads = ArrayList()
10 | }
11 |
12 | fun addThread(thread: WrappedThread) =
13 | activeThreads.add(thread)
14 |
15 | fun removeThread(thread: WrappedThread) =
16 | activeThreads.removeIf { thread1 -> thread1 === thread }
17 |
18 | fun stopThreads() {
19 | activeThreads.forEach { it.interrupt() }
20 | activeThreads.clear()
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/src/main/kotlin/com/chattriggers/ctjs/minecraft/wrappers/objects/threading/WrappedThread.kt:
--------------------------------------------------------------------------------
1 | package com.chattriggers.ctjs.minecraft.wrappers.objects.threading
2 |
3 | class WrappedThread(task: Runnable) : Thread({
4 | task.run()
5 | })
--------------------------------------------------------------------------------
/src/main/kotlin/com/chattriggers/ctjs/triggers/OnRegularTrigger.kt:
--------------------------------------------------------------------------------
1 | package com.chattriggers.ctjs.triggers
2 |
3 | import com.chattriggers.ctjs.engine.ILoader
4 | import com.chattriggers.ctjs.utils.kotlin.External
5 |
6 | @External
7 | class OnRegularTrigger(method: Any, triggerType: TriggerType, loader: ILoader) :
8 | OnTrigger(method, triggerType, loader) {
9 | override fun trigger(vararg args: Any?) {
10 | callMethod(*args)
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/main/kotlin/com/chattriggers/ctjs/triggers/OnRenderTrigger.kt:
--------------------------------------------------------------------------------
1 | package com.chattriggers.ctjs.triggers
2 |
3 | import cc.hyperium.event.render.RenderHUDEvent
4 | import com.chattriggers.ctjs.engine.ILoader
5 |
6 | class OnRenderTrigger(method: Any, triggerType: TriggerType, loader: ILoader) : OnTrigger(method, triggerType, loader) {
7 | private var triggerIfCanceled: Boolean = true
8 |
9 | /**
10 | * Sets if the render trigger should run if the event has already been canceled.
11 | * True by default.
12 | * @param bool Boolean to set
13 | * @return the trigger object for method chaining
14 | */
15 | fun triggerIfCanceled(bool: Boolean) = apply { this.triggerIfCanceled = bool }
16 |
17 | override fun trigger(vararg args: Any?) {
18 | if (args[0] !is RenderHUDEvent)
19 | throw IllegalArgumentException("Argument 0 must be a RenderHUDEvent")
20 |
21 | callMethod(*args)
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/src/main/kotlin/com/chattriggers/ctjs/triggers/OnSoundPlayTrigger.kt:
--------------------------------------------------------------------------------
1 | package com.chattriggers.ctjs.triggers
2 |
3 | import com.chattriggers.ctjs.engine.ILoader
4 | import com.chattriggers.ctjs.utils.kotlin.External
5 |
6 | @External
7 | class OnSoundPlayTrigger(method: Any, loader: ILoader) : OnTrigger(method, TriggerType.SOUND_PLAY, loader) {
8 | var soundNameCriteria = ""
9 |
10 | /**
11 | * Sets the sound name criteria.
12 | * Short hand for [OnSoundPlayTrigger.setSoundNameCriteria].
13 | *
14 | * @param soundNameCriteria the sound name
15 | * @return the trigger for method chaining
16 | */
17 | fun setCriteria(soundNameCriteria: String) = apply { this.soundNameCriteria = soundNameCriteria }
18 |
19 | override fun trigger(vararg args: Any?) {
20 | if (args[2] is String
21 | && soundNameCriteria != ""
22 | && !(args[2] as String).equals(soundNameCriteria, ignoreCase = true)
23 | )
24 | return
25 |
26 | callMethod(*args)
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/src/main/kotlin/com/chattriggers/ctjs/triggers/TriggerType.kt:
--------------------------------------------------------------------------------
1 | package com.chattriggers.ctjs.triggers
2 |
3 | import com.chattriggers.ctjs.engine.ModuleManager
4 |
5 | enum class TriggerType {
6 | // client
7 | CHAT,
8 | ACTION_BAR,
9 | TICK, STEP,
10 | GAME_UNLOAD, GAME_LOAD,
11 | CLICKED, DRAGGED,
12 | GUI_OPENED, SCREENSHOT_TAKEN,
13 | PICKUP_ITEM, DROP_ITEM,
14 | MESSAGE_SENT, TOOLTIP,
15 |
16 | // rendering
17 | RENDER_WORLD,
18 | BLOCK_HIGHLIGHT,
19 | RENDER_OVERLAY, RENDER_PLAYER_LIST, RENDER_BOSS_HEALTH, RENDER_DEBUG,
20 | RENDER_CROSSHAIR, RENDER_HOTBAR, RENDER_EXPERIENCE,
21 | RENDER_HEALTH, RENDER_FOOD, RENDER_MOUNT_HEALTH, RENDER_AIR,
22 |
23 | // world
24 | PLAYER_JOIN,
25 | PLAYER_LEAVE,
26 | SOUND_PLAY, NOTE_BLOCK_PLAY, NOTE_BLOCK_CHANGE,
27 | WORLD_LOAD, WORLD_UNLOAD,
28 |
29 | // misc
30 | COMMAND,
31 | OTHER;
32 |
33 | fun trigger(vararg args: Any?) {
34 | ModuleManager.trigger(this, *args)
35 | }
36 |
37 | fun triggerAll(vararg args: Any?) {
38 | trigger(*args)
39 | }
40 | }
--------------------------------------------------------------------------------
/src/main/kotlin/com/chattriggers/ctjs/utils/Cancellable.kt:
--------------------------------------------------------------------------------
1 | package com.chattriggers.ctjs.utils
2 |
3 | class Cancellable {
4 | var isCancelled: Boolean = false
5 | }
6 |
--------------------------------------------------------------------------------
/src/main/kotlin/com/chattriggers/ctjs/utils/Utils.kt:
--------------------------------------------------------------------------------
1 | package com.chattriggers.ctjs.utils
2 |
3 | import com.google.common.collect.UnmodifiableListIterator
4 | import java.util.*
5 |
6 | object Utils {
7 | @JvmField
8 | val EMPTY_ITERATOR = object : UnmodifiableListIterator() {
9 | override fun hasNext(): Boolean = false
10 |
11 | override fun next(): Any {
12 | throw NoSuchElementException()
13 | }
14 |
15 | override fun hasPrevious(): Boolean = false
16 |
17 | override fun previous(): Any {
18 | throw NoSuchElementException()
19 | }
20 |
21 | override fun nextIndex(): Int = 0
22 |
23 | override fun previousIndex(): Int = -1
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/src/main/kotlin/com/chattriggers/ctjs/utils/config/ConfigAnnotations.kt:
--------------------------------------------------------------------------------
1 | package com.chattriggers.ctjs.utils.config
2 |
3 | import kotlin.reflect.KClass
4 |
5 | @Retention(AnnotationRetention.RUNTIME)
6 | @Target(AnnotationTarget.PROPERTY)
7 | annotation class ConfigOpt(val name: String, val x: Int, val y: Int, val type: KClass<*>)
8 |
--------------------------------------------------------------------------------
/src/main/kotlin/com/chattriggers/ctjs/utils/console/TextAreaOutputStream.kt:
--------------------------------------------------------------------------------
1 | package com.chattriggers.ctjs.utils.console
2 |
3 | import java.io.File
4 | import java.io.OutputStream
5 | import java.io.PrintStream
6 | import javax.swing.JTextArea
7 |
8 | class TextAreaOutputStream(private val textArea: JTextArea, lang: String) : OutputStream() {
9 | private val buffer = StringBuilder(128)
10 |
11 | init {
12 | val file = File("./logs/ctjs-$lang.log")
13 | file.delete()
14 | file.createNewFile()
15 | }
16 |
17 | private val logger = File("./logs/ctjs-$lang.log").bufferedWriter()
18 |
19 | val printStream = PrintStream(this)
20 |
21 | override fun write(b: Int) {
22 | val letter = b.toChar()
23 | buffer.append(letter)
24 |
25 | if (letter == '\n') {
26 | val line = buffer.toString()
27 |
28 | textArea.append(line)
29 | logger.append(line)
30 |
31 | buffer.delete(0, buffer.length)
32 | }
33 | }
34 |
35 | fun println(line: Any) {
36 | printStream.println(line)
37 | }
38 |
39 | fun clear() {
40 | textArea.text = ""
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/src/main/kotlin/com/chattriggers/ctjs/utils/kotlin/Extensions.kt:
--------------------------------------------------------------------------------
1 | package com.chattriggers.ctjs.utils.kotlin
2 |
3 | import net.minecraft.client.renderer.Tessellator
4 |
5 | fun ITextComponent.getStyling(): TextStyle =
6 | this.chatStyle!!
7 |
8 | fun TextStyle.getClick(): TextClickEvent? =
9 | chatClickEvent
10 |
11 | fun TextStyle.getHover(): TextHoverEvent? =
12 | chatHoverEvent
13 |
14 | fun Tessellator.getRenderer(): WorldRenderer =
15 | worldRenderer
16 |
17 | operator fun String.times(times: Number): String {
18 | val stringBuilder = StringBuilder()
19 |
20 | for (i in 0..times.toInt()) {
21 | stringBuilder.append(this)
22 | }
23 |
24 | return stringBuilder.toString()
25 | }
26 |
--------------------------------------------------------------------------------
/src/main/resources/UriScheme.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HyperiumClient/Hyperium/720059116537592859cf25e13586de7980a9113e/src/main/resources/UriScheme.class
--------------------------------------------------------------------------------
/src/main/resources/assets/hyperium/fonts/Montserrat-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HyperiumClient/Hyperium/720059116537592859cf25e13586de7980a9113e/src/main/resources/assets/hyperium/fonts/Montserrat-Regular.ttf
--------------------------------------------------------------------------------
/src/main/resources/assets/hyperium/fonts/Raleway-SemiBold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HyperiumClient/Hyperium/720059116537592859cf25e13586de7980a9113e/src/main/resources/assets/hyperium/fonts/Raleway-SemiBold.ttf
--------------------------------------------------------------------------------
/src/main/resources/assets/hyperium/fonts/Roboto-Medium.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HyperiumClient/Hyperium/720059116537592859cf25e13586de7980a9113e/src/main/resources/assets/hyperium/fonts/Roboto-Medium.ttf
--------------------------------------------------------------------------------
/src/main/resources/assets/hyperium/fonts/Roboto-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HyperiumClient/Hyperium/720059116537592859cf25e13586de7980a9113e/src/main/resources/assets/hyperium/fonts/Roboto-Regular.ttf
--------------------------------------------------------------------------------
/src/main/resources/assets/hyperium/fonts/RobotoCondensed-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HyperiumClient/Hyperium/720059116537592859cf25e13586de7980a9113e/src/main/resources/assets/hyperium/fonts/RobotoCondensed-Regular.ttf
--------------------------------------------------------------------------------
/src/main/resources/assets/hyperium/fonts/SegoeUI-Light.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HyperiumClient/Hyperium/720059116537592859cf25e13586de7980a9113e/src/main/resources/assets/hyperium/fonts/SegoeUI-Light.ttf
--------------------------------------------------------------------------------
/src/main/resources/assets/hyperium/icons/icon-16x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HyperiumClient/Hyperium/720059116537592859cf25e13586de7980a9113e/src/main/resources/assets/hyperium/icons/icon-16x.png
--------------------------------------------------------------------------------
/src/main/resources/assets/hyperium/icons/icon-32x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HyperiumClient/Hyperium/720059116537592859cf25e13586de7980a9113e/src/main/resources/assets/hyperium/icons/icon-32x.png
--------------------------------------------------------------------------------
/src/main/resources/assets/hyperium/pack.mcmeta:
--------------------------------------------------------------------------------
1 | {
2 | "pack": {
3 | "pack_format": 1,
4 | "description": "Resources"
5 | }
6 | }
--------------------------------------------------------------------------------
/src/main/resources/assets/minecraft/sounds/zoo.ogg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HyperiumClient/Hyperium/720059116537592859cf25e13586de7980a9113e/src/main/resources/assets/minecraft/sounds/zoo.ogg
--------------------------------------------------------------------------------
/src/main/resources/assets/minecraft/textures/chromahud/iconsheet.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HyperiumClient/Hyperium/720059116537592859cf25e13586de7980a9113e/src/main/resources/assets/minecraft/textures/chromahud/iconsheet.png
--------------------------------------------------------------------------------
/src/main/resources/assets/minecraft/textures/cosmetics/companions/hamsterbrown.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HyperiumClient/Hyperium/720059116537592859cf25e13586de7980a9113e/src/main/resources/assets/minecraft/textures/cosmetics/companions/hamsterbrown.png
--------------------------------------------------------------------------------
/src/main/resources/assets/minecraft/textures/cosmetics/hats/fez.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HyperiumClient/Hyperium/720059116537592859cf25e13586de7980a9113e/src/main/resources/assets/minecraft/textures/cosmetics/hats/fez.png
--------------------------------------------------------------------------------
/src/main/resources/assets/minecraft/textures/cosmetics/hats/lego.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HyperiumClient/Hyperium/720059116537592859cf25e13586de7980a9113e/src/main/resources/assets/minecraft/textures/cosmetics/hats/lego.png
--------------------------------------------------------------------------------
/src/main/resources/assets/minecraft/textures/cosmetics/hats/tophat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HyperiumClient/Hyperium/720059116537592859cf25e13586de7980a9113e/src/main/resources/assets/minecraft/textures/cosmetics/hats/tophat.png
--------------------------------------------------------------------------------
/src/main/resources/assets/minecraft/textures/cosmetics/wings/dragonwings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HyperiumClient/Hyperium/720059116537592859cf25e13586de7980a9113e/src/main/resources/assets/minecraft/textures/cosmetics/wings/dragonwings.png
--------------------------------------------------------------------------------
/src/main/resources/assets/minecraft/textures/font/Montserrat-Bold.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HyperiumClient/Hyperium/720059116537592859cf25e13586de7980a9113e/src/main/resources/assets/minecraft/textures/font/Montserrat-Bold.png
--------------------------------------------------------------------------------
/src/main/resources/assets/minecraft/textures/font/Montserrat-Light.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HyperiumClient/Hyperium/720059116537592859cf25e13586de7980a9113e/src/main/resources/assets/minecraft/textures/font/Montserrat-Light.png
--------------------------------------------------------------------------------
/src/main/resources/assets/minecraft/textures/font/Montserrat-Regular.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HyperiumClient/Hyperium/720059116537592859cf25e13586de7980a9113e/src/main/resources/assets/minecraft/textures/font/Montserrat-Regular.png
--------------------------------------------------------------------------------
/src/main/resources/assets/minecraft/textures/hyperium-splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HyperiumClient/Hyperium/720059116537592859cf25e13586de7980a9113e/src/main/resources/assets/minecraft/textures/hyperium-splash.png
--------------------------------------------------------------------------------
/src/main/resources/assets/minecraft/textures/material/arrow_down_alt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HyperiumClient/Hyperium/720059116537592859cf25e13586de7980a9113e/src/main/resources/assets/minecraft/textures/material/arrow_down_alt.png
--------------------------------------------------------------------------------
/src/main/resources/assets/minecraft/textures/material/arrow_left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HyperiumClient/Hyperium/720059116537592859cf25e13586de7980a9113e/src/main/resources/assets/minecraft/textures/material/arrow_left.png
--------------------------------------------------------------------------------
/src/main/resources/assets/minecraft/textures/material/arrow_right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HyperiumClient/Hyperium/720059116537592859cf25e13586de7980a9113e/src/main/resources/assets/minecraft/textures/material/arrow_right.png
--------------------------------------------------------------------------------
/src/main/resources/assets/minecraft/textures/material/arrow_up_alt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HyperiumClient/Hyperium/720059116537592859cf25e13586de7980a9113e/src/main/resources/assets/minecraft/textures/material/arrow_up_alt.png
--------------------------------------------------------------------------------
/src/main/resources/assets/minecraft/textures/material/backgrounds/1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HyperiumClient/Hyperium/720059116537592859cf25e13586de7980a9113e/src/main/resources/assets/minecraft/textures/material/backgrounds/1.png
--------------------------------------------------------------------------------
/src/main/resources/assets/minecraft/textures/material/backgrounds/2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HyperiumClient/Hyperium/720059116537592859cf25e13586de7980a9113e/src/main/resources/assets/minecraft/textures/material/backgrounds/2.png
--------------------------------------------------------------------------------
/src/main/resources/assets/minecraft/textures/material/backgrounds/3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HyperiumClient/Hyperium/720059116537592859cf25e13586de7980a9113e/src/main/resources/assets/minecraft/textures/material/backgrounds/3.png
--------------------------------------------------------------------------------
/src/main/resources/assets/minecraft/textures/material/backgrounds/4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HyperiumClient/Hyperium/720059116537592859cf25e13586de7980a9113e/src/main/resources/assets/minecraft/textures/material/backgrounds/4.png
--------------------------------------------------------------------------------
/src/main/resources/assets/minecraft/textures/material/backgrounds/5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HyperiumClient/Hyperium/720059116537592859cf25e13586de7980a9113e/src/main/resources/assets/minecraft/textures/material/backgrounds/5.png
--------------------------------------------------------------------------------
/src/main/resources/assets/minecraft/textures/material/backgrounds/6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HyperiumClient/Hyperium/720059116537592859cf25e13586de7980a9113e/src/main/resources/assets/minecraft/textures/material/backgrounds/6.png
--------------------------------------------------------------------------------
/src/main/resources/assets/minecraft/textures/material/backgrounds/7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HyperiumClient/Hyperium/720059116537592859cf25e13586de7980a9113e/src/main/resources/assets/minecraft/textures/material/backgrounds/7.png
--------------------------------------------------------------------------------
/src/main/resources/assets/minecraft/textures/material/close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HyperiumClient/Hyperium/720059116537592859cf25e13586de7980a9113e/src/main/resources/assets/minecraft/textures/material/close.png
--------------------------------------------------------------------------------
/src/main/resources/assets/minecraft/textures/material/exit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HyperiumClient/Hyperium/720059116537592859cf25e13586de7980a9113e/src/main/resources/assets/minecraft/textures/material/exit.png
--------------------------------------------------------------------------------
/src/main/resources/assets/minecraft/textures/material/extension.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HyperiumClient/Hyperium/720059116537592859cf25e13586de7980a9113e/src/main/resources/assets/minecraft/textures/material/extension.png
--------------------------------------------------------------------------------
/src/main/resources/assets/minecraft/textures/material/settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HyperiumClient/Hyperium/720059116537592859cf25e13586de7980a9113e/src/main/resources/assets/minecraft/textures/material/settings.png
--------------------------------------------------------------------------------
/src/main/resources/assets/minecraft/textures/world-loading.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HyperiumClient/Hyperium/720059116537592859cf25e13586de7980a9113e/src/main/resources/assets/minecraft/textures/world-loading.png
--------------------------------------------------------------------------------
/src/main/resources/log4j2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/src/main/resources/remoteresources/chat_regex.json:
--------------------------------------------------------------------------------
1 | {
2 | "skywars_rating": "(?^(-|\\+)?[0-9]\\d*(\\.\\d+)?) Rating \\(\\D?(?\\d+)\\)",
3 | "private_message_to": "To (?\\[.+] )?(?\\S{1,16}): (?.*)",
4 | "private_message_from": "From (?\\[.+] )?(?\\S{1,16}): (?.*)",
5 | "friend_request": "Friend request from ((?\\[.+] )?(?\\w+)).*",
6 | "guild_chat": "Guild > (?\\[.+] )?(?\\S{1,16}): (?.*)",
7 | "party_chat": "Party > (?\\[.+] )?(?\\S{1,16}): (?.*)",
8 | "party_invite": "(\\[.*] )?(?\\w+) has invited you to join (?\\w+) party!",
9 | "skywars_kill": "(?\\S{1,16}) (was|got|met|took|be) (?.*) (by|to) (?\\S{1,16})",
10 | "bedwars_kill": "(?\\S{1,16}) played|lost|tangoed|slipped|fell|died|fought|stumbled|be|was|took (?.*) by|for|from|to (?\\S{1,16}).*",
11 | "megawalls_kill": "(?\\S{1,16}) (was|met|lost|drank|be) (?.*) (by|from|for|to) (?\\S{1,16})",
12 | "blitz_kill": "(?\\S{1,16}) was killed by (?\\S{1,16})",
13 | "quest_complete": "(?Daily|Weekly)? Quest: (?.*) Completed!",
14 | "win": "(^\\S+) - (?.*)"
15 | }
16 |
--------------------------------------------------------------------------------