├── README.md ├── club └── minnced │ └── discord │ └── rpc │ ├── DiscordEventHandlers$OnGameUpdate.java │ ├── DiscordEventHandlers$OnJoinRequest.java │ ├── DiscordEventHandlers$OnReady.java │ ├── DiscordEventHandlers$OnStatus.java │ ├── DiscordEventHandlers.java │ ├── DiscordRPC.java │ ├── DiscordRichPresence.java │ └── DiscordUser.java ├── me ├── primooctopus33 │ └── octohack │ │ ├── DiscordPresence.java │ │ ├── OctoHack.java │ │ ├── client │ │ ├── Feature.java │ │ ├── command │ │ │ ├── Command$ChatMessage.java │ │ │ ├── Command.java │ │ │ └── commands │ │ │ │ ├── BindCommand.java │ │ │ │ ├── ConfigCommand.java │ │ │ │ ├── FriendCommand.java │ │ │ │ ├── HelpCommand.java │ │ │ │ ├── HistoryCommand.java │ │ │ │ ├── ModuleCommand.java │ │ │ │ ├── NameMcCommand.java │ │ │ │ ├── PrefixCommand.java │ │ │ │ ├── ReloadCommand.java │ │ │ │ ├── ReloadSoundCommand.java │ │ │ │ ├── ToggleCommand.java │ │ │ │ └── UnloadCommand.java │ │ ├── gui │ │ │ ├── OctoHackGui$1.java │ │ │ ├── OctoHackGui.java │ │ │ ├── components │ │ │ │ ├── Component.java │ │ │ │ ├── DupeButton.java │ │ │ │ ├── Snow.java │ │ │ │ ├── background │ │ │ │ │ └── particles │ │ │ │ │ │ ├── Particle.java │ │ │ │ │ │ └── ParticleSystem.java │ │ │ │ └── items │ │ │ │ │ ├── Item.java │ │ │ │ │ └── buttons │ │ │ │ │ ├── BindButton.java │ │ │ │ │ ├── BooleanButton.java │ │ │ │ │ ├── Button.java │ │ │ │ │ ├── ColorButton.java │ │ │ │ │ ├── EnumButton.java │ │ │ │ │ ├── ModuleButton.java │ │ │ │ │ ├── Slider.java │ │ │ │ │ ├── StringButton$CurrentString.java │ │ │ │ │ ├── StringButton.java │ │ │ │ │ └── UnlimitedSlider.java │ │ │ └── font │ │ │ │ ├── CFont$CharData.java │ │ │ │ ├── CFont.java │ │ │ │ └── CustomFont.java │ │ ├── modules │ │ │ ├── Module$Category.java │ │ │ ├── Module.java │ │ │ ├── chat │ │ │ │ ├── AntiBully.java │ │ │ │ ├── AntiLog4j.java │ │ │ │ ├── AutoAmogus.java │ │ │ │ ├── AutoBully$1.java │ │ │ │ ├── AutoBully$Amount.java │ │ │ │ ├── AutoBully$Message.java │ │ │ │ ├── AutoBully.java │ │ │ │ ├── AutoCope.java │ │ │ │ ├── AutoFitFag.java │ │ │ │ ├── ChatModifier$1.java │ │ │ │ ├── ChatModifier$Suffix.java │ │ │ │ ├── ChatModifier.java │ │ │ │ ├── MyCode.java │ │ │ │ ├── PotionAlert.java │ │ │ │ ├── SpamBypass.java │ │ │ │ ├── VisualRange.java │ │ │ │ └── WordGuard.java │ │ │ ├── client │ │ │ │ ├── ClickGui$rainbowMode.java │ │ │ │ ├── ClickGui$rainbowModeArray.java │ │ │ │ ├── ClickGui.java │ │ │ │ ├── CrystalPvPBot.java │ │ │ │ ├── FontMod.java │ │ │ │ ├── HUD$RenderingMode.java │ │ │ │ ├── HUD.java │ │ │ │ ├── IllegalStackDupeButton.java │ │ │ │ ├── NickHider.java │ │ │ │ ├── PacketsCounter.java │ │ │ │ └── TargetHud.java │ │ │ ├── combat │ │ │ │ ├── AntiBowBomb.java │ │ │ │ ├── AntiFacePlace.java │ │ │ │ ├── AntiRegear.java │ │ │ │ ├── AntiSurround$Sensitivity.java │ │ │ │ ├── AntiSurround.java │ │ │ │ ├── AnvilCev.java │ │ │ │ ├── AutoArmor.java │ │ │ │ ├── AutoClicker.java │ │ │ │ ├── AutoCrystal$1.java │ │ │ │ ├── AutoCrystal$AntiFriendPop.java │ │ │ │ ├── AutoCrystal$AntiWeaknessMode.java │ │ │ │ ├── AutoCrystal$AutoSwitch.java │ │ │ │ ├── AutoCrystal$DamageSync.java │ │ │ │ ├── AutoCrystal$Logic.java │ │ │ │ ├── AutoCrystal$PlaceInfo.java │ │ │ │ ├── AutoCrystal$PredictTimer.java │ │ │ │ ├── AutoCrystal$RAutoCrystalRewrite.java │ │ │ │ ├── AutoCrystal$Raytrace.java │ │ │ │ ├── AutoCrystal$Rotate.java │ │ │ │ ├── AutoCrystal$Settings.java │ │ │ │ ├── AutoCrystal$Switch.java │ │ │ │ ├── AutoCrystal$Target.java │ │ │ │ ├── AutoCrystal$ThreadMode.java │ │ │ │ ├── AutoCrystal$Timing.java │ │ │ │ ├── AutoCrystal.java │ │ │ │ ├── AutoCrystalRewrite.java │ │ │ │ ├── AutoHoleFill$Sensitivity.java │ │ │ │ ├── AutoHoleFill.java │ │ │ │ ├── AutoPlaceObsidian.java │ │ │ │ ├── AutoPot.java │ │ │ │ ├── AutoTrap.java │ │ │ │ ├── AutoWeb.java │ │ │ │ ├── BedAura$1.java │ │ │ │ ├── BedAura$BedData.java │ │ │ │ ├── BedAura$BreakLogic.java │ │ │ │ ├── BedAura$Logic.java │ │ │ │ ├── BedAura$SwitchModes.java │ │ │ │ ├── BedAura.java │ │ │ │ ├── BedAuraThirteen.java │ │ │ │ ├── BowAim.java │ │ │ │ ├── Burrow$1.java │ │ │ │ ├── Burrow$Mode.java │ │ │ │ ├── Burrow.java │ │ │ │ ├── CCBurrowBypass.java │ │ │ │ ├── CevBreaker$CrystalHand.java │ │ │ │ ├── CevBreaker$MineMode.java │ │ │ │ ├── CevBreaker$SwingMode.java │ │ │ │ ├── CevBreaker$TrapMode.java │ │ │ │ ├── CevBreaker$step.java │ │ │ │ ├── CevBreaker.java │ │ │ │ ├── Criticals.java │ │ │ │ ├── CrystalPredict$AttackThread.java │ │ │ │ ├── CrystalPredict.java │ │ │ │ ├── Flatten$Mode.java │ │ │ │ ├── Flatten.java │ │ │ │ ├── HephaestusCA$RenderMode.java │ │ │ │ ├── HephaestusCA.java │ │ │ │ ├── HoleFiller.java │ │ │ │ ├── Killaura.java │ │ │ │ ├── Offhand$1.java │ │ │ │ ├── Offhand$Mode2.java │ │ │ │ ├── Offhand.java │ │ │ │ ├── PistonCrystal$BreakModes.java │ │ │ │ ├── PistonCrystal$structureTemp.java │ │ │ │ ├── PistonCrystal.java │ │ │ │ ├── ProjectileBomb.java │ │ │ │ ├── Selftrap$Mode.java │ │ │ │ ├── Selftrap.java │ │ │ │ ├── ShulkerCrystal$direction.java │ │ │ │ ├── ShulkerCrystal.java │ │ │ │ ├── SilentAutoXP.java │ │ │ │ ├── SmartCity.java │ │ │ │ ├── Surround$AntiCity.java │ │ │ │ ├── Surround$CrystalClear.java │ │ │ │ ├── Surround$Sensitivity.java │ │ │ │ ├── Surround.java │ │ │ │ ├── SurroundRewrite$AntiCity.java │ │ │ │ ├── SurroundRewrite$CrystalClear.java │ │ │ │ ├── SurroundRewrite$Sensitivity.java │ │ │ │ └── SurroundRewrite.java │ │ │ ├── exploit │ │ │ │ ├── AntiHunger.java │ │ │ │ ├── AutoRubberband$1.java │ │ │ │ ├── AutoRubberband$RubberMode.java │ │ │ │ ├── AutoRubberband.java │ │ │ │ ├── ChorusLag.java │ │ │ │ ├── ChorusPostpone.java │ │ │ │ ├── Clip$HMode.java │ │ │ │ ├── Clip$Mode.java │ │ │ │ ├── Clip$VMode.java │ │ │ │ ├── Clip.java │ │ │ │ ├── HeightLimit.java │ │ │ │ ├── ManualIllegalStack.java │ │ │ │ ├── PacketCanceller$Mode.java │ │ │ │ ├── PacketCanceller.java │ │ │ │ ├── PacketsLogger$Packets.java │ │ │ │ ├── PacketsLogger.java │ │ │ │ ├── PingSpoof.java │ │ │ │ ├── PortalModifier.java │ │ │ │ ├── Speedmine$ColorMode.java │ │ │ │ ├── Speedmine$InstantMode.java │ │ │ │ ├── Speedmine$RenderMode.java │ │ │ │ ├── Speedmine$SwitchMode.java │ │ │ │ ├── Speedmine.java │ │ │ │ ├── TickShift$Mode.java │ │ │ │ └── TickShift.java │ │ │ ├── misc │ │ │ │ ├── AnvilBurrowNuker.java │ │ │ │ ├── AutoBedTrap.java │ │ │ │ ├── AutoBowRelease.java │ │ │ │ ├── AutoBrewer$1.java │ │ │ │ ├── AutoBrewer$Mode.java │ │ │ │ ├── AutoBrewer.java │ │ │ │ ├── AutoFish.java │ │ │ │ ├── AutoKit.java │ │ │ │ ├── AutoSelfAnvil.java │ │ │ │ ├── FakePlayer.java │ │ │ │ ├── GhastFinder.java │ │ │ │ ├── GhastTracer.java │ │ │ │ ├── MCF.java │ │ │ │ ├── NoHandShake.java │ │ │ │ ├── PearlNotify.java │ │ │ │ ├── PluginsGrabber.java │ │ │ │ ├── PopCounter.java │ │ │ │ ├── Quiver.java │ │ │ │ ├── RPC$LargeImage.java │ │ │ │ ├── RPC$SmallImage.java │ │ │ │ ├── RPC.java │ │ │ │ ├── Tracker.java │ │ │ │ ├── XCarry$GuiInventoryWrapper.java │ │ │ │ └── XCarry.java │ │ │ ├── movement │ │ │ │ ├── AntiSlowDown$Mode.java │ │ │ │ ├── AntiSlowDown.java │ │ │ │ ├── AntiVoid$Mode.java │ │ │ │ ├── AntiVoid.java │ │ │ │ ├── AutoStairJump.java │ │ │ │ ├── ElytraFly.java │ │ │ │ ├── Flight$1.java │ │ │ │ ├── Flight$Fly.java │ │ │ │ ├── Flight$Format.java │ │ │ │ ├── Flight$Mode.java │ │ │ │ ├── Flight$PacketMode.java │ │ │ │ ├── Flight.java │ │ │ │ ├── GroundSpeed$1.java │ │ │ │ ├── GroundSpeed$Mode.java │ │ │ │ ├── GroundSpeed.java │ │ │ │ ├── InventoryWalk.java │ │ │ │ ├── NoFall$1.java │ │ │ │ ├── NoFall$Mode.java │ │ │ │ ├── NoFall$State$1.java │ │ │ │ ├── NoFall$State$2.java │ │ │ │ ├── NoFall$State$3.java │ │ │ │ ├── NoFall$State$4.java │ │ │ │ ├── NoFall$State$5.java │ │ │ │ ├── NoFall$State.java │ │ │ │ ├── NoFall.java │ │ │ │ ├── NoPush.java │ │ │ │ ├── PhaseWalk$NoClipMode.java │ │ │ │ ├── PhaseWalk.java │ │ │ │ ├── ReverseStep.java │ │ │ │ ├── Scaffold$BlockData.java │ │ │ │ ├── Scaffold$Mode.java │ │ │ │ ├── Scaffold.java │ │ │ │ ├── Sprint$1.java │ │ │ │ ├── Sprint$Mode.java │ │ │ │ ├── Sprint.java │ │ │ │ ├── Step$Mode.java │ │ │ │ ├── Step.java │ │ │ │ └── Velocity.java │ │ │ ├── player │ │ │ │ ├── AntiAim$Mode.java │ │ │ │ ├── AntiAim.java │ │ │ │ ├── AutoLog.java │ │ │ │ ├── FastPlace$1.java │ │ │ │ ├── FastPlace.java │ │ │ │ ├── MCP$Mode.java │ │ │ │ ├── MCP.java │ │ │ │ ├── NoEntityTrace.java │ │ │ │ ├── NoGlitchBlocks.java │ │ │ │ ├── NoRotate.java │ │ │ │ ├── Nuker$Mode.java │ │ │ │ ├── Nuker.java │ │ │ │ ├── Replenish.java │ │ │ │ ├── RespawnModifier.java │ │ │ │ ├── SplashPotRefill.java │ │ │ │ └── Timers.java │ │ │ └── render │ │ │ │ ├── Ambience.java │ │ │ │ ├── Animations$AnimationVersion.java │ │ │ │ ├── Animations.java │ │ │ │ ├── AspectRatio.java │ │ │ │ ├── BlockHighlight.java │ │ │ │ ├── BlockView.java │ │ │ │ ├── BreadCrumbs.java │ │ │ │ ├── Chams.java │ │ │ │ ├── ChorusFinder.java │ │ │ │ ├── CrystalCalc.java │ │ │ │ ├── CrystalChams.java │ │ │ │ ├── CustomCrosshair.java │ │ │ │ ├── ESP$Mode.java │ │ │ │ ├── ESP.java │ │ │ │ ├── ExplosionChams.java │ │ │ │ ├── FreeF5$EntityPlayerCamera.java │ │ │ │ ├── FreeF5.java │ │ │ │ ├── Fullbright$Mode.java │ │ │ │ ├── Fullbright.java │ │ │ │ ├── HandView.java │ │ │ │ ├── HoleESP$DoubleMode.java │ │ │ │ ├── HoleESP$Mode.java │ │ │ │ ├── HoleESP$Page.java │ │ │ │ ├── HoleESP$QuadMode.java │ │ │ │ ├── HoleESP.java │ │ │ │ ├── Ink.java │ │ │ │ ├── Nametags.java │ │ │ │ ├── NoRender$NoArmor.java │ │ │ │ ├── NoRender$Skylight.java │ │ │ │ ├── NoRender.java │ │ │ │ ├── PopChams.java │ │ │ │ ├── ShaderChams$1.java │ │ │ │ ├── ShaderChams$Mode.java │ │ │ │ ├── ShaderChams.java │ │ │ │ ├── ShulkerTips.java │ │ │ │ ├── Skeleton.java │ │ │ │ ├── SkyColor.java │ │ │ │ ├── StorageESP.java │ │ │ │ ├── Trails.java │ │ │ │ └── Trajectories.java │ │ └── setting │ │ │ ├── Bind$BindConverter.java │ │ │ ├── Bind.java │ │ │ ├── EnumConverter.java │ │ │ └── Setting.java │ │ ├── event │ │ ├── EnumStages.java │ │ ├── EventStage.java │ │ ├── OctoHackEvent.java │ │ ├── event │ │ │ ├── Event.java │ │ │ ├── EventDirection.java │ │ │ ├── EventType.java │ │ │ └── listeners │ │ │ │ ├── EventMotion.java │ │ │ │ ├── EventPacket.java │ │ │ │ ├── EventRenderWorld.java │ │ │ │ └── EventUpdate.java │ │ └── events │ │ │ ├── BlockEvent.java │ │ │ ├── BlockPushEvent.java │ │ │ ├── ChatEvent.java │ │ │ ├── ChorusEvent.java │ │ │ ├── ClientEvent.java │ │ │ ├── ConnectionEvent.java │ │ │ ├── DeathEvent.java │ │ │ ├── EventBlock.java │ │ │ ├── EventPacketRecieve.java │ │ │ ├── EventTotemPop.java │ │ │ ├── GuiScreenEvent$Closed.java │ │ │ ├── GuiScreenEvent$Displayed.java │ │ │ ├── GuiScreenEvent.java │ │ │ ├── HandSideEvent.java │ │ │ ├── ICancellable.java │ │ │ ├── KeyEvent.java │ │ │ ├── KeyPressedEvent.java │ │ │ ├── MoveEvent.java │ │ │ ├── PacketEvent$Receive.java │ │ │ ├── PacketEvent$Send.java │ │ │ ├── PacketEvent.java │ │ │ ├── PerspectiveEvent.java │ │ │ ├── PlayerLivingUpdateEvent.java │ │ │ ├── ProcessRightClickBlockEvent.java │ │ │ ├── PushEvent.java │ │ │ ├── Render2DEvent.java │ │ │ ├── Render3DEvent.java │ │ │ ├── RenderEntityEvent.java │ │ │ ├── RenderEntityLayerEvent.java │ │ │ ├── RenderEntityModelEvent.java │ │ │ ├── RenderEvent.java │ │ │ ├── RenderItemEvent.java │ │ │ ├── TotemPopEvent.java │ │ │ ├── UpdateEvent.java │ │ │ ├── UpdatePlayerEvent.java │ │ │ └── UpdateWalkingPlayerEvent.java │ │ ├── manager │ │ ├── ColorManager.java │ │ ├── CommandManager.java │ │ ├── ConfigManager.java │ │ ├── EventManager$1.java │ │ ├── EventManager.java │ │ ├── FileManager.java │ │ ├── FriendManager$Friend.java │ │ ├── FriendManager.java │ │ ├── HoleManager.java │ │ ├── InventoryManager.java │ │ ├── ModuleManager$Animation.java │ │ ├── ModuleManager.java │ │ ├── PacketManager.java │ │ ├── PositionManager.java │ │ ├── PotionManager$PotionList.java │ │ ├── PotionManager.java │ │ ├── ReloadManager.java │ │ ├── RotationManager.java │ │ ├── SafetyManager.java │ │ ├── ServerManager.java │ │ ├── SpeedManager.java │ │ ├── TextManager.java │ │ ├── TimerManager.java │ │ └── TotempopManager.java │ │ ├── mixin │ │ ├── OctoHackLoader.java │ │ └── mixins │ │ │ ├── MixinAbstractClientPlayer.java │ │ │ ├── MixinEntityLivingBase.java │ │ │ ├── MixinEntityPlayerSP.java │ │ │ ├── MixinEntityRenderer.java │ │ │ ├── MixinFontRenderer.java │ │ │ ├── MixinGuiContainer.java │ │ │ ├── MixinGuiNewChat.java │ │ │ ├── MixinGuiScreen.java │ │ │ ├── MixinGuiToast.java │ │ │ ├── MixinItemRender.java │ │ │ ├── MixinItemRenderer.java │ │ │ ├── MixinLayerArmorBase.java │ │ │ ├── MixinMinecraft.java │ │ │ ├── MixinNetworkManager.java │ │ │ ├── MixinPlayerControllerMP.java │ │ │ ├── MixinRenderCrystal.java │ │ │ ├── MixinRenderGlobal.java │ │ │ ├── MixinRenderItem.java │ │ │ ├── MixinRenderLivingBase.java │ │ │ ├── MixinRenderLivingEntity.java │ │ │ ├── MixinRenderPlayer.java │ │ │ ├── MixinWorld.java │ │ │ └── accessors │ │ │ ├── IEntityLivingBase.java │ │ │ ├── IEntityRenderer.java │ │ │ ├── IMinecraftMixin.java │ │ │ ├── IRenderEnderCrystal.java │ │ │ └── IRenderManager.java │ │ └── util │ │ ├── BlockUtil$ValidResult.java │ │ ├── BlockUtil.java │ │ ├── BurrowUtil.java │ │ ├── ColorUtil$Colors.java │ │ ├── ColorUtil.java │ │ ├── CrystalUtil$1.java │ │ ├── CrystalUtil.java │ │ ├── DamageUtil.java │ │ ├── EntityUtil.java │ │ ├── FileUtil.java │ │ ├── HoleUtil$DoubleHole.java │ │ ├── HoleUtil$Hole.java │ │ ├── HoleUtil$QuadHole.java │ │ ├── HoleUtil$SingleHole.java │ │ ├── HoleUtil$material.java │ │ ├── HoleUtil$type.java │ │ ├── HoleUtil.java │ │ ├── InventoryUtil$1.java │ │ ├── InventoryUtil$Switch.java │ │ ├── InventoryUtil$Task.java │ │ ├── InventoryUtil.java │ │ ├── MathUtil.java │ │ ├── PairUtil.java │ │ ├── PlayerUtil$lookUpName.java │ │ ├── PlayerUtil$lookUpUUID.java │ │ ├── PlayerUtil.java │ │ ├── ReflectionUtil.java │ │ ├── RenderUtil$GeometryMasks$Line.java │ │ ├── RenderUtil$GeometryMasks$Quad.java │ │ ├── RenderUtil$GeometryMasks.java │ │ ├── RenderUtil$RenderTesselator.java │ │ ├── RenderUtil.java │ │ ├── RotationUtil$1.java │ │ ├── RotationUtil.java │ │ ├── StatusChamsUtil.java │ │ ├── TPSUtils.java │ │ ├── TestUtil.java │ │ ├── TextUtil$1.java │ │ ├── TextUtil$Color.java │ │ ├── TextUtil.java │ │ ├── Timer.java │ │ ├── Util.java │ │ ├── WorldUtils.java │ │ └── shader │ │ ├── AquaShader.java │ │ ├── FlowShader.java │ │ ├── FramebufferShader.java │ │ ├── GalaxyShader.java │ │ ├── GlowShader.java │ │ ├── RainbowShader.java │ │ ├── RedShader.java │ │ ├── Shader.java │ │ ├── SmokeShader.java │ │ └── StarShader.java └── zero │ └── alpine │ ├── EventBus.java │ ├── EventManager.java │ ├── fork │ ├── bus │ │ ├── EventBus.java │ │ ├── EventManager.java │ │ └── type │ │ │ ├── AttachableEventBus.java │ │ │ └── AttachableEventManager.java │ ├── event │ │ ├── EventPriority.java │ │ ├── EventState.java │ │ └── type │ │ │ ├── Cancellable.java │ │ │ └── ICancellable.java │ └── listener │ │ ├── EventHandler.java │ │ ├── EventHook.java │ │ ├── Listenable.java │ │ ├── Listener.java │ │ └── MethodRefListener.java │ ├── listener │ ├── EventHandler.java │ ├── EventHook.java │ └── Listener.java │ └── type │ ├── Cancellable.java │ ├── EventPriority.java │ └── EventState.java ├── net └── jodah │ └── typetools │ ├── ReifiedParameterizedType.java │ ├── TypeResolver$1.java │ ├── TypeResolver$2.java │ ├── TypeResolver$3.java │ ├── TypeResolver$4.java │ ├── TypeResolver$AccessMaker.java │ ├── TypeResolver$Unknown.java │ └── TypeResolver.java └── org ├── json └── simple │ ├── ItemList.java │ ├── JSONArray.java │ ├── JSONAware.java │ ├── JSONObject.java │ ├── JSONStreamAware.java │ ├── JSONValue.java │ └── parser │ ├── ContainerFactory.java │ ├── ContentHandler.java │ ├── JSONParser.java │ ├── ParseException.java │ ├── Yylex.java │ └── Yytoken.java └── spongepowered ├── asm ├── bridge │ ├── RemapperAdapter.java │ └── RemapperAdapterFML.java ├── launch │ ├── GlobalProperties$Keys.java │ ├── GlobalProperties.java │ ├── MixinBootstrap.java │ ├── MixinInitialisationError.java │ ├── MixinTweaker.java │ └── platform │ │ ├── IMixinPlatformAgent.java │ │ ├── MainAttributes.java │ │ ├── MixinContainer.java │ │ ├── MixinPlatformAgentAbstract.java │ │ ├── MixinPlatformAgentDefault.java │ │ ├── MixinPlatformAgentFML.java │ │ └── MixinPlatformManager.java ├── lib │ ├── AnnotationVisitor.java │ ├── AnnotationWriter.java │ ├── Attribute.java │ ├── ByteVector.java │ ├── ClassReader.java │ ├── ClassVisitor.java │ ├── ClassWriter.java │ ├── Context.java │ ├── CurrentFrame.java │ ├── Edge.java │ ├── FieldVisitor.java │ ├── FieldWriter.java │ ├── Frame.java │ ├── Handle.java │ ├── Handler.java │ ├── Item.java │ ├── Label.java │ ├── MethodVisitor.java │ ├── MethodWriter.java │ ├── Opcodes.java │ ├── Type.java │ ├── TypePath.java │ ├── TypeReference.java │ ├── commons │ │ ├── AnnotationRemapper.java │ │ ├── ClassRemapper.java │ │ ├── FieldRemapper.java │ │ ├── MethodRemapper.java │ │ ├── Remapper.java │ │ ├── SignatureRemapper.java │ │ └── SimpleRemapper.java │ ├── signature │ │ ├── SignatureReader.java │ │ ├── SignatureVisitor.java │ │ └── SignatureWriter.java │ ├── tree │ │ ├── AbstractInsnNode.java │ │ ├── AnnotationNode.java │ │ ├── ClassNode.java │ │ ├── FieldInsnNode.java │ │ ├── FieldNode.java │ │ ├── FrameNode.java │ │ ├── IincInsnNode.java │ │ ├── InnerClassNode.java │ │ ├── InsnList$InsnListIterator.java │ │ ├── InsnList.java │ │ ├── InsnNode.java │ │ ├── IntInsnNode.java │ │ ├── InvokeDynamicInsnNode.java │ │ ├── JumpInsnNode.java │ │ ├── LabelNode.java │ │ ├── LdcInsnNode.java │ │ ├── LineNumberNode.java │ │ ├── LocalVariableAnnotationNode.java │ │ ├── LocalVariableNode.java │ │ ├── LookupSwitchInsnNode.java │ │ ├── MethodInsnNode.java │ │ ├── MethodNode$1.java │ │ ├── MethodNode.java │ │ ├── MultiANewArrayInsnNode.java │ │ ├── ParameterNode.java │ │ ├── TableSwitchInsnNode.java │ │ ├── TryCatchBlockNode.java │ │ ├── TypeAnnotationNode.java │ │ ├── TypeInsnNode.java │ │ ├── VarInsnNode.java │ │ └── analysis │ │ │ ├── Analyzer.java │ │ │ ├── AnalyzerException.java │ │ │ ├── BasicInterpreter.java │ │ │ ├── BasicValue.java │ │ │ ├── BasicVerifier.java │ │ │ ├── Frame.java │ │ │ ├── Interpreter.java │ │ │ ├── SimpleVerifier.java │ │ │ ├── SmallSet.java │ │ │ ├── SourceInterpreter.java │ │ │ ├── SourceValue.java │ │ │ ├── Subroutine.java │ │ │ └── Value.java │ └── util │ │ ├── ASMifiable.java │ │ ├── ASMifier.java │ │ ├── CheckAnnotationAdapter.java │ │ ├── CheckClassAdapter.java │ │ ├── CheckFieldAdapter.java │ │ ├── CheckMethodAdapter$1.java │ │ ├── CheckMethodAdapter.java │ │ ├── CheckSignatureAdapter.java │ │ ├── Printer.java │ │ ├── Textifiable.java │ │ ├── Textifier.java │ │ ├── TraceAnnotationVisitor.java │ │ ├── TraceClassVisitor.java │ │ ├── TraceFieldVisitor.java │ │ ├── TraceMethodVisitor.java │ │ └── TraceSignatureVisitor.java ├── mixin │ ├── Debug.java │ ├── Dynamic.java │ ├── EnvironmentStateTweaker.java │ ├── Final.java │ ├── Implements.java │ ├── Interface$Remap.java │ ├── Interface.java │ ├── Intrinsic.java │ ├── Mixin.java │ ├── MixinEnvironment$1.java │ ├── MixinEnvironment$CompatibilityLevel$1.java │ ├── MixinEnvironment$CompatibilityLevel$2.java │ ├── MixinEnvironment$CompatibilityLevel$3.java │ ├── MixinEnvironment$CompatibilityLevel.java │ ├── MixinEnvironment$MixinLogWatcher$MixinAppender.java │ ├── MixinEnvironment$MixinLogWatcher.java │ ├── MixinEnvironment$Option$Inherit.java │ ├── MixinEnvironment$Option.java │ ├── MixinEnvironment$Phase.java │ ├── MixinEnvironment$Side$1.java │ ├── MixinEnvironment$Side$2.java │ ├── MixinEnvironment$Side$3.java │ ├── MixinEnvironment$Side.java │ ├── MixinEnvironment$TokenProviderWrapper.java │ ├── MixinEnvironment.java │ ├── Mixins.java │ ├── Mutable.java │ ├── Overwrite.java │ ├── Pseudo.java │ ├── Shadow.java │ ├── SoftOverride.java │ ├── Unique.java │ ├── extensibility │ │ ├── IEnvironmentTokenProvider.java │ │ ├── IMixinConfig.java │ │ ├── IMixinConfigPlugin.java │ │ ├── IMixinErrorHandler$ErrorAction.java │ │ ├── IMixinErrorHandler.java │ │ ├── IMixinInfo.java │ │ └── IRemapper.java │ ├── gen │ │ ├── Accessor.java │ │ ├── AccessorGenerator.java │ │ ├── AccessorGeneratorField.java │ │ ├── AccessorGeneratorFieldGetter.java │ │ ├── AccessorGeneratorFieldSetter.java │ │ ├── AccessorGeneratorMethodProxy.java │ │ ├── AccessorInfo$1.java │ │ ├── AccessorInfo$AccessorType$1.java │ │ ├── AccessorInfo$AccessorType$2.java │ │ ├── AccessorInfo$AccessorType$3.java │ │ ├── AccessorInfo$AccessorType.java │ │ ├── AccessorInfo.java │ │ ├── Invoker.java │ │ ├── InvokerInfo.java │ │ └── throwables │ │ │ └── InvalidAccessorException.java │ ├── injection │ │ ├── At$Shift.java │ │ ├── At.java │ │ ├── Coerce.java │ │ ├── Constant$Condition.java │ │ ├── Constant.java │ │ ├── Group.java │ │ ├── IInjectionPointContext.java │ │ ├── Inject.java │ │ ├── InjectionPoint$AtCode.java │ │ ├── InjectionPoint$CompositeInjectionPoint.java │ │ ├── InjectionPoint$Intersection.java │ │ ├── InjectionPoint$Selector.java │ │ ├── InjectionPoint$Shift.java │ │ ├── InjectionPoint$ShiftByViolationBehaviour.java │ │ ├── InjectionPoint$Union.java │ │ ├── InjectionPoint.java │ │ ├── ModifyArg.java │ │ ├── ModifyArgs.java │ │ ├── ModifyConstant.java │ │ ├── ModifyVariable.java │ │ ├── Redirect.java │ │ ├── Slice.java │ │ ├── Surrogate.java │ │ ├── callback │ │ │ ├── CallbackInfo.java │ │ │ ├── CallbackInfoReturnable.java │ │ │ ├── CallbackInjector$1.java │ │ │ ├── CallbackInjector$Callback.java │ │ │ ├── CallbackInjector.java │ │ │ ├── Cancellable.java │ │ │ ├── CancellationException.java │ │ │ └── LocalCapture.java │ │ ├── code │ │ │ ├── ISliceContext.java │ │ │ ├── Injector$TargetNode.java │ │ │ ├── Injector.java │ │ │ ├── InjectorTarget.java │ │ │ ├── MethodSlice$InsnListSlice$SliceIterator.java │ │ │ ├── MethodSlice$InsnListSlice.java │ │ │ ├── MethodSlice.java │ │ │ ├── MethodSlices.java │ │ │ └── ReadOnlyInsnList.java │ │ ├── invoke │ │ │ ├── InvokeInjector.java │ │ │ ├── ModifyArgInjector.java │ │ │ ├── ModifyArgsInjector.java │ │ │ ├── ModifyConstantInjector.java │ │ │ ├── RedirectInjector$ConstructorRedirectData.java │ │ │ ├── RedirectInjector$Meta.java │ │ │ ├── RedirectInjector$RedirectedInvoke.java │ │ │ ├── RedirectInjector.java │ │ │ ├── arg │ │ │ │ ├── Args.java │ │ │ │ ├── ArgsClassGenerator.java │ │ │ │ ├── ArgumentCountException.java │ │ │ │ └── ArgumentIndexOutOfBoundsException.java │ │ │ └── util │ │ │ │ ├── InsnFinder$AnalysisResultException.java │ │ │ │ ├── InsnFinder$AnalyzerState.java │ │ │ │ ├── InsnFinder$PopAnalyzer$PopFrame.java │ │ │ │ ├── InsnFinder$PopAnalyzer.java │ │ │ │ └── InsnFinder.java │ │ ├── modify │ │ │ ├── AfterStoreLocal.java │ │ │ ├── BeforeLoadLocal$SearchState.java │ │ │ ├── BeforeLoadLocal.java │ │ │ ├── InvalidImplicitDiscriminatorException.java │ │ │ ├── LocalVariableDiscriminator$Context$Local.java │ │ │ ├── LocalVariableDiscriminator$Context.java │ │ │ ├── LocalVariableDiscriminator.java │ │ │ ├── ModifyVariableInjector$Context.java │ │ │ ├── ModifyVariableInjector$ContextualInjectionPoint.java │ │ │ └── ModifyVariableInjector.java │ │ ├── points │ │ │ ├── AfterInvoke.java │ │ │ ├── BeforeConstant.java │ │ │ ├── BeforeFieldAccess.java │ │ │ ├── BeforeFinalReturn.java │ │ │ ├── BeforeInvoke$SearchType.java │ │ │ ├── BeforeInvoke.java │ │ │ ├── BeforeNew.java │ │ │ ├── BeforeReturn.java │ │ │ ├── BeforeStringInvoke.java │ │ │ ├── JumpInsnPoint.java │ │ │ └── MethodHead.java │ │ ├── struct │ │ │ ├── CallbackInjectionInfo.java │ │ │ ├── InjectionInfo.java │ │ │ ├── InjectionNodes$InjectionNode.java │ │ │ ├── InjectionNodes.java │ │ │ ├── InjectionPointData.java │ │ │ ├── InjectorGroupInfo$Map.java │ │ │ ├── InjectorGroupInfo.java │ │ │ ├── InvalidMemberDescriptorException.java │ │ │ ├── MemberInfo.java │ │ │ ├── ModifyArgInjectionInfo.java │ │ │ ├── ModifyArgsInjectionInfo.java │ │ │ ├── ModifyConstantInjectionInfo.java │ │ │ ├── ModifyVariableInjectionInfo.java │ │ │ ├── RedirectInjectionInfo.java │ │ │ └── Target.java │ │ └── throwables │ │ │ ├── InjectionError.java │ │ │ ├── InjectionValidationException.java │ │ │ ├── InvalidInjectionException.java │ │ │ ├── InvalidInjectionPointException.java │ │ │ └── InvalidSliceException.java │ ├── refmap │ │ ├── IMixinContext.java │ │ ├── IReferenceMapper.java │ │ ├── ReferenceMapper.java │ │ ├── RemappingReferenceMapper$1.java │ │ └── RemappingReferenceMapper.java │ ├── struct │ │ ├── MemberRef$Field.java │ │ ├── MemberRef$Handle.java │ │ ├── MemberRef$Method.java │ │ ├── MemberRef.java │ │ ├── SourceMap$File.java │ │ ├── SourceMap$Stratum.java │ │ ├── SourceMap.java │ │ └── SpecialMethodInfo.java │ ├── throwables │ │ ├── ClassAlreadyLoadedException.java │ │ ├── MixinApplyError.java │ │ ├── MixinException.java │ │ └── MixinPrepareError.java │ └── transformer │ │ ├── ClassContext.java │ │ ├── ClassInfo$Field.java │ │ ├── ClassInfo$FrameData.java │ │ ├── ClassInfo$InterfaceMethod.java │ │ ├── ClassInfo$Member$Type.java │ │ ├── ClassInfo$Member.java │ │ ├── ClassInfo$Method.java │ │ ├── ClassInfo$SearchType.java │ │ ├── ClassInfo$Traversal.java │ │ ├── ClassInfo.java │ │ ├── Config.java │ │ ├── InnerClassGenerator$InnerClassAdapter.java │ │ ├── InnerClassGenerator$InnerClassInfo.java │ │ ├── InnerClassGenerator.java │ │ ├── InterfaceInfo.java │ │ ├── MethodMapper.java │ │ ├── MixinApplicatorInterface.java │ │ ├── MixinApplicatorStandard$1.java │ │ ├── MixinApplicatorStandard$ApplicatorPass.java │ │ ├── MixinApplicatorStandard$InitialiserInjectionMode.java │ │ ├── MixinApplicatorStandard$Range.java │ │ ├── MixinApplicatorStandard.java │ │ ├── MixinConfig$1.java │ │ ├── MixinConfig$IListener.java │ │ ├── MixinConfig$InjectorOptions.java │ │ ├── MixinConfig$OverwriteOptions.java │ │ ├── MixinConfig.java │ │ ├── MixinInfo$1.java │ │ ├── MixinInfo$2.java │ │ ├── MixinInfo$MixinClassNode.java │ │ ├── MixinInfo$MixinMethodNode.java │ │ ├── MixinInfo$Reloaded.java │ │ ├── MixinInfo$State.java │ │ ├── MixinInfo$SubType$Accessor.java │ │ ├── MixinInfo$SubType$Interface.java │ │ ├── MixinInfo$SubType$Standard.java │ │ ├── MixinInfo$SubType.java │ │ ├── MixinInfo.java │ │ ├── MixinPostProcessor$1.java │ │ ├── MixinPostProcessor.java │ │ ├── MixinPreProcessorAccessor.java │ │ ├── MixinPreProcessorInterface.java │ │ ├── MixinPreProcessorStandard$SpecialMethod.java │ │ ├── MixinPreProcessorStandard.java │ │ ├── MixinTargetContext.java │ │ ├── MixinTransformer$1.java │ │ ├── MixinTransformer$ErrorPhase$1.java │ │ ├── MixinTransformer$ErrorPhase$2.java │ │ ├── MixinTransformer$ErrorPhase.java │ │ ├── MixinTransformer.java │ │ ├── Proxy.java │ │ ├── TargetClassContext.java │ │ ├── debug │ │ ├── RuntimeDecompiler$1.java │ │ ├── RuntimeDecompiler.java │ │ └── RuntimeDecompilerAsync.java │ │ ├── ext │ │ ├── Extensions.java │ │ ├── IClassGenerator.java │ │ ├── IDecompiler.java │ │ ├── IExtension.java │ │ ├── IHotSwap.java │ │ ├── ITargetClassContext.java │ │ └── extensions │ │ │ ├── ExtensionCheckClass$ValidationFailedException.java │ │ │ ├── ExtensionCheckClass.java │ │ │ ├── ExtensionCheckInterfaces.java │ │ │ └── ExtensionClassExporter.java │ │ ├── meta │ │ ├── MixinInner.java │ │ ├── MixinMerged.java │ │ └── MixinRenamed.java │ │ └── throwables │ │ ├── InvalidInterfaceMixinException.java │ │ ├── InvalidMixinException.java │ │ ├── MixinReloadException.java │ │ ├── MixinTargetAlreadyLoadedException.java │ │ └── MixinTransformerError.java ├── obfuscation │ ├── RemapperChain.java │ └── mapping │ │ ├── IMapping$Type.java │ │ ├── IMapping.java │ │ ├── common │ │ ├── MappingField.java │ │ └── MappingMethod.java │ │ └── mcp │ │ └── MappingFieldSrg.java ├── service │ ├── IClassBytecodeProvider.java │ ├── IClassProvider.java │ ├── IGlobalPropertyService.java │ ├── ILegacyClassTransformer.java │ ├── IMixinService.java │ ├── IMixinServiceBootstrap.java │ ├── ITransformer.java │ ├── MixinService.java │ ├── ServiceNotAvailableError.java │ └── mojang │ │ ├── Blackboard.java │ │ ├── LaunchClassLoaderUtil.java │ │ ├── LegacyTransformerHandle.java │ │ ├── MixinServiceLaunchWrapper.java │ │ └── MixinServiceLaunchWrapperBootstrap.java ├── transformers │ ├── MixinClassWriter.java │ └── TreeTransformer.java └── util │ ├── Annotations$1.java │ ├── Annotations.java │ ├── Bytecode$Visibility.java │ ├── Bytecode.java │ ├── ClassSignature$IToken.java │ ├── ClassSignature$Lazy.java │ ├── ClassSignature$SignatureParser$BoundElement.java │ ├── ClassSignature$SignatureParser$FormalParamElement.java │ ├── ClassSignature$SignatureParser$InterfaceElement.java │ ├── ClassSignature$SignatureParser$SignatureElement.java │ ├── ClassSignature$SignatureParser$SuperClassElement.java │ ├── ClassSignature$SignatureParser$TokenElement.java │ ├── ClassSignature$SignatureParser$TypeArgElement.java │ ├── ClassSignature$SignatureParser.java │ ├── ClassSignature$SignatureRemapper.java │ ├── ClassSignature$Token.java │ ├── ClassSignature$TokenHandle.java │ ├── ClassSignature$TypeVar.java │ ├── ClassSignature.java │ ├── Constants$ManifestAttributes.java │ ├── Constants.java │ ├── ConstraintParser$Constraint.java │ ├── ConstraintParser.java │ ├── Counter.java │ ├── ITokenProvider.java │ ├── JavaVersion.java │ ├── Locals.java │ ├── ObfuscationUtil$IClassRemapper.java │ ├── ObfuscationUtil.java │ ├── PrettyPrinter$Alignment.java │ ├── PrettyPrinter$CentredText.java │ ├── PrettyPrinter$Column.java │ ├── PrettyPrinter$HorizontalRule.java │ ├── PrettyPrinter$IPrettyPrintable.java │ ├── PrettyPrinter$ISpecialEntry.java │ ├── PrettyPrinter$IVariableWidthEntry.java │ ├── PrettyPrinter$KeyValue.java │ ├── PrettyPrinter$Row.java │ ├── PrettyPrinter$Table.java │ ├── PrettyPrinter.java │ ├── ReEntranceLock.java │ ├── SignaturePrinter.java │ ├── VersionNumber.java │ ├── asm │ ├── MethodVisitorEx.java │ └── MixinVerifier.java │ ├── perf │ ├── Profiler$LiveSection.java │ ├── Profiler$Section.java │ ├── Profiler$SubSection.java │ └── Profiler.java │ └── throwables │ ├── ConstraintViolationException.java │ ├── InvalidConstraintException.java │ ├── LVTGeneratorException.java │ ├── SyntheticBridgeException$1.java │ ├── SyntheticBridgeException$Problem.java │ └── SyntheticBridgeException.java └── tools ├── agent ├── MixinAgent$Transformer.java ├── MixinAgent.java └── MixinAgentClassLoader.java └── obfuscation ├── AnnotatedMixin.java ├── AnnotatedMixinElementHandler$AliasedElementName.java ├── AnnotatedMixinElementHandler$AnnotatedElement.java ├── AnnotatedMixinElementHandler$ShadowElementName.java ├── AnnotatedMixinElementHandler.java ├── AnnotatedMixinElementHandlerAccessor$1.java ├── AnnotatedMixinElementHandlerAccessor$AnnotatedElementAccessor.java ├── AnnotatedMixinElementHandlerAccessor$AnnotatedElementInvoker.java ├── AnnotatedMixinElementHandlerAccessor.java ├── AnnotatedMixinElementHandlerInjector$AnnotatedElementInjectionPoint.java ├── AnnotatedMixinElementHandlerInjector$AnnotatedElementInjector.java ├── AnnotatedMixinElementHandlerInjector.java ├── AnnotatedMixinElementHandlerOverwrite$AnnotatedElementOverwrite.java ├── AnnotatedMixinElementHandlerOverwrite.java ├── AnnotatedMixinElementHandlerShadow$AnnotatedElementShadow.java ├── AnnotatedMixinElementHandlerShadow$AnnotatedElementShadowField.java ├── AnnotatedMixinElementHandlerShadow$AnnotatedElementShadowMethod.java ├── AnnotatedMixinElementHandlerShadow.java ├── AnnotatedMixinElementHandlerSoftImplements.java ├── AnnotatedMixins.java ├── Mappings$MappingConflictException.java ├── Mappings$UniqueMappings.java ├── Mappings.java ├── MixinObfuscationProcessor.java ├── MixinObfuscationProcessorInjection.java ├── MixinObfuscationProcessorTargets.java ├── MixinValidator.java ├── ObfuscationData.java ├── ObfuscationDataProvider.java ├── ObfuscationEnvironment$RemapperProxy.java ├── ObfuscationEnvironment.java ├── ObfuscationManager.java ├── ObfuscationType.java ├── ReferenceManager$ReferenceConflictException.java ├── ReferenceManager.java ├── SupportedOptions.java ├── TargetMap.java ├── interfaces ├── IJavadocProvider.java ├── IMixinAnnotationProcessor$CompilerEnvironment.java ├── IMixinAnnotationProcessor.java ├── IMixinValidator$ValidationPass.java ├── IMixinValidator.java ├── IObfuscationDataProvider.java ├── IObfuscationEnvironment.java ├── IObfuscationManager.java ├── IOptionProvider.java ├── IReferenceManager.java └── ITypeHandleProvider.java ├── mapping ├── IMappingConsumer$MappingSet$Pair.java ├── IMappingConsumer$MappingSet.java ├── IMappingConsumer.java ├── IMappingProvider.java ├── IMappingWriter.java ├── common │ ├── MappingProvider.java │ └── MappingWriter.java └── mcp │ ├── MappingProviderSrg$1.java │ ├── MappingProviderSrg.java │ └── MappingWriterSrg.java ├── mcp ├── ObfuscationEnvironmentMCP.java └── ObfuscationServiceMCP.java ├── mirror ├── AnnotationHandle.java ├── FieldHandle.java ├── MemberHandle.java ├── MethodHandle.java ├── TypeHandle.java ├── TypeHandleSimulated.java ├── TypeReference.java ├── TypeUtils$1.java ├── TypeUtils.java ├── Visibility.java └── mapping │ └── ResolvableMappingMethod.java ├── service ├── IObfuscationService.java ├── ObfuscationServices.java └── ObfuscationTypeDescriptor.java ├── struct ├── InjectorRemap.java └── Message.java └── validation ├── ParentValidator.java └── TargetValidator.java /README.md: -------------------------------------------------------------------------------- 1 | # OctoHack-SRC 2 | 3 | 4 | This wasnt our leak, we used https://github.com/master7720/Octohack .jar, decompiled, unmapped and uploaded the src 5 | 6 | 7 | 8 | No hate to the dev or users to this client! 9 | -------------------------------------------------------------------------------- /club/minnced/discord/rpc/DiscordEventHandlers$OnGameUpdate.java: -------------------------------------------------------------------------------- 1 | package club.minnced.discord.rpc; 2 | 3 | import com.sun.jna.Callback; 4 | 5 | public interface DiscordEventHandlers$OnGameUpdate 6 | extends Callback { 7 | public void accept(String var1); 8 | } 9 | -------------------------------------------------------------------------------- /club/minnced/discord/rpc/DiscordEventHandlers$OnJoinRequest.java: -------------------------------------------------------------------------------- 1 | package club.minnced.discord.rpc; 2 | 3 | import club.minnced.discord.rpc.DiscordUser; 4 | import com.sun.jna.Callback; 5 | 6 | public interface DiscordEventHandlers$OnJoinRequest 7 | extends Callback { 8 | public void accept(DiscordUser var1); 9 | } 10 | -------------------------------------------------------------------------------- /club/minnced/discord/rpc/DiscordEventHandlers$OnReady.java: -------------------------------------------------------------------------------- 1 | package club.minnced.discord.rpc; 2 | 3 | import club.minnced.discord.rpc.DiscordUser; 4 | import com.sun.jna.Callback; 5 | 6 | public interface DiscordEventHandlers$OnReady 7 | extends Callback { 8 | public void accept(DiscordUser var1); 9 | } 10 | -------------------------------------------------------------------------------- /club/minnced/discord/rpc/DiscordEventHandlers$OnStatus.java: -------------------------------------------------------------------------------- 1 | package club.minnced.discord.rpc; 2 | 3 | import com.sun.jna.Callback; 4 | 5 | public interface DiscordEventHandlers$OnStatus 6 | extends Callback { 7 | public void accept(int var1, String var2); 8 | } 9 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/command/commands/HelpCommand.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.command.commands; 2 | 3 | import com.mojang.realmsclient.gui.ChatFormatting; 4 | import me.primooctopus33.octohack.OctoHack; 5 | import me.primooctopus33.octohack.client.command.Command; 6 | 7 | public class HelpCommand 8 | extends Command { 9 | public HelpCommand() { 10 | super("help"); 11 | } 12 | 13 | @Override 14 | public void execute(String[] commands) { 15 | HelpCommand.sendMessage("Commands: "); 16 | for (Command command : OctoHack.commandManager.getCommands()) { 17 | HelpCommand.sendMessage(ChatFormatting.GRAY + OctoHack.commandManager.getPrefix() + command.getName()); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/command/commands/NameMcCommand.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.command.commands; 2 | 3 | import java.awt.Desktop; 4 | import java.io.IOException; 5 | import java.net.URI; 6 | import me.primooctopus33.octohack.client.command.Command; 7 | 8 | public class NameMcCommand 9 | extends Command { 10 | public NameMcCommand() { 11 | super("namemc", new String[]{"", ""}); 12 | } 13 | 14 | @Override 15 | public void execute(String[] commands) { 16 | String name = commands[0]; 17 | try { 18 | Desktop.getDesktop().browse(URI.create("https://namemc.com/search?q=" + name)); 19 | } 20 | catch (IOException var4) { 21 | var4.printStackTrace(); 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/command/commands/PrefixCommand.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.command.commands; 2 | 3 | import com.mojang.realmsclient.gui.ChatFormatting; 4 | import me.primooctopus33.octohack.OctoHack; 5 | import me.primooctopus33.octohack.client.command.Command; 6 | 7 | public class PrefixCommand 8 | extends Command { 9 | public PrefixCommand() { 10 | super("prefix", new String[]{""}); 11 | } 12 | 13 | @Override 14 | public void execute(String[] commands) { 15 | if (commands.length == 1) { 16 | Command.sendMessage(ChatFormatting.GREEN + "Current prefix is " + OctoHack.commandManager.getPrefix()); 17 | return; 18 | } 19 | OctoHack.commandManager.setPrefix(commands[0]); 20 | Command.sendMessage("Prefix changed to " + ChatFormatting.GRAY + commands[0]); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/command/commands/ReloadCommand.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.command.commands; 2 | 3 | import me.primooctopus33.octohack.OctoHack; 4 | import me.primooctopus33.octohack.client.command.Command; 5 | 6 | public class ReloadCommand 7 | extends Command { 8 | public ReloadCommand() { 9 | super("reload", new String[0]); 10 | } 11 | 12 | @Override 13 | public void execute(String[] commands) { 14 | OctoHack.reload(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/command/commands/UnloadCommand.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.command.commands; 2 | 3 | import me.primooctopus33.octohack.OctoHack; 4 | import me.primooctopus33.octohack.client.command.Command; 5 | 6 | public class UnloadCommand 7 | extends Command { 8 | public UnloadCommand() { 9 | super("unload", new String[0]); 10 | } 11 | 12 | @Override 13 | public void execute(String[] commands) { 14 | OctoHack.unload(true); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/gui/OctoHackGui$1.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.gui; 2 | 3 | import me.primooctopus33.octohack.OctoHack; 4 | import me.primooctopus33.octohack.client.gui.components.Component; 5 | import me.primooctopus33.octohack.client.gui.components.items.buttons.ModuleButton; 6 | import me.primooctopus33.octohack.client.modules.Module; 7 | 8 | class OctoHackGui$1 9 | extends Component { 10 | final Module.Category val$category; 11 | 12 | OctoHackGui$1(String name, int x, int y, boolean open, Module.Category category) { 13 | this.val$category = category; 14 | super(name, x, y, open); 15 | } 16 | 17 | @Override 18 | public void setupItems() { 19 | counter1 = new int[]{1}; 20 | OctoHack.moduleManager.getModulesByCategory(this.val$category).forEach(module -> { 21 | if (!module.hidden) { 22 | this.addButton(new ModuleButton((Module)module)); 23 | } 24 | }); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/gui/components/DupeButton.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.gui.components; 2 | 3 | import net.minecraft.client.gui.GuiButton; 4 | 5 | public class DupeButton 6 | extends GuiButton { 7 | public DupeButton(int buttonId, int x, int y, String buttonText) { 8 | super(buttonId, x, y, buttonText); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/gui/components/items/buttons/ColorButton.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.gui.components.items.buttons; 2 | 3 | public class ColorButton { 4 | } 5 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/gui/components/items/buttons/StringButton$CurrentString.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.gui.components.items.buttons; 2 | 3 | public class StringButton$CurrentString { 4 | private final String string; 5 | 6 | public StringButton$CurrentString(String string) { 7 | this.string = string; 8 | } 9 | 10 | public String getString() { 11 | return this.string; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/gui/font/CFont$CharData.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.gui.font; 2 | 3 | class CFont$CharData { 4 | public int width; 5 | public int height; 6 | public int storedX; 7 | public int storedY; 8 | 9 | protected CFont$CharData() { 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/Module$Category.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules; 2 | 3 | public enum Module$Category { 4 | CHAT("Chat"), 5 | COMBAT("Combat"), 6 | EXPLOIT("Exploit"), 7 | MISC("Misc"), 8 | RENDER("Render"), 9 | MOVEMENT("Movement"), 10 | PLAYER("Player"), 11 | CLIENT("Client"); 12 | 13 | private final String name; 14 | 15 | private Module$Category(String name) { 16 | this.name = name; 17 | } 18 | 19 | public String getName() { 20 | return this.name; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/chat/AntiBully.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.chat; 2 | 3 | import me.primooctopus33.octohack.client.modules.Module; 4 | import me.primooctopus33.octohack.event.events.PacketEvent; 5 | import net.minecraft.network.play.server.SPacketChat; 6 | import net.minecraftforge.fml.common.eventhandler.EventPriority; 7 | import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 8 | 9 | public class AntiBully 10 | extends Module { 11 | public AntiBully() { 12 | super("AntiBully", "Stops fans from using autobully on you", Module.Category.CHAT, true, false, false); 13 | } 14 | 15 | @SubscribeEvent(priority=EventPriority.HIGHEST) 16 | public void onPacketRecieve(PacketEvent.Receive event) { 17 | String text; 18 | if (event.getPacket() instanceof SPacketChat && (text = ((SPacketChat)event.getPacket()).getChatComponent().getUnformattedText()).contains("AutoBully")) { 19 | event.setCanceled(true); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/chat/AutoBully$Amount.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.chat; 2 | 3 | public enum AutoBully$Amount { 4 | Once, 5 | Continual; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/chat/AutoBully$Message.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.chat; 2 | 3 | public enum AutoBully$Message { 4 | HelloFan, 5 | WhenDidYouLearnPvP; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/chat/ChatModifier$Suffix.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.chat; 2 | 3 | public enum ChatModifier$Suffix { 4 | NONE, 5 | OCTOHACK, 6 | HEPHAESTUS, 7 | TROLL; 8 | 9 | } 10 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/chat/SpamBypass.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.chat; 2 | 3 | import me.primooctopus33.octohack.client.modules.Module; 4 | 5 | public class SpamBypass 6 | extends Module { 7 | public SpamBypass() { 8 | super("SpamBypass", "Attempts to bypass antispams by adding short strings of random characters after your message", Module.Category.CHAT, true, false, false); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/client/ClickGui$rainbowMode.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.client; 2 | 3 | public enum ClickGui$rainbowMode { 4 | Static, 5 | Sideway; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/client/ClickGui$rainbowModeArray.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.client; 2 | 3 | public enum ClickGui$rainbowModeArray { 4 | Static, 5 | Up; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/client/CrystalPvPBot.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.client; 2 | 3 | import me.primooctopus33.octohack.client.modules.Module; 4 | 5 | public class CrystalPvPBot 6 | extends Module { 7 | public CrystalPvPBot() { 8 | super("CrystalPvPBot", "Automatically fights for you using End Crystals", Module.Category.CLIENT, true, false, false); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/client/HUD$RenderingMode.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.client; 2 | 3 | public enum HUD$RenderingMode { 4 | Length, 5 | ABC; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/client/IllegalStackDupeButton.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.client; 2 | 3 | import me.primooctopus33.octohack.client.modules.Module; 4 | import net.minecraft.client.gui.inventory.GuiScreenHorseInventory; 5 | 6 | public class IllegalStackDupeButton 7 | extends Module { 8 | public boolean validGui; 9 | 10 | public IllegalStackDupeButton() { 11 | super("IllegalStackDupeButton", "Shows a Dupe button while riding an Entity", Module.Category.CLIENT, true, false, false); 12 | } 13 | 14 | @Override 15 | public void onUpdate() { 16 | this.validGui = IllegalStackDupeButton.mc.currentScreen instanceof GuiScreenHorseInventory; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/combat/AntiSurround$Sensitivity.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.combat; 2 | 3 | public enum AntiSurround$Sensitivity { 4 | High, 5 | Low; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/combat/AutoCrystal$AntiFriendPop.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.combat; 2 | 3 | public enum AutoCrystal$AntiFriendPop { 4 | NONE, 5 | PLACE, 6 | BREAK, 7 | ALL; 8 | 9 | } 10 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/combat/AutoCrystal$AntiWeaknessMode.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.combat; 2 | 3 | public enum AutoCrystal$AntiWeaknessMode { 4 | Normal, 5 | Silent, 6 | None; 7 | 8 | } 9 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/combat/AutoCrystal$AutoSwitch.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.combat; 2 | 3 | public enum AutoCrystal$AutoSwitch { 4 | NONE, 5 | TOGGLE, 6 | ALWAYS, 7 | SILENT; 8 | 9 | } 10 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/combat/AutoCrystal$DamageSync.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.combat; 2 | 3 | public enum AutoCrystal$DamageSync { 4 | NONE, 5 | PLACE, 6 | BREAK; 7 | 8 | } 9 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/combat/AutoCrystal$Logic.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.combat; 2 | 3 | public enum AutoCrystal$Logic { 4 | BREAKPLACE, 5 | PLACEBREAK; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/combat/AutoCrystal$PlaceInfo.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.combat; 2 | 3 | import me.primooctopus33.octohack.util.BlockUtil; 4 | import net.minecraft.util.EnumHand; 5 | import net.minecraft.util.math.BlockPos; 6 | 7 | public class AutoCrystal$PlaceInfo { 8 | private final BlockPos pos; 9 | private final boolean offhand; 10 | private final boolean placeSwing; 11 | private final boolean exactHand; 12 | private final boolean silent; 13 | 14 | public AutoCrystal$PlaceInfo(BlockPos pos, boolean offhand, boolean placeSwing, boolean exactHand, boolean silent) { 15 | this.pos = pos; 16 | this.offhand = offhand; 17 | this.placeSwing = placeSwing; 18 | this.exactHand = exactHand; 19 | this.silent = silent; 20 | } 21 | 22 | public void runPlace() { 23 | BlockUtil.placeCrystalOnBlock(this.pos, this.offhand ? EnumHand.OFF_HAND : EnumHand.MAIN_HAND, this.placeSwing, this.exactHand, this.silent); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/combat/AutoCrystal$PredictTimer.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.combat; 2 | 3 | public enum AutoCrystal$PredictTimer { 4 | NONE, 5 | BREAK, 6 | PREDICT; 7 | 8 | } 9 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/combat/AutoCrystal$Raytrace.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.combat; 2 | 3 | public enum AutoCrystal$Raytrace { 4 | NONE, 5 | PLACE, 6 | BREAK, 7 | FULL; 8 | 9 | } 10 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/combat/AutoCrystal$Rotate.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.combat; 2 | 3 | public enum AutoCrystal$Rotate { 4 | OFF, 5 | PLACE, 6 | BREAK, 7 | ALL; 8 | 9 | } 10 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/combat/AutoCrystal$Settings.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.combat; 2 | 3 | public enum AutoCrystal$Settings { 4 | PLACE, 5 | BREAK, 6 | RENDER, 7 | MISC, 8 | DEV; 9 | 10 | } 11 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/combat/AutoCrystal$Switch.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.combat; 2 | 3 | public enum AutoCrystal$Switch { 4 | ALWAYS, 5 | BREAKSLOT, 6 | CALC; 7 | 8 | } 9 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/combat/AutoCrystal$Target.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.combat; 2 | 3 | public enum AutoCrystal$Target { 4 | CLOSEST, 5 | UNSAFE, 6 | DAMAGE; 7 | 8 | } 9 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/combat/AutoCrystal$ThreadMode.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.combat; 2 | 3 | public enum AutoCrystal$ThreadMode { 4 | NONE, 5 | POOL, 6 | SOUND, 7 | WHILE; 8 | 9 | } 10 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/combat/AutoCrystal$Timing.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.combat; 2 | 3 | public enum AutoCrystal$Timing { 4 | Sequential, 5 | None; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/combat/AutoCrystalRewrite.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.combat; 2 | 3 | import me.primooctopus33.octohack.client.modules.Module; 4 | 5 | public class AutoCrystalRewrite 6 | extends Module { 7 | public AutoCrystalRewrite() { 8 | super("AutoCrystalRewrite", "Automatically places and breaks crystals to damage opponents", Module.Category.COMBAT, true, false, false); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/combat/AutoHoleFill$Sensitivity.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.combat; 2 | 3 | public enum AutoHoleFill$Sensitivity { 4 | Strong, 5 | Less; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/combat/BedAura$BreakLogic.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.combat; 2 | 3 | public enum BedAura$BreakLogic { 4 | ALL, 5 | CALC; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/combat/BedAura$Logic.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.combat; 2 | 3 | public enum BedAura$Logic { 4 | BREAKPLACE, 5 | PLACEBREAK; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/combat/BedAura$SwitchModes.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.combat; 2 | 3 | public enum BedAura$SwitchModes { 4 | SILENT, 5 | NORMAL; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/combat/Burrow$Mode.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.combat; 2 | 3 | public enum Burrow$Mode { 4 | OBBY, 5 | ECHEST, 6 | EABypass; 7 | 8 | } 9 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/combat/CevBreaker$CrystalHand.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.combat; 2 | 3 | public enum CevBreaker$CrystalHand { 4 | HOTBAR, 5 | OFFHAND; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/combat/CevBreaker$MineMode.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.combat; 2 | 3 | public enum CevBreaker$MineMode { 4 | INSTANT, 5 | NORMAL, 6 | PACKET; 7 | 8 | } 9 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/combat/CevBreaker$SwingMode.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.combat; 2 | 3 | public enum CevBreaker$SwingMode { 4 | MAINHAND, 5 | OFFHAND, 6 | NONE; 7 | 8 | } 9 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/combat/CevBreaker$TrapMode.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.combat; 2 | 3 | public enum CevBreaker$TrapMode { 4 | NOOBBYWASTE, 5 | FULLTRAP, 6 | ANTISTEP; 7 | 8 | } 9 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/combat/CevBreaker$step.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.combat; 2 | 3 | public enum CevBreaker$step { 4 | Trapping, 5 | Breaking, 6 | Explode; 7 | 8 | } 9 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/combat/Flatten$Mode.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.combat; 2 | 3 | public enum Flatten$Mode { 4 | Simple, 5 | Large; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/combat/HephaestusCA$RenderMode.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.combat; 2 | 3 | public enum HephaestusCA$RenderMode { 4 | UP, 5 | BLOCK, 6 | NONE; 7 | 8 | } 9 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/combat/Offhand$Mode2.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.combat; 2 | 3 | public enum Offhand$Mode2 { 4 | TOTEMS, 5 | GAPPLES, 6 | CRYSTALS, 7 | POTION, 8 | CHORUS; 9 | 10 | } 11 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/combat/PistonCrystal$BreakModes.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.combat; 2 | 3 | enum PistonCrystal$BreakModes { 4 | packet, 5 | swing; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/combat/Selftrap$Mode.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.combat; 2 | 3 | public enum Selftrap$Mode { 4 | Normal, 5 | Full; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/combat/ShulkerCrystal$direction.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.combat; 2 | 3 | enum ShulkerCrystal$direction { 4 | NORTH, 5 | SOUTH, 6 | EAST, 7 | WEST; 8 | 9 | } 10 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/combat/Surround$AntiCity.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.combat; 2 | 3 | public enum Surround$AntiCity { 4 | Smart, 5 | None; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/combat/Surround$CrystalClear.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.combat; 2 | 3 | public enum Surround$CrystalClear { 4 | Always, 5 | Toggle, 6 | None; 7 | 8 | } 9 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/combat/Surround$Sensitivity.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.combat; 2 | 3 | public enum Surround$Sensitivity { 4 | High, 5 | Low; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/combat/SurroundRewrite$AntiCity.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.combat; 2 | 3 | public enum SurroundRewrite$AntiCity { 4 | Smart, 5 | None; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/combat/SurroundRewrite$CrystalClear.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.combat; 2 | 3 | public enum SurroundRewrite$CrystalClear { 4 | Toggle, 5 | Always; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/combat/SurroundRewrite$Sensitivity.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.combat; 2 | 3 | public enum SurroundRewrite$Sensitivity { 4 | High, 5 | Low; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/exploit/AutoRubberband$RubberMode.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.exploit; 2 | 3 | public enum AutoRubberband$RubberMode { 4 | Motion, 5 | Teleport, 6 | Packet; 7 | 8 | } 9 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/exploit/Clip$HMode.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.exploit; 2 | 3 | public enum Clip$HMode { 4 | Normal; 5 | 6 | } 7 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/exploit/Clip$Mode.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.exploit; 2 | 3 | public enum Clip$Mode { 4 | Vertical, 5 | Horizontal; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/exploit/Clip$VMode.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.exploit; 2 | 3 | public enum Clip$VMode { 4 | Normal, 5 | Bypass; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/exploit/PacketCanceller$Mode.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.exploit; 2 | 3 | public enum PacketCanceller$Mode { 4 | CLIENT, 5 | SERVER; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/exploit/PacketsLogger$Packets.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.exploit; 2 | 3 | public enum PacketsLogger$Packets { 4 | NONE, 5 | INCOMING, 6 | OUTGOING, 7 | ALL; 8 | 9 | } 10 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/exploit/Speedmine$ColorMode.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.exploit; 2 | 3 | public enum Speedmine$ColorMode { 4 | STATIC, 5 | CUSTOM; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/exploit/Speedmine$InstantMode.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.exploit; 2 | 3 | public enum Speedmine$InstantMode { 4 | NONE, 5 | NORMAL, 6 | BIND; 7 | 8 | } 9 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/exploit/Speedmine$RenderMode.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.exploit; 2 | 3 | public enum Speedmine$RenderMode { 4 | RISE, 5 | FADE, 6 | STATIC, 7 | ANIMATE, 8 | GROW; 9 | 10 | } 11 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/exploit/Speedmine$SwitchMode.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.exploit; 2 | 3 | public enum Speedmine$SwitchMode { 4 | SILENT, 5 | AUTO, 6 | NONE; 7 | 8 | } 9 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/exploit/TickShift$Mode.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.exploit; 2 | 3 | public enum TickShift$Mode { 4 | Pause, 5 | Disable; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/misc/AutoBrewer$Mode.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.misc; 2 | 3 | public enum AutoBrewer$Mode { 4 | STRENGTH, 5 | SPEED, 6 | WEAKNESS, 7 | SLOWNESS; 8 | 9 | } 10 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/misc/RPC$LargeImage.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.misc; 2 | 3 | public enum RPC$LargeImage { 4 | Octohack; 5 | 6 | } 7 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/misc/RPC$SmallImage.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.misc; 2 | 3 | public enum RPC$SmallImage { 4 | Octohack; 5 | 6 | } 7 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/movement/AntiSlowDown$Mode.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.movement; 2 | 3 | public enum AntiSlowDown$Mode { 4 | Normal, 5 | Strict; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/movement/AntiVoid$Mode.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.movement; 2 | 3 | public enum AntiVoid$Mode { 4 | Singleplayer, 5 | Normal; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/movement/AutoStairJump.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.movement; 2 | 3 | import me.primooctopus33.octohack.client.modules.Module; 4 | 5 | public class AutoStairJump 6 | extends Module { 7 | public AutoStairJump() { 8 | super("AutoStairJump", "Automatically Jumps when you hit a stair to make you go up faster", Module.Category.MOVEMENT, true, false, false); 9 | } 10 | 11 | @Override 12 | public void onUpdate() { 13 | if (AutoStairJump.mc.player.onGround && AutoStairJump.mc.player.posY - Math.floor(AutoStairJump.mc.player.posY) > 0.0 && AutoStairJump.mc.player.moveForward != 0.0f) { 14 | AutoStairJump.mc.player.jump(); 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/movement/Flight$Format.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.movement; 2 | 3 | public enum Flight$Format { 4 | DAMAGE, 5 | SLOW, 6 | DELAY, 7 | NORMAL, 8 | PACKET; 9 | 10 | } 11 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/movement/Flight$Mode.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.movement; 2 | 3 | public enum Flight$Mode { 4 | CREATIVE, 5 | VANILLA, 6 | PACKET, 7 | SPOOF, 8 | DESCEND, 9 | DAMAGE; 10 | 11 | } 12 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/movement/Flight$PacketMode.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.movement; 2 | 3 | enum Flight$PacketMode { 4 | Up, 5 | Down, 6 | Zero, 7 | Y, 8 | X, 9 | Z, 10 | XZ; 11 | 12 | } 13 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/movement/GroundSpeed$Mode.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.movement; 2 | 3 | public enum GroundSpeed$Mode { 4 | INSTANT, 5 | ONGROUND, 6 | ACCEL, 7 | BOOST, 8 | VANILLA; 9 | 10 | } 11 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/movement/NoFall$1.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.movement; 2 | 3 | class NoFall$1 { 4 | } 5 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/movement/NoFall$Mode.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.movement; 2 | 3 | public enum NoFall$Mode { 4 | PACKET, 5 | BUCKET, 6 | ELYTRA; 7 | 8 | } 9 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/movement/NoFall$State$2.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.movement; 2 | 3 | import me.primooctopus33.octohack.client.modules.movement.NoFall; 4 | import me.primooctopus33.octohack.event.events.PacketEvent; 5 | import net.minecraft.network.play.server.SPacketSetSlot; 6 | import net.minecraft.network.play.server.SPacketWindowItems; 7 | 8 | final class NoFall$State$2 9 | extends NoFall.State { 10 | @Override 11 | public NoFall.State onReceive(PacketEvent.Receive event) { 12 | if (event.getPacket() instanceof SPacketWindowItems || event.getPacket() instanceof SPacketSetSlot) { 13 | return REEQUIP_ELYTRA; 14 | } 15 | return this; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/movement/NoFall$State$4.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.movement; 2 | 3 | import me.primooctopus33.octohack.client.modules.movement.NoFall; 4 | 5 | final class NoFall$State$4 6 | extends NoFall.State { 7 | @Override 8 | public NoFall.State onUpdate() { 9 | if (bypassTimer.passedMs(250L)) { 10 | return REEQUIP_ELYTRA; 11 | } 12 | return this; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/movement/NoFall$State$5.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.movement; 2 | 3 | import me.primooctopus33.octohack.client.modules.movement.NoFall; 4 | import me.primooctopus33.octohack.util.Util; 5 | import net.minecraft.init.Blocks; 6 | import net.minecraft.inventory.ClickType; 7 | import net.minecraft.item.ItemStack; 8 | import net.minecraft.network.play.client.CPacketClickWindow; 9 | 10 | final class NoFall$State$5 11 | extends NoFall.State { 12 | @Override 13 | public NoFall.State onUpdate() { 14 | if (Util.mc.player.onGround || bypassTimer.passedMs(250L)) { 15 | Util.mc.player.connection.sendPacket(new CPacketClickWindow(0, 0, 0, ClickType.PICKUP, new ItemStack(Blocks.BEDROCK), 1337)); 16 | return FALL_CHECK; 17 | } 18 | return this; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/movement/PhaseWalk$NoClipMode.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.movement; 2 | 3 | public enum PhaseWalk$NoClipMode { 4 | NoClip, 5 | Fall, 6 | Bypass, 7 | None; 8 | 9 | } 10 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/movement/Scaffold$BlockData.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.movement; 2 | 3 | import net.minecraft.util.EnumFacing; 4 | import net.minecraft.util.math.BlockPos; 5 | 6 | class Scaffold$BlockData { 7 | public BlockPos position; 8 | public EnumFacing face; 9 | 10 | public Scaffold$BlockData(BlockPos position, EnumFacing face) { 11 | this.position = position; 12 | this.face = face; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/movement/Scaffold$Mode.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.movement; 2 | 3 | public enum Scaffold$Mode { 4 | Legit, 5 | Fast; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/movement/Sprint$Mode.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.movement; 2 | 3 | public enum Sprint$Mode { 4 | LEGIT, 5 | RAGE, 6 | VANILLA; 7 | 8 | } 9 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/movement/Step$Mode.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.movement; 2 | 3 | public enum Step$Mode { 4 | Vanilla, 5 | Normal; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/player/AntiAim$Mode.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.player; 2 | 3 | public enum AntiAim$Mode { 4 | Spin; 5 | 6 | } 7 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/player/MCP$Mode.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.player; 2 | 3 | public enum MCP$Mode { 4 | Toggle, 5 | MiddleClick; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/player/Nuker$Mode.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.player; 2 | 3 | public enum Nuker$Mode { 4 | Creative; 5 | 6 | } 7 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/player/Nuker.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.player; 2 | 3 | import me.primooctopus33.octohack.client.modules.Module; 4 | import me.primooctopus33.octohack.client.setting.Setting; 5 | 6 | public class Nuker 7 | extends Module { 8 | public final Setting mode = this.register(new Setting("Mode", Mode.Creative)); 9 | public final Setting nukerRange = this.register(new Setting("Nuker Range", 5, 0, 10)); 10 | 11 | public Nuker() { 12 | super("Nuker", "Automatically breaks blocks around you", Module.Category.PLAYER, true, false, false); 13 | } 14 | 15 | @Override 16 | public void onUpdate() { 17 | if (this.mode.getValue() == Mode.Creative) { 18 | // empty if block 19 | } 20 | } 21 | 22 | public static enum Mode { 23 | Creative; 24 | 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/render/Ambience.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.render; 2 | 3 | import me.primooctopus33.octohack.client.modules.Module; 4 | import me.primooctopus33.octohack.client.setting.Setting; 5 | 6 | public class Ambience 7 | extends Module { 8 | public final Setting r = this.register(new Setting("Red", 30, 0, 255)); 9 | public final Setting g = this.register(new Setting("Green", 30, 0, 255)); 10 | public final Setting b = this.register(new Setting("Blue", 30, 0, 255)); 11 | public final Setting a = this.register(new Setting("Alpha", 30, 0, 255)); 12 | 13 | public Ambience() { 14 | super("Ambience", "Allows you to change the ambience of your world", Module.Category.RENDER, true, false, false); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/render/Animations$AnimationVersion.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.render; 2 | 3 | public enum Animations$AnimationVersion { 4 | OneDotEight, 5 | OneDotTwelve; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/render/AspectRatio.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.render; 2 | 3 | import me.primooctopus33.octohack.client.modules.Module; 4 | import me.primooctopus33.octohack.client.setting.Setting; 5 | import me.primooctopus33.octohack.event.events.PerspectiveEvent; 6 | import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 7 | 8 | public class AspectRatio 9 | extends Module { 10 | public Setting aspect; 11 | 12 | public AspectRatio() { 13 | super("AspectRatio", "Allows you to change your aspect ratio", Module.Category.RENDER, true, false, false); 14 | this.aspect = this.register(new Setting("aspect", (double)(AspectRatio.mc.displayWidth / AspectRatio.mc.displayHeight) + 0.0, 0.0, 3.0)); 15 | } 16 | 17 | @SubscribeEvent 18 | public void onPerspectiveEvent(PerspectiveEvent event) { 19 | event.setAspect(this.aspect.getValue().floatValue()); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/render/BlockView.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.render; 2 | 3 | import me.primooctopus33.octohack.client.modules.Module; 4 | import net.minecraftforge.client.event.RenderBlockOverlayEvent; 5 | import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 6 | 7 | public class BlockView 8 | extends Module { 9 | public BlockView() { 10 | super("BlockView", "See clearly when inside blocks", Module.Category.RENDER, true, false, false); 11 | } 12 | 13 | @SubscribeEvent 14 | public void onRenderBlockOverlayEvent(RenderBlockOverlayEvent event) { 15 | if (event.getOverlayType() == RenderBlockOverlayEvent.OverlayType.BLOCK) { 16 | event.setCanceled(true); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/render/ESP$Mode.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.render; 2 | 3 | public enum ESP$Mode { 4 | WIREFRAME, 5 | OUTLINE; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/render/FreeF5$EntityPlayerCamera.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.render; 2 | 3 | import com.mojang.authlib.GameProfile; 4 | import me.primooctopus33.octohack.util.Util; 5 | import net.minecraft.client.entity.EntityOtherPlayerMP; 6 | import net.minecraft.entity.player.EntityPlayer; 7 | 8 | class FreeF5$EntityPlayerCamera 9 | extends EntityOtherPlayerMP { 10 | public FreeF5$EntityPlayerCamera(GameProfile gameProfileIn) { 11 | super(Util.mc.world, gameProfileIn); 12 | } 13 | 14 | public boolean isInvisible() { 15 | return true; 16 | } 17 | 18 | public boolean isInvisibleToPlayer(EntityPlayer player) { 19 | return true; 20 | } 21 | 22 | public boolean isSpectator() { 23 | return false; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/render/Fullbright$Mode.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.render; 2 | 3 | public enum Fullbright$Mode { 4 | GAMMA, 5 | POTION; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/render/HoleESP$DoubleMode.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.render; 2 | 3 | public enum HoleESP$DoubleMode { 4 | Static, 5 | Dynamic; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/render/HoleESP$Mode.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.render; 2 | 3 | public enum HoleESP$Mode { 4 | Gradient1, 5 | Gradient2, 6 | Full; 7 | 8 | } 9 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/render/HoleESP$Page.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.render; 2 | 3 | public enum HoleESP$Page { 4 | Fill, 5 | Line; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/render/HoleESP$QuadMode.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.render; 2 | 3 | public enum HoleESP$QuadMode { 4 | Static, 5 | Dynamic; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/render/NoRender$NoArmor.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.render; 2 | 3 | public enum NoRender$NoArmor { 4 | NONE, 5 | ALL, 6 | HELMET; 7 | 8 | } 9 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/render/NoRender$Skylight.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.render; 2 | 3 | public enum NoRender$Skylight { 4 | NONE, 5 | WORLD, 6 | ENTITY, 7 | ALL; 8 | 9 | } 10 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/client/modules/render/ShaderChams$Mode.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.client.modules.render; 2 | 3 | public enum ShaderChams$Mode { 4 | Smoke, 5 | Aqua, 6 | Flow, 7 | Red, 8 | Star, 9 | Rainbow, 10 | Galaxy, 11 | Outline; 12 | 13 | } 14 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/event/EnumStages.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.event; 2 | 3 | public enum EnumStages { 4 | PRE, 5 | PERI, 6 | POST; 7 | 8 | } 9 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/event/EventStage.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.event; 2 | 3 | import net.minecraftforge.fml.common.eventhandler.Event; 4 | 5 | public class EventStage 6 | extends Event { 7 | private int stage; 8 | 9 | public EventStage() { 10 | } 11 | 12 | public EventStage(int stage) { 13 | this.stage = stage; 14 | } 15 | 16 | public int getStage() { 17 | return this.stage; 18 | } 19 | 20 | public void setStage(int stage) { 21 | this.stage = stage; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/event/OctoHackEvent.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.event; 2 | 3 | import me.primooctopus33.octohack.event.EnumStages; 4 | import me.primooctopus33.octohack.event.events.ICancellable; 5 | 6 | public class OctoHackEvent 7 | implements ICancellable { 8 | private final EnumStages stage; 9 | private boolean canceled; 10 | 11 | public OctoHackEvent(EnumStages stage) { 12 | this.stage = stage; 13 | } 14 | 15 | public EnumStages getStage() { 16 | return this.stage; 17 | } 18 | 19 | @Override 20 | public void cancel() { 21 | this.canceled = true; 22 | } 23 | 24 | public void resume() { 25 | this.canceled = false; 26 | } 27 | 28 | @Override 29 | public boolean isCancelled() { 30 | return this.canceled; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/event/event/EventDirection.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.event.event; 2 | 3 | public enum EventDirection { 4 | INCOMING, 5 | OUTGOING; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/event/event/EventType.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.event.event; 2 | 3 | public enum EventType { 4 | PRE, 5 | POST; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/event/event/listeners/EventPacket.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.event.event.listeners; 2 | 3 | import me.primooctopus33.octohack.event.event.Event; 4 | import net.minecraft.network.Packet; 5 | 6 | public class EventPacket 7 | extends Event { 8 | Packet packet; 9 | 10 | public EventPacket(Packet packet) { 11 | this.packet = packet; 12 | } 13 | 14 | public Packet getPacket() { 15 | return this.packet; 16 | } 17 | 18 | public void setPacket(Packet packet) { 19 | this.packet = packet; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/event/event/listeners/EventRenderWorld.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.event.event.listeners; 2 | 3 | import me.primooctopus33.octohack.event.event.Event; 4 | 5 | public class EventRenderWorld 6 | extends Event { 7 | float partialTicks; 8 | 9 | public EventRenderWorld(float partialTicks) { 10 | this.partialTicks = partialTicks; 11 | } 12 | 13 | public float getPartialTicks() { 14 | return this.partialTicks; 15 | } 16 | 17 | public void setPartialTicks(float partialTicks) { 18 | this.partialTicks = partialTicks; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/event/event/listeners/EventUpdate.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.event.event.listeners; 2 | 3 | import me.primooctopus33.octohack.event.event.Event; 4 | 5 | public class EventUpdate 6 | extends Event { 7 | } 8 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/event/events/BlockEvent.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.event.events; 2 | 3 | import me.primooctopus33.octohack.event.EventStage; 4 | import net.minecraft.util.EnumFacing; 5 | import net.minecraft.util.math.BlockPos; 6 | import net.minecraftforge.fml.common.eventhandler.Cancelable; 7 | 8 | @Cancelable 9 | public class BlockEvent 10 | extends EventStage { 11 | public BlockPos pos; 12 | public EnumFacing facing; 13 | 14 | public BlockEvent(int stage, BlockPos pos, EnumFacing facing) { 15 | super(stage); 16 | this.pos = pos; 17 | this.facing = facing; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/event/events/BlockPushEvent.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.event.events; 2 | 3 | import me.primooctopus33.octohack.event.EventStage; 4 | 5 | public class BlockPushEvent 6 | extends EventStage { 7 | public double var1; 8 | public double var2; 9 | public double var3; 10 | 11 | public BlockPushEvent(double var1, double var2, double var3) { 12 | this.var1 = var1; 13 | this.var2 = var2; 14 | this.var3 = var3; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/event/events/ChatEvent.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.event.events; 2 | 3 | import me.primooctopus33.octohack.event.EventStage; 4 | import net.minecraftforge.fml.common.eventhandler.Cancelable; 5 | 6 | @Cancelable 7 | public class ChatEvent 8 | extends EventStage { 9 | private final String msg; 10 | 11 | public ChatEvent(String msg) { 12 | this.msg = msg; 13 | } 14 | 15 | public String getMsg() { 16 | return this.msg; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/event/events/ChorusEvent.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.event.events; 2 | 3 | import me.primooctopus33.octohack.event.EventStage; 4 | 5 | public class ChorusEvent 6 | extends EventStage { 7 | private final double chorusX; 8 | private final double chorusY; 9 | private final double chorusZ; 10 | 11 | public ChorusEvent(double x, double y, double z) { 12 | this.chorusX = x; 13 | this.chorusY = y; 14 | this.chorusZ = z; 15 | } 16 | 17 | public double getChorusX() { 18 | return this.chorusX; 19 | } 20 | 21 | public double getChorusY() { 22 | return this.chorusY; 23 | } 24 | 25 | public double getChorusZ() { 26 | return this.chorusZ; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/event/events/ClientEvent.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.event.events; 2 | 3 | import me.primooctopus33.octohack.client.Feature; 4 | import me.primooctopus33.octohack.client.setting.Setting; 5 | import me.primooctopus33.octohack.event.EventStage; 6 | import net.minecraftforge.fml.common.eventhandler.Cancelable; 7 | 8 | @Cancelable 9 | public class ClientEvent 10 | extends EventStage { 11 | private Feature feature; 12 | private Setting setting; 13 | 14 | public ClientEvent(int stage, Feature feature) { 15 | super(stage); 16 | this.feature = feature; 17 | } 18 | 19 | public ClientEvent(Setting setting) { 20 | super(2); 21 | this.setting = setting; 22 | } 23 | 24 | public Feature getFeature() { 25 | return this.feature; 26 | } 27 | 28 | public Setting getSetting() { 29 | return this.setting; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/event/events/DeathEvent.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.event.events; 2 | 3 | import me.primooctopus33.octohack.event.EventStage; 4 | import net.minecraft.entity.player.EntityPlayer; 5 | 6 | public class DeathEvent 7 | extends EventStage { 8 | public EntityPlayer player; 9 | 10 | public DeathEvent(EntityPlayer player) { 11 | this.player = player; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/event/events/EventBlock.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.event.events; 2 | 3 | import me.primooctopus33.octohack.event.event.Event; 4 | import net.minecraft.util.EnumFacing; 5 | import net.minecraft.util.math.BlockPos; 6 | 7 | public class EventBlock 8 | extends Event { 9 | public BlockPos pos; 10 | public EnumFacing facing; 11 | 12 | public EventBlock(BlockPos pos, EnumFacing facing) { 13 | this.pos = pos; 14 | this.facing = facing; 15 | } 16 | 17 | public BlockPos getPos() { 18 | return this.pos; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/event/events/EventPacketRecieve.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.event.events; 2 | 3 | import me.primooctopus33.octohack.event.EnumStages; 4 | import me.primooctopus33.octohack.event.OctoHackEvent; 5 | import net.minecraft.network.Packet; 6 | 7 | public class EventPacketRecieve 8 | extends OctoHackEvent { 9 | private final Packet packet; 10 | 11 | public EventPacketRecieve(EnumStages stage, Packet packet) { 12 | super(stage); 13 | this.packet = packet; 14 | } 15 | 16 | public Packet getPacket() { 17 | return this.packet; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/event/events/GuiScreenEvent$Closed.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.event.events; 2 | 3 | import me.primooctopus33.octohack.event.events.GuiScreenEvent; 4 | import net.minecraft.client.gui.GuiScreen; 5 | 6 | public class GuiScreenEvent$Closed 7 | extends GuiScreenEvent { 8 | public GuiScreenEvent$Closed(GuiScreen screen) { 9 | super(screen); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/event/events/GuiScreenEvent$Displayed.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.event.events; 2 | 3 | import me.primooctopus33.octohack.event.events.GuiScreenEvent; 4 | import net.minecraft.client.gui.GuiScreen; 5 | 6 | public class GuiScreenEvent$Displayed 7 | extends GuiScreenEvent { 8 | public GuiScreenEvent$Displayed(GuiScreen screen) { 9 | super(screen); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/event/events/GuiScreenEvent.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.event.events; 2 | 3 | import net.minecraft.client.gui.GuiScreen; 4 | 5 | public class GuiScreenEvent { 6 | private GuiScreen screen; 7 | 8 | public GuiScreenEvent(GuiScreen screen) { 9 | this.screen = screen; 10 | } 11 | 12 | public GuiScreen getScreen() { 13 | return this.screen; 14 | } 15 | 16 | public void setScreen(GuiScreen screen) { 17 | this.screen = screen; 18 | } 19 | 20 | public static class Closed 21 | extends GuiScreenEvent { 22 | public Closed(GuiScreen screen) { 23 | super(screen); 24 | } 25 | } 26 | 27 | public static class Displayed 28 | extends GuiScreenEvent { 29 | public Displayed(GuiScreen screen) { 30 | super(screen); 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/event/events/HandSideEvent.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.event.events; 2 | 3 | import me.primooctopus33.octohack.event.EventStage; 4 | import net.minecraft.util.EnumHandSide; 5 | 6 | public class HandSideEvent 7 | extends EventStage { 8 | public EnumHandSide handSide; 9 | 10 | public HandSideEvent(EnumHandSide handSide) { 11 | this.handSide = handSide; 12 | } 13 | 14 | public EnumHandSide getHandSide() { 15 | return this.handSide; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/event/events/ICancellable.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.event.events; 2 | 3 | public interface ICancellable { 4 | public void cancel(); 5 | 6 | public boolean isCancelled(); 7 | } 8 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/event/events/KeyEvent.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.event.events; 2 | 3 | import me.primooctopus33.octohack.event.EventStage; 4 | 5 | public class KeyEvent 6 | extends EventStage { 7 | private final int key; 8 | 9 | public KeyEvent(int key) { 10 | this.key = key; 11 | } 12 | 13 | public int getKey() { 14 | return this.key; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/event/events/KeyPressedEvent.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.event.events; 2 | 3 | import me.primooctopus33.octohack.event.EventStage; 4 | 5 | public class KeyPressedEvent 6 | extends EventStage { 7 | public boolean info; 8 | public boolean pressed; 9 | 10 | public KeyPressedEvent(boolean info, boolean pressed) { 11 | this.info = info; 12 | this.pressed = pressed; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/event/events/PacketEvent$Receive.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.event.events; 2 | 3 | import me.primooctopus33.octohack.event.events.PacketEvent; 4 | import net.minecraft.network.Packet; 5 | import net.minecraftforge.fml.common.eventhandler.Cancelable; 6 | 7 | @Cancelable 8 | public class PacketEvent$Receive 9 | extends PacketEvent { 10 | public PacketEvent$Receive(int stage, Packet packet) { 11 | super(stage, packet); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/event/events/PacketEvent$Send.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.event.events; 2 | 3 | import me.primooctopus33.octohack.event.events.PacketEvent; 4 | import net.minecraft.network.Packet; 5 | import net.minecraftforge.fml.common.eventhandler.Cancelable; 6 | 7 | @Cancelable 8 | public class PacketEvent$Send 9 | extends PacketEvent { 10 | public PacketEvent$Send(int stage, Packet packet) { 11 | super(stage, packet); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/event/events/PacketEvent.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.event.events; 2 | 3 | import me.primooctopus33.octohack.event.EventStage; 4 | import net.minecraft.network.Packet; 5 | import net.minecraftforge.fml.common.eventhandler.Cancelable; 6 | 7 | public class PacketEvent 8 | extends EventStage { 9 | private final Packet packet; 10 | 11 | public PacketEvent(int stage, Packet packet) { 12 | super(stage); 13 | this.packet = packet; 14 | } 15 | 16 | public > T getPacket() { 17 | return (T)this.packet; 18 | } 19 | 20 | @Cancelable 21 | public static class Receive 22 | extends PacketEvent { 23 | public Receive(int stage, Packet packet) { 24 | super(stage, packet); 25 | } 26 | } 27 | 28 | @Cancelable 29 | public static class Send 30 | extends PacketEvent { 31 | public Send(int stage, Packet packet) { 32 | super(stage, packet); 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/event/events/PerspectiveEvent.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.event.events; 2 | 3 | import me.primooctopus33.octohack.event.EventStage; 4 | 5 | public class PerspectiveEvent 6 | extends EventStage { 7 | private float aspect; 8 | 9 | public PerspectiveEvent(float aspect) { 10 | this.aspect = aspect; 11 | } 12 | 13 | public float getAspect() { 14 | return this.aspect; 15 | } 16 | 17 | public void setAspect(float aspect) { 18 | this.aspect = aspect; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/event/events/PlayerLivingUpdateEvent.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.event.events; 2 | 3 | import net.minecraftforge.fml.common.eventhandler.Event; 4 | 5 | public class PlayerLivingUpdateEvent 6 | extends Event { 7 | } 8 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/event/events/ProcessRightClickBlockEvent.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.event.events; 2 | 3 | import me.primooctopus33.octohack.event.EventStage; 4 | import net.minecraft.item.ItemStack; 5 | import net.minecraft.util.EnumHand; 6 | import net.minecraft.util.math.BlockPos; 7 | import net.minecraftforge.fml.common.eventhandler.Cancelable; 8 | 9 | @Cancelable 10 | public class ProcessRightClickBlockEvent 11 | extends EventStage { 12 | public BlockPos pos; 13 | public EnumHand hand; 14 | public ItemStack stack; 15 | 16 | public ProcessRightClickBlockEvent(BlockPos pos, EnumHand hand, ItemStack stack) { 17 | this.pos = pos; 18 | this.hand = hand; 19 | this.stack = stack; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/event/events/PushEvent.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.event.events; 2 | 3 | import me.primooctopus33.octohack.event.EventStage; 4 | import net.minecraft.entity.Entity; 5 | import net.minecraftforge.fml.common.eventhandler.Cancelable; 6 | 7 | @Cancelable 8 | public class PushEvent 9 | extends EventStage { 10 | public Entity entity; 11 | public double x; 12 | public double y; 13 | public double z; 14 | public boolean airbone; 15 | 16 | public PushEvent(Entity entity, double x, double y, double z, boolean airbone) { 17 | super(0); 18 | this.entity = entity; 19 | this.x = x; 20 | this.y = y; 21 | this.z = z; 22 | this.airbone = airbone; 23 | } 24 | 25 | public PushEvent(int stage) { 26 | super(stage); 27 | } 28 | 29 | public PushEvent(int stage, Entity entity) { 30 | super(stage); 31 | this.entity = entity; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/event/events/Render3DEvent.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.event.events; 2 | 3 | import me.primooctopus33.octohack.event.EventStage; 4 | 5 | public class Render3DEvent 6 | extends EventStage { 7 | private final float partialTicks; 8 | 9 | public Render3DEvent(float partialTicks) { 10 | this.partialTicks = partialTicks; 11 | } 12 | 13 | public float getPartialTicks() { 14 | return this.partialTicks; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/event/events/TotemPopEvent.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.event.events; 2 | 3 | import me.primooctopus33.octohack.event.EventStage; 4 | import net.minecraft.entity.player.EntityPlayer; 5 | 6 | public class TotemPopEvent 7 | extends EventStage { 8 | private EntityPlayer entity; 9 | private final int entId; 10 | 11 | public TotemPopEvent(EntityPlayer entity) { 12 | this.entity = entity; 13 | this.entId = this.getEntityId(); 14 | } 15 | 16 | public EntityPlayer getEntity() { 17 | return this.entity; 18 | } 19 | 20 | public int getEntityId() { 21 | return this.entId; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/event/events/UpdateEvent.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.event.events; 2 | 3 | import me.primooctopus33.octohack.event.EventStage; 4 | 5 | public class UpdateEvent 6 | extends EventStage { 7 | private final int stage; 8 | 9 | public UpdateEvent(int stage) { 10 | this.stage = stage; 11 | } 12 | 13 | @Override 14 | public final int getStage() { 15 | return this.stage; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/event/events/UpdatePlayerEvent.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.event.events; 2 | 3 | import me.primooctopus33.octohack.event.event.Event; 4 | 5 | public class UpdatePlayerEvent 6 | extends Event { 7 | } 8 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/event/events/UpdateWalkingPlayerEvent.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.event.events; 2 | 3 | import me.primooctopus33.octohack.event.EventStage; 4 | import net.minecraftforge.fml.common.eventhandler.Cancelable; 5 | 6 | @Cancelable 7 | public class UpdateWalkingPlayerEvent 8 | extends EventStage { 9 | public UpdateWalkingPlayerEvent(int stage) { 10 | super(stage); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/manager/FriendManager$Friend.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.manager; 2 | 3 | import java.util.UUID; 4 | 5 | public class FriendManager$Friend { 6 | private final String username; 7 | private final UUID uuid; 8 | 9 | public FriendManager$Friend(String username, UUID uuid) { 10 | this.username = username; 11 | this.uuid = uuid; 12 | } 13 | 14 | public String getUsername() { 15 | return this.username; 16 | } 17 | 18 | public UUID getUuid() { 19 | return this.uuid; 20 | } 21 | 22 | static String access$000(FriendManager$Friend x0) { 23 | return x0.username; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/manager/PacketManager.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.manager; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | import me.primooctopus33.octohack.client.Feature; 6 | import net.minecraft.network.Packet; 7 | 8 | public class PacketManager 9 | extends Feature { 10 | private final List> noEventPackets = new ArrayList(); 11 | 12 | public void sendPacketNoEvent(Packet packet) { 13 | if (packet != null && !PacketManager.nullCheck()) { 14 | this.noEventPackets.add(packet); 15 | PacketManager.mc.player.connection.sendPacket(packet); 16 | } 17 | } 18 | 19 | public boolean shouldSendPacket(Packet packet) { 20 | if (this.noEventPackets.contains(packet)) { 21 | this.noEventPackets.remove(packet); 22 | return false; 23 | } 24 | return true; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/manager/PotionManager$PotionList.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.manager; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | import net.minecraft.potion.PotionEffect; 6 | 7 | public class PotionManager$PotionList { 8 | private final List effects = new ArrayList(); 9 | 10 | public void addEffect(PotionEffect effect) { 11 | if (effect != null) { 12 | this.effects.add(effect); 13 | } 14 | } 15 | 16 | public List getEffects() { 17 | return this.effects; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/manager/TimerManager.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.manager; 2 | 3 | import me.primooctopus33.octohack.client.Feature; 4 | 5 | public class TimerManager 6 | extends Feature { 7 | private float timer = 1.0f; 8 | 9 | public void init() { 10 | } 11 | 12 | public void unload() { 13 | this.timer = 1.0f; 14 | } 15 | 16 | public void update() { 17 | } 18 | 19 | public void setTimer(float timer) { 20 | if (timer > 0.0f) { 21 | this.timer = timer; 22 | } 23 | } 24 | 25 | public float getTimer() { 26 | return this.timer; 27 | } 28 | 29 | @Override 30 | public void reset() { 31 | this.timer = 1.0f; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/mixin/mixins/MixinEntityLivingBase.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.mixin.mixins; 2 | 3 | import me.primooctopus33.octohack.OctoHack; 4 | import me.primooctopus33.octohack.client.modules.render.Animations; 5 | import net.minecraft.entity.EntityLivingBase; 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.CallbackInfoReturnable; 10 | 11 | @Mixin(value={EntityLivingBase.class}) 12 | public class MixinEntityLivingBase { 13 | @Inject(method={"getArmSwingAnimationEnd"}, at={@At(value="HEAD")}, cancellable=true) 14 | private void getArmSwingAnimationEnd(CallbackInfoReturnable info) { 15 | if (OctoHack.moduleManager.isModuleEnabled("Animations") && Animations.changeSwing.getValue().booleanValue()) { 16 | info.setReturnValue((int)Animations.swingDelay.getValue()); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/mixin/mixins/MixinGuiToast.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.mixin.mixins; 2 | 3 | import me.primooctopus33.octohack.client.modules.render.NoRender; 4 | import net.minecraft.client.gui.ScaledResolution; 5 | import net.minecraft.client.gui.toasts.GuiToast; 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(value={GuiToast.class}) 12 | public class MixinGuiToast { 13 | @Inject(method={"drawToast"}, at={@At(value="HEAD")}, cancellable=true) 14 | public void drawToastHook(ScaledResolution resolution, CallbackInfo info) { 15 | if (NoRender.getInstance().isOn() && NoRender.getInstance().advancements.getValue().booleanValue()) { 16 | info.cancel(); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/mixin/mixins/MixinRenderPlayer.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.mixin.mixins; 2 | 3 | import me.primooctopus33.octohack.client.modules.render.Nametags; 4 | import net.minecraft.client.entity.AbstractClientPlayer; 5 | import net.minecraft.client.renderer.entity.RenderPlayer; 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(value={RenderPlayer.class}) 12 | public class MixinRenderPlayer { 13 | @Inject(method={"renderEntityName"}, at={@At(value="HEAD")}, cancellable=true) 14 | public void renderEntityNameHook(AbstractClientPlayer entityIn, double x, double y, double z, String name, double distanceSq, CallbackInfo info) { 15 | if (Nametags.getInstance().isOn()) { 16 | info.cancel(); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/mixin/mixins/accessors/IEntityLivingBase.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.mixin.mixins.accessors; 2 | 3 | import net.minecraft.entity.EntityLivingBase; 4 | import org.spongepowered.asm.mixin.Mixin; 5 | import org.spongepowered.asm.mixin.gen.Invoker; 6 | 7 | @Mixin(value={EntityLivingBase.class}) 8 | public interface IEntityLivingBase { 9 | @Invoker(value="getArmSwingAnimationEnd") 10 | public int getArmSwingAnimationEnd(); 11 | } 12 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/mixin/mixins/accessors/IEntityRenderer.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.mixin.mixins.accessors; 2 | 3 | import net.minecraft.client.renderer.EntityRenderer; 4 | import org.spongepowered.asm.mixin.Mixin; 5 | import org.spongepowered.asm.mixin.gen.Invoker; 6 | 7 | @Mixin(value={EntityRenderer.class}) 8 | public interface IEntityRenderer { 9 | @Invoker(value="setupCameraTransform") 10 | public void setupCameraTransformInvoker(float var1, int var2); 11 | } 12 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/mixin/mixins/accessors/IMinecraftMixin.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.mixin.mixins.accessors; 2 | 3 | import net.minecraft.client.Minecraft; 4 | import org.spongepowered.asm.mixin.Mixin; 5 | import org.spongepowered.asm.mixin.gen.Accessor; 6 | 7 | @Mixin(value={Minecraft.class}) 8 | public interface IMinecraftMixin { 9 | @Accessor(value="rightClickDelayTimer") 10 | public void setRightClickDelayTimerAccessor(int var1); 11 | } 12 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/mixin/mixins/accessors/IRenderEnderCrystal.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.mixin.mixins.accessors; 2 | 3 | import net.minecraft.client.model.ModelBase; 4 | import net.minecraft.client.renderer.entity.RenderEnderCrystal; 5 | import org.spongepowered.asm.mixin.Mixin; 6 | import org.spongepowered.asm.mixin.gen.Accessor; 7 | 8 | @Mixin(value={RenderEnderCrystal.class}) 9 | public interface IRenderEnderCrystal { 10 | @Accessor(value="modelEnderCrystalNoBase") 11 | public ModelBase getModelEnderCrystalNoBase(); 12 | 13 | @Accessor(value="modelEnderCrystalNoBase") 14 | public void setModelEnderCrystalNoBase(ModelBase var1); 15 | } 16 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/mixin/mixins/accessors/IRenderManager.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.mixin.mixins.accessors; 2 | 3 | public interface IRenderManager { 4 | public double getRenderPosX(); 5 | 6 | public double getRenderPosY(); 7 | 8 | public double getRenderPosZ(); 9 | } 10 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/util/BlockUtil$ValidResult.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.util; 2 | 3 | public enum BlockUtil$ValidResult { 4 | NoEntityCollision, 5 | AlreadyBlockThere, 6 | NoNeighbors, 7 | Ok; 8 | 9 | } 10 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/util/HoleUtil$Hole.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.util; 2 | 3 | import me.primooctopus33.octohack.util.HoleUtil; 4 | 5 | public class HoleUtil$Hole { 6 | public HoleUtil.type type; 7 | public HoleUtil.material mat; 8 | 9 | public HoleUtil$Hole(HoleUtil.type type2, HoleUtil.material mat) { 10 | this.type = type2; 11 | this.mat = mat; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/util/HoleUtil$SingleHole.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.util; 2 | 3 | import me.primooctopus33.octohack.util.HoleUtil; 4 | import net.minecraft.util.math.BlockPos; 5 | 6 | public final class HoleUtil$SingleHole 7 | extends HoleUtil.Hole { 8 | public BlockPos pos; 9 | 10 | public HoleUtil$SingleHole(BlockPos pos, HoleUtil.material mat) { 11 | super(HoleUtil.type.SINGLE, mat); 12 | this.pos = pos; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/util/HoleUtil$material.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.util; 2 | 3 | public enum HoleUtil$material { 4 | BEDROCK, 5 | OBSIDIAN; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/util/HoleUtil$type.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.util; 2 | 3 | public enum HoleUtil$type { 4 | DOUBLE, 5 | SINGLE, 6 | QUAD; 7 | 8 | } 9 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/util/InventoryUtil$Switch.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.util; 2 | 3 | public enum InventoryUtil$Switch { 4 | NORMAL, 5 | SILENT, 6 | NONE; 7 | 8 | } 9 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/util/PairUtil.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.util; 2 | 3 | public class PairUtil { 4 | T key; 5 | S value; 6 | 7 | public PairUtil(T key, S value) { 8 | this.key = key; 9 | this.value = value; 10 | } 11 | 12 | public T getKey() { 13 | return this.key; 14 | } 15 | 16 | public S getValue() { 17 | return this.value; 18 | } 19 | 20 | public void setKey(T key) { 21 | this.key = key; 22 | } 23 | 24 | public void setValue(S value) { 25 | this.value = value; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/util/RenderUtil$GeometryMasks$Line.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.util; 2 | 3 | public final class RenderUtil$GeometryMasks$Line { 4 | public static final int DOWN_WEST = 17; 5 | public static final int UP_WEST = 18; 6 | public static final int DOWN_EAST = 33; 7 | public static final int UP_EAST = 34; 8 | public static final int DOWN_NORTH = 5; 9 | public static final int UP_NORTH = 6; 10 | public static final int DOWN_SOUTH = 9; 11 | public static final int UP_SOUTH = 10; 12 | public static final int NORTH_WEST = 20; 13 | public static final int NORTH_EAST = 36; 14 | public static final int SOUTH_WEST = 24; 15 | public static final int SOUTH_EAST = 40; 16 | public static final int ALL = 63; 17 | } 18 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/util/RenderUtil$GeometryMasks$Quad.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.util; 2 | 3 | public final class RenderUtil$GeometryMasks$Quad { 4 | public static final int DOWN = 1; 5 | public static final int UP = 2; 6 | public static final int NORTH = 4; 7 | public static final int SOUTH = 8; 8 | public static final int WEST = 16; 9 | public static final int EAST = 32; 10 | public static final int ALL = 63; 11 | } 12 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/util/TextUtil$Color.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.util; 2 | 3 | public enum TextUtil$Color { 4 | NONE, 5 | WHITE, 6 | BLACK, 7 | DARK_BLUE, 8 | DARK_GREEN, 9 | DARK_AQUA, 10 | DARK_RED, 11 | DARK_PURPLE, 12 | GOLD, 13 | GRAY, 14 | DARK_GRAY, 15 | BLUE, 16 | GREEN, 17 | AQUA, 18 | RED, 19 | LIGHT_PURPLE, 20 | YELLOW; 21 | 22 | } 23 | -------------------------------------------------------------------------------- /me/primooctopus33/octohack/util/Util.java: -------------------------------------------------------------------------------- 1 | package me.primooctopus33.octohack.util; 2 | 3 | import net.minecraft.client.Minecraft; 4 | 5 | public interface Util { 6 | public static final Minecraft mc = Minecraft.getMinecraft(); 7 | } 8 | -------------------------------------------------------------------------------- /me/zero/alpine/EventBus.java: -------------------------------------------------------------------------------- 1 | package me.zero.alpine; 2 | 3 | public interface EventBus { 4 | public void subscribe(Object var1); 5 | 6 | public void subscribe(Object ... var1); 7 | 8 | public void subscribe(Iterable var1); 9 | 10 | public void unsubscribe(Object var1); 11 | 12 | public void unsubscribe(Object ... var1); 13 | 14 | public void unsubscribe(Iterable var1); 15 | 16 | public void post(Object var1); 17 | 18 | public void attach(EventBus var1); 19 | 20 | public void detach(EventBus var1); 21 | } 22 | -------------------------------------------------------------------------------- /me/zero/alpine/fork/bus/type/AttachableEventBus.java: -------------------------------------------------------------------------------- 1 | package me.zero.alpine.fork.bus.type; 2 | 3 | import me.zero.alpine.fork.bus.EventBus; 4 | 5 | public interface AttachableEventBus 6 | extends EventBus { 7 | public void attach(EventBus var1); 8 | 9 | public void detach(EventBus var1); 10 | } 11 | -------------------------------------------------------------------------------- /me/zero/alpine/fork/event/EventPriority.java: -------------------------------------------------------------------------------- 1 | package me.zero.alpine.fork.event; 2 | 3 | public interface EventPriority { 4 | public static final int HIGHEST = 200; 5 | public static final int HIGH = 100; 6 | public static final int MEDIUM = 0; 7 | public static final int LOW = -100; 8 | public static final int LOWEST = -200; 9 | public static final int DEFAULT = 0; 10 | } 11 | -------------------------------------------------------------------------------- /me/zero/alpine/fork/event/EventState.java: -------------------------------------------------------------------------------- 1 | package me.zero.alpine.fork.event; 2 | 3 | public enum EventState { 4 | PRE, 5 | POST; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /me/zero/alpine/fork/event/type/Cancellable.java: -------------------------------------------------------------------------------- 1 | package me.zero.alpine.fork.event.type; 2 | 3 | import me.zero.alpine.fork.event.type.ICancellable; 4 | 5 | public class Cancellable 6 | implements ICancellable { 7 | private boolean cancelled; 8 | 9 | @Override 10 | public void cancel() { 11 | this.cancelled = true; 12 | } 13 | 14 | @Override 15 | public boolean isCancelled() { 16 | return this.cancelled; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /me/zero/alpine/fork/event/type/ICancellable.java: -------------------------------------------------------------------------------- 1 | package me.zero.alpine.fork.event.type; 2 | 3 | public interface ICancellable { 4 | public void cancel(); 5 | 6 | public boolean isCancelled(); 7 | } 8 | -------------------------------------------------------------------------------- /me/zero/alpine/fork/listener/EventHandler.java: -------------------------------------------------------------------------------- 1 | package me.zero.alpine.fork.listener; 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(value=RetentionPolicy.RUNTIME) 9 | @Target(value={ElementType.FIELD}) 10 | public @interface EventHandler { 11 | } 12 | -------------------------------------------------------------------------------- /me/zero/alpine/fork/listener/EventHook.java: -------------------------------------------------------------------------------- 1 | package me.zero.alpine.fork.listener; 2 | 3 | @FunctionalInterface 4 | public interface EventHook { 5 | public void invoke(T var1); 6 | } 7 | -------------------------------------------------------------------------------- /me/zero/alpine/fork/listener/Listenable.java: -------------------------------------------------------------------------------- 1 | package me.zero.alpine.fork.listener; 2 | 3 | public interface Listenable { 4 | } 5 | -------------------------------------------------------------------------------- /me/zero/alpine/fork/listener/MethodRefListener.java: -------------------------------------------------------------------------------- 1 | package me.zero.alpine.fork.listener; 2 | 3 | import java.util.function.Predicate; 4 | import me.zero.alpine.fork.listener.EventHook; 5 | import me.zero.alpine.fork.listener.Listener; 6 | 7 | public class MethodRefListener 8 | extends Listener { 9 | private Class target; 10 | 11 | @SafeVarargs 12 | public MethodRefListener(Class target, EventHook hook, Predicate ... filters) { 13 | super(hook, filters); 14 | this.target = target; 15 | } 16 | 17 | @SafeVarargs 18 | public MethodRefListener(Class target, EventHook hook, int priority, Predicate ... filters) { 19 | super(hook, priority, filters); 20 | this.target = target; 21 | } 22 | 23 | @Override 24 | public Class getTarget() { 25 | return this.target; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /me/zero/alpine/listener/EventHandler.java: -------------------------------------------------------------------------------- 1 | package me.zero.alpine.listener; 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(value=RetentionPolicy.RUNTIME) 9 | @Target(value={ElementType.FIELD}) 10 | public @interface EventHandler { 11 | } 12 | -------------------------------------------------------------------------------- /me/zero/alpine/listener/EventHook.java: -------------------------------------------------------------------------------- 1 | package me.zero.alpine.listener; 2 | 3 | @FunctionalInterface 4 | public interface EventHook { 5 | public void invoke(T var1); 6 | } 7 | -------------------------------------------------------------------------------- /me/zero/alpine/type/Cancellable.java: -------------------------------------------------------------------------------- 1 | package me.zero.alpine.type; 2 | 3 | public class Cancellable { 4 | private boolean cancelled; 5 | 6 | public final void cancel() { 7 | this.cancelled = true; 8 | } 9 | 10 | public final boolean isCancelled() { 11 | return this.cancelled; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /me/zero/alpine/type/EventPriority.java: -------------------------------------------------------------------------------- 1 | package me.zero.alpine.type; 2 | 3 | public interface EventPriority { 4 | public static final byte HIGHEST = 1; 5 | public static final byte HIGH = 2; 6 | public static final byte MEDIUM = 3; 7 | public static final byte LOW = 4; 8 | public static final byte LOWEST = 5; 9 | public static final byte DEFAULT = 3; 10 | } 11 | -------------------------------------------------------------------------------- /me/zero/alpine/type/EventState.java: -------------------------------------------------------------------------------- 1 | package me.zero.alpine.type; 2 | 3 | public enum EventState { 4 | PRE, 5 | POST; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /net/jodah/typetools/TypeResolver$1.java: -------------------------------------------------------------------------------- 1 | package net.jodah.typetools; 2 | 3 | import java.lang.reflect.Field; 4 | import java.security.PrivilegedExceptionAction; 5 | import sun.misc.Unsafe; 6 | 7 | final class TypeResolver$1 8 | implements PrivilegedExceptionAction { 9 | TypeResolver$1() { 10 | } 11 | 12 | @Override 13 | public Unsafe run() throws Exception { 14 | Field f = Unsafe.class.getDeclaredField("theUnsafe"); 15 | f.setAccessible(true); 16 | return (Unsafe)f.get(null); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /net/jodah/typetools/TypeResolver$2.java: -------------------------------------------------------------------------------- 1 | package net.jodah.typetools; 2 | 3 | import java.lang.reflect.AccessibleObject; 4 | import net.jodah.typetools.TypeResolver; 5 | 6 | final class TypeResolver$2 7 | implements TypeResolver.AccessMaker { 8 | TypeResolver$2() { 9 | } 10 | 11 | @Override 12 | public void makeAccessible(AccessibleObject accessibleObject) { 13 | accessibleObject.setAccessible(true); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /net/jodah/typetools/TypeResolver$3.java: -------------------------------------------------------------------------------- 1 | package net.jodah.typetools; 2 | 3 | import java.lang.reflect.AccessibleObject; 4 | import net.jodah.typetools.TypeResolver; 5 | import sun.misc.Unsafe; 6 | 7 | final class TypeResolver$3 8 | implements TypeResolver.AccessMaker { 9 | final Unsafe val$unsafe; 10 | final long val$overrideFieldOffset; 11 | 12 | TypeResolver$3(Unsafe unsafe, long l) { 13 | this.val$unsafe = unsafe; 14 | this.val$overrideFieldOffset = l; 15 | } 16 | 17 | @Override 18 | public void makeAccessible(AccessibleObject accessibleObject) { 19 | this.val$unsafe.putBoolean((Object)accessibleObject, this.val$overrideFieldOffset, true); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /net/jodah/typetools/TypeResolver$4.java: -------------------------------------------------------------------------------- 1 | package net.jodah.typetools; 2 | 3 | import java.lang.invoke.MethodHandle; 4 | import java.lang.reflect.AccessibleObject; 5 | import net.jodah.typetools.TypeResolver; 6 | 7 | final class TypeResolver$4 8 | implements TypeResolver.AccessMaker { 9 | final MethodHandle val$overrideSetter; 10 | 11 | TypeResolver$4(MethodHandle methodHandle) { 12 | this.val$overrideSetter = methodHandle; 13 | } 14 | 15 | @Override 16 | public void makeAccessible(AccessibleObject object) throws Throwable { 17 | this.val$overrideSetter.invokeWithArguments(object, true); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /net/jodah/typetools/TypeResolver$AccessMaker.java: -------------------------------------------------------------------------------- 1 | package net.jodah.typetools; 2 | 3 | import java.lang.reflect.AccessibleObject; 4 | 5 | interface TypeResolver$AccessMaker { 6 | public void makeAccessible(AccessibleObject var1) throws Throwable; 7 | } 8 | -------------------------------------------------------------------------------- /net/jodah/typetools/TypeResolver$Unknown.java: -------------------------------------------------------------------------------- 1 | package net.jodah.typetools; 2 | 3 | public final class TypeResolver$Unknown { 4 | private TypeResolver$Unknown() { 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /org/json/simple/JSONAware.java: -------------------------------------------------------------------------------- 1 | package org.json.simple; 2 | 3 | public interface JSONAware { 4 | public String toJSONString(); 5 | } 6 | -------------------------------------------------------------------------------- /org/json/simple/JSONStreamAware.java: -------------------------------------------------------------------------------- 1 | package org.json.simple; 2 | 3 | import java.io.IOException; 4 | import java.io.Writer; 5 | 6 | public interface JSONStreamAware { 7 | public void writeJSONString(Writer var1) throws IOException; 8 | } 9 | -------------------------------------------------------------------------------- /org/json/simple/parser/ContainerFactory.java: -------------------------------------------------------------------------------- 1 | package org.json.simple.parser; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | public interface ContainerFactory { 7 | public Map createObjectContainer(); 8 | 9 | public List creatArrayContainer(); 10 | } 11 | -------------------------------------------------------------------------------- /org/json/simple/parser/ContentHandler.java: -------------------------------------------------------------------------------- 1 | package org.json.simple.parser; 2 | 3 | import java.io.IOException; 4 | import org.json.simple.parser.ParseException; 5 | 6 | public interface ContentHandler { 7 | public void startJSON() throws ParseException, IOException; 8 | 9 | public void endJSON() throws ParseException, IOException; 10 | 11 | public boolean startObject() throws ParseException, IOException; 12 | 13 | public boolean endObject() throws ParseException, IOException; 14 | 15 | public boolean startObjectEntry(String var1) throws ParseException, IOException; 16 | 17 | public boolean endObjectEntry() throws ParseException, IOException; 18 | 19 | public boolean startArray() throws ParseException, IOException; 20 | 21 | public boolean endArray() throws ParseException, IOException; 22 | 23 | public boolean primitive(Object var1) throws ParseException, IOException; 24 | } 25 | -------------------------------------------------------------------------------- /org/spongepowered/asm/launch/GlobalProperties$Keys.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.launch; 2 | 3 | public final class GlobalProperties$Keys { 4 | public static final String INIT = "mixin.initialised"; 5 | public static final String AGENTS = "mixin.agents"; 6 | public static final String CONFIGS = "mixin.configs"; 7 | public static final String TRANSFORMER = "mixin.transformer"; 8 | public static final String PLATFORM_MANAGER = "mixin.platform"; 9 | public static final String FML_LOAD_CORE_MOD = "mixin.launch.fml.loadcoremodmethod"; 10 | public static final String FML_GET_REPARSEABLE_COREMODS = "mixin.launch.fml.reparseablecoremodsmethod"; 11 | public static final String FML_CORE_MOD_MANAGER = "mixin.launch.fml.coremodmanagerclass"; 12 | public static final String FML_GET_IGNORED_MODS = "mixin.launch.fml.ignoredmodsmethod"; 13 | 14 | private GlobalProperties$Keys() { 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /org/spongepowered/asm/launch/MixinInitialisationError.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.launch; 2 | 3 | public class MixinInitialisationError 4 | extends Error { 5 | private static final long serialVersionUID = 1L; 6 | 7 | public MixinInitialisationError() { 8 | } 9 | 10 | public MixinInitialisationError(String message) { 11 | super(message); 12 | } 13 | 14 | public MixinInitialisationError(Throwable cause) { 15 | super(cause); 16 | } 17 | 18 | public MixinInitialisationError(String message, Throwable cause) { 19 | super(message, cause); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /org/spongepowered/asm/launch/MixinTweaker.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.launch; 2 | 3 | import java.io.File; 4 | import java.util.List; 5 | import net.minecraft.launchwrapper.ITweaker; 6 | import net.minecraft.launchwrapper.LaunchClassLoader; 7 | import org.spongepowered.asm.launch.MixinBootstrap; 8 | 9 | public class MixinTweaker 10 | implements ITweaker { 11 | public MixinTweaker() { 12 | MixinBootstrap.start(); 13 | } 14 | 15 | public final void acceptOptions(List args, File gameDir, File assetsDir, String profile) { 16 | MixinBootstrap.doInit(args); 17 | } 18 | 19 | @Override 20 | public final void injectIntoClassLoader(LaunchClassLoader classLoader) { 21 | MixinBootstrap.inject(); 22 | } 23 | 24 | public String getLaunchTarget() { 25 | return MixinBootstrap.getPlatform().getLaunchTarget(); 26 | } 27 | 28 | public String[] getLaunchArguments() { 29 | return new String[0]; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /org/spongepowered/asm/launch/platform/IMixinPlatformAgent.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.launch.platform; 2 | 3 | public interface IMixinPlatformAgent { 4 | public String getPhaseProvider(); 5 | 6 | public void prepare(); 7 | 8 | public void initPrimaryContainer(); 9 | 10 | public void inject(); 11 | 12 | public String getLaunchTarget(); 13 | } 14 | -------------------------------------------------------------------------------- /org/spongepowered/asm/lib/Context.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.lib; 2 | 3 | import org.spongepowered.asm.lib.Attribute; 4 | import org.spongepowered.asm.lib.Label; 5 | import org.spongepowered.asm.lib.TypePath; 6 | 7 | class Context { 8 | Attribute[] attrs; 9 | int flags; 10 | char[] buffer; 11 | int[] bootstrapMethods; 12 | int access; 13 | String name; 14 | String desc; 15 | Label[] labels; 16 | int typeRef; 17 | TypePath typePath; 18 | int offset; 19 | Label[] start; 20 | Label[] end; 21 | int[] index; 22 | int mode; 23 | int localCount; 24 | int localDiff; 25 | Object[] local; 26 | int stackCount; 27 | Object[] stack; 28 | 29 | Context() { 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /org/spongepowered/asm/lib/CurrentFrame.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.lib; 2 | 3 | import org.spongepowered.asm.lib.ClassWriter; 4 | import org.spongepowered.asm.lib.Frame; 5 | import org.spongepowered.asm.lib.Item; 6 | 7 | class CurrentFrame 8 | extends Frame { 9 | CurrentFrame() { 10 | } 11 | 12 | void execute(int opcode, int arg, ClassWriter cw, Item item) { 13 | super.execute(opcode, arg, cw, item); 14 | Frame successor = new Frame(); 15 | this.merge(cw, successor, 0); 16 | this.set(successor); 17 | this.owner.inputStackTop = 0; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /org/spongepowered/asm/lib/Edge.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.lib; 2 | 3 | import org.spongepowered.asm.lib.Label; 4 | 5 | class Edge { 6 | static final int NORMAL = 0; 7 | static final int EXCEPTION = Integer.MAX_VALUE; 8 | int info; 9 | Label successor; 10 | Edge next; 11 | 12 | Edge() { 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /org/spongepowered/asm/lib/tree/InnerClassNode.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.lib.tree; 2 | 3 | import org.spongepowered.asm.lib.ClassVisitor; 4 | 5 | public class InnerClassNode { 6 | public String name; 7 | public String outerName; 8 | public String innerName; 9 | public int access; 10 | 11 | public InnerClassNode(String name, String outerName, String innerName, int access) { 12 | this.name = name; 13 | this.outerName = outerName; 14 | this.innerName = innerName; 15 | this.access = access; 16 | } 17 | 18 | public void accept(ClassVisitor cv) { 19 | cv.visitInnerClass(this.name, this.outerName, this.innerName, this.access); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /org/spongepowered/asm/lib/tree/InsnNode.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.lib.tree; 2 | 3 | import java.util.Map; 4 | import org.spongepowered.asm.lib.MethodVisitor; 5 | import org.spongepowered.asm.lib.tree.AbstractInsnNode; 6 | import org.spongepowered.asm.lib.tree.LabelNode; 7 | 8 | /* 9 | * This class specifies class file version 49.0 but uses Java 6 signatures. Assumed Java 6. 10 | */ 11 | public class InsnNode 12 | extends AbstractInsnNode { 13 | public InsnNode(int opcode) { 14 | super(opcode); 15 | } 16 | 17 | @Override 18 | public int getType() { 19 | return 0; 20 | } 21 | 22 | @Override 23 | public void accept(MethodVisitor mv) { 24 | mv.visitInsn(this.opcode); 25 | this.acceptAnnotations(mv); 26 | } 27 | 28 | @Override 29 | public AbstractInsnNode clone(Map labels) { 30 | return new InsnNode(this.opcode).cloneAnnotations(this); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /org/spongepowered/asm/lib/tree/LdcInsnNode.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.lib.tree; 2 | 3 | import java.util.Map; 4 | import org.spongepowered.asm.lib.MethodVisitor; 5 | import org.spongepowered.asm.lib.tree.AbstractInsnNode; 6 | import org.spongepowered.asm.lib.tree.LabelNode; 7 | 8 | /* 9 | * This class specifies class file version 49.0 but uses Java 6 signatures. Assumed Java 6. 10 | */ 11 | public class LdcInsnNode 12 | extends AbstractInsnNode { 13 | public Object cst; 14 | 15 | public LdcInsnNode(Object cst) { 16 | super(18); 17 | this.cst = cst; 18 | } 19 | 20 | @Override 21 | public int getType() { 22 | return 9; 23 | } 24 | 25 | @Override 26 | public void accept(MethodVisitor mv) { 27 | mv.visitLdcInsn(this.cst); 28 | this.acceptAnnotations(mv); 29 | } 30 | 31 | @Override 32 | public AbstractInsnNode clone(Map labels) { 33 | return new LdcInsnNode(this.cst).cloneAnnotations(this); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /org/spongepowered/asm/lib/tree/LocalVariableNode.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.lib.tree; 2 | 3 | import org.spongepowered.asm.lib.MethodVisitor; 4 | import org.spongepowered.asm.lib.tree.LabelNode; 5 | 6 | public class LocalVariableNode { 7 | public String name; 8 | public String desc; 9 | public String signature; 10 | public LabelNode start; 11 | public LabelNode end; 12 | public int index; 13 | 14 | public LocalVariableNode(String name, String desc, String signature, LabelNode start, LabelNode end, int index) { 15 | this.name = name; 16 | this.desc = desc; 17 | this.signature = signature; 18 | this.start = start; 19 | this.end = end; 20 | this.index = index; 21 | } 22 | 23 | public void accept(MethodVisitor mv) { 24 | mv.visitLocalVariable(this.name, this.desc, this.signature, this.start.getLabel(), this.end.getLabel(), this.index); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /org/spongepowered/asm/lib/tree/MethodNode$1.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.lib.tree; 2 | 3 | import java.util.ArrayList; 4 | 5 | /* 6 | * This class specifies class file version 49.0 but uses Java 6 signatures. Assumed Java 6. 7 | */ 8 | class MethodNode$1 9 | extends ArrayList { 10 | MethodNode$1(int x0) { 11 | super(x0); 12 | } 13 | 14 | @Override 15 | public boolean add(Object o) { 16 | MethodNode.this.annotationDefault = o; 17 | return super.add(o); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /org/spongepowered/asm/lib/tree/ParameterNode.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.lib.tree; 2 | 3 | import org.spongepowered.asm.lib.MethodVisitor; 4 | 5 | public class ParameterNode { 6 | public String name; 7 | public int access; 8 | 9 | public ParameterNode(String name, int access) { 10 | this.name = name; 11 | this.access = access; 12 | } 13 | 14 | public void accept(MethodVisitor mv) { 15 | mv.visitParameter(this.name, this.access); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /org/spongepowered/asm/lib/tree/TypeAnnotationNode.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.lib.tree; 2 | 3 | import org.spongepowered.asm.lib.TypePath; 4 | import org.spongepowered.asm.lib.tree.AnnotationNode; 5 | 6 | public class TypeAnnotationNode 7 | extends AnnotationNode { 8 | public int typeRef; 9 | public TypePath typePath; 10 | 11 | public TypeAnnotationNode(int typeRef, TypePath typePath, String desc) { 12 | this(327680, typeRef, typePath, desc); 13 | if (this.getClass() != TypeAnnotationNode.class) { 14 | throw new IllegalStateException(); 15 | } 16 | } 17 | 18 | public TypeAnnotationNode(int api, int typeRef, TypePath typePath, String desc) { 19 | super(api, desc); 20 | this.typeRef = typeRef; 21 | this.typePath = typePath; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /org/spongepowered/asm/lib/tree/analysis/AnalyzerException.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.lib.tree.analysis; 2 | 3 | import org.spongepowered.asm.lib.tree.AbstractInsnNode; 4 | import org.spongepowered.asm.lib.tree.analysis.Value; 5 | 6 | public class AnalyzerException 7 | extends Exception { 8 | public final AbstractInsnNode node; 9 | 10 | public AnalyzerException(AbstractInsnNode node, String msg) { 11 | super(msg); 12 | this.node = node; 13 | } 14 | 15 | public AnalyzerException(AbstractInsnNode node, String msg, Throwable exception) { 16 | super(msg, exception); 17 | this.node = node; 18 | } 19 | 20 | public AnalyzerException(AbstractInsnNode node, String msg, Object expected, Value encountered) { 21 | super((msg == null ? "Expected " : msg + ": expected ") + expected + ", but found " + encountered); 22 | this.node = node; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /org/spongepowered/asm/lib/tree/analysis/Value.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.lib.tree.analysis; 2 | 3 | public interface Value { 4 | public int getSize(); 5 | } 6 | -------------------------------------------------------------------------------- /org/spongepowered/asm/lib/util/ASMifiable.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.lib.util; 2 | 3 | import java.util.Map; 4 | import org.spongepowered.asm.lib.Label; 5 | 6 | /* 7 | * This class specifies class file version 49.0 but uses Java 6 signatures. Assumed Java 6. 8 | */ 9 | public interface ASMifiable { 10 | public void asmify(StringBuffer var1, String var2, Map var3); 11 | } 12 | -------------------------------------------------------------------------------- /org/spongepowered/asm/lib/util/Textifiable.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.lib.util; 2 | 3 | import java.util.Map; 4 | import org.spongepowered.asm.lib.Label; 5 | 6 | /* 7 | * This class specifies class file version 49.0 but uses Java 6 signatures. Assumed Java 6. 8 | */ 9 | public interface Textifiable { 10 | public void textify(StringBuffer var1, Map var2); 11 | } 12 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/Debug.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin; 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 | @Target(value={ElementType.TYPE, ElementType.METHOD}) 9 | @Retention(value=RetentionPolicy.RUNTIME) 10 | public @interface Debug { 11 | public boolean export() default false; 12 | 13 | public boolean print() default false; 14 | } 15 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/Dynamic.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin; 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 | @Target(value={ElementType.METHOD, ElementType.FIELD}) 9 | @Retention(value=RetentionPolicy.CLASS) 10 | public @interface Dynamic { 11 | public String value() default ""; 12 | 13 | public Class mixin() default void.class; 14 | } 15 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/EnvironmentStateTweaker.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin; 2 | 3 | import java.io.File; 4 | import java.util.List; 5 | import net.minecraft.launchwrapper.ITweaker; 6 | import net.minecraft.launchwrapper.LaunchClassLoader; 7 | import org.spongepowered.asm.launch.MixinBootstrap; 8 | import org.spongepowered.asm.mixin.MixinEnvironment; 9 | 10 | public class EnvironmentStateTweaker 11 | implements ITweaker { 12 | public void acceptOptions(List args, File gameDir, File assetsDir, String profile) { 13 | } 14 | 15 | @Override 16 | public void injectIntoClassLoader(LaunchClassLoader classLoader) { 17 | MixinBootstrap.getPlatform().inject(); 18 | } 19 | 20 | public String getLaunchTarget() { 21 | return ""; 22 | } 23 | 24 | public String[] getLaunchArguments() { 25 | MixinEnvironment.gotoPhase(MixinEnvironment.Phase.DEFAULT); 26 | return new String[0]; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/Final.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin; 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 | @Target(value={ElementType.METHOD, ElementType.FIELD}) 9 | @Retention(value=RetentionPolicy.RUNTIME) 10 | public @interface Final { 11 | } 12 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/Implements.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin; 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 | import org.spongepowered.asm.mixin.Interface; 8 | 9 | @Target(value={ElementType.TYPE}) 10 | @Retention(value=RetentionPolicy.CLASS) 11 | public @interface Implements { 12 | public Interface[] value(); 13 | } 14 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/Interface$Remap.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin; 2 | 3 | public enum Interface$Remap { 4 | ALL, 5 | FORCE(true), 6 | ONLY_PREFIXED, 7 | NONE; 8 | 9 | private final boolean forceRemap; 10 | 11 | private Interface$Remap() { 12 | this(false); 13 | } 14 | 15 | private Interface$Remap(boolean forceRemap) { 16 | this.forceRemap = forceRemap; 17 | } 18 | 19 | public boolean forceRemap() { 20 | return this.forceRemap; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/Intrinsic.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin; 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 | @Target(value={ElementType.METHOD}) 9 | @Retention(value=RetentionPolicy.CLASS) 10 | public @interface Intrinsic { 11 | public boolean displace() default false; 12 | } 13 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/Mixin.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin; 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 | @Target(value={ElementType.TYPE}) 9 | @Retention(value=RetentionPolicy.CLASS) 10 | public @interface Mixin { 11 | public Class[] value() default {}; 12 | 13 | public String[] targets() default {}; 14 | 15 | public int priority() default 1000; 16 | 17 | public boolean remap() default true; 18 | } 19 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/MixinEnvironment$1.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin; 2 | 3 | class MixinEnvironment$1 { 4 | } 5 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/MixinEnvironment$CompatibilityLevel$1.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin; 2 | 3 | import org.spongepowered.asm.mixin.MixinEnvironment; 4 | import org.spongepowered.asm.util.JavaVersion; 5 | 6 | final class MixinEnvironment$CompatibilityLevel$1 7 | extends MixinEnvironment.CompatibilityLevel { 8 | MixinEnvironment$CompatibilityLevel$1(int ver, int classVersion, boolean resolveMethodsInInterfaces) { 9 | } 10 | 11 | @Override 12 | boolean isSupported() { 13 | return JavaVersion.current() >= 1.7; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/MixinEnvironment$CompatibilityLevel$2.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin; 2 | 3 | import org.spongepowered.asm.mixin.MixinEnvironment; 4 | import org.spongepowered.asm.util.JavaVersion; 5 | 6 | final class MixinEnvironment$CompatibilityLevel$2 7 | extends MixinEnvironment.CompatibilityLevel { 8 | MixinEnvironment$CompatibilityLevel$2(int ver, int classVersion, boolean resolveMethodsInInterfaces) { 9 | } 10 | 11 | @Override 12 | boolean isSupported() { 13 | return JavaVersion.current() >= 1.8; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/MixinEnvironment$CompatibilityLevel$3.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin; 2 | 3 | import org.spongepowered.asm.mixin.MixinEnvironment; 4 | 5 | final class MixinEnvironment$CompatibilityLevel$3 6 | extends MixinEnvironment.CompatibilityLevel { 7 | MixinEnvironment$CompatibilityLevel$3(int ver, int classVersion, boolean resolveMethodsInInterfaces) { 8 | } 9 | 10 | @Override 11 | boolean isSupported() { 12 | return false; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/MixinEnvironment$MixinLogWatcher$MixinAppender.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin; 2 | 3 | import org.apache.logging.log4j.Level; 4 | import org.apache.logging.log4j.core.LogEvent; 5 | import org.apache.logging.log4j.core.appender.AbstractAppender; 6 | import org.spongepowered.asm.mixin.MixinEnvironment; 7 | 8 | class MixinEnvironment$MixinLogWatcher$MixinAppender 9 | extends AbstractAppender { 10 | MixinEnvironment$MixinLogWatcher$MixinAppender() { 11 | super("MixinLogWatcherAppender", null, null); 12 | } 13 | 14 | public void append(LogEvent event) { 15 | if (event.getLevel() != Level.DEBUG || !"Validating minecraft".equals(event.getMessage().getFormattedMessage())) { 16 | return; 17 | } 18 | MixinEnvironment.gotoPhase(MixinEnvironment.Phase.INIT); 19 | if (log.getLevel() == Level.ALL) { 20 | log.setLevel(oldLevel); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/MixinEnvironment$Option$Inherit.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin; 2 | 3 | enum MixinEnvironment$Option$Inherit { 4 | INHERIT, 5 | ALLOW_OVERRIDE, 6 | INDEPENDENT, 7 | ALWAYS_FALSE; 8 | 9 | } 10 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/MixinEnvironment$Side$1.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin; 2 | 3 | import org.spongepowered.asm.mixin.MixinEnvironment; 4 | 5 | final class MixinEnvironment$Side$1 6 | extends MixinEnvironment.Side { 7 | @Override 8 | protected boolean detect() { 9 | return false; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/MixinEnvironment$Side$2.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin; 2 | 3 | import org.spongepowered.asm.mixin.MixinEnvironment; 4 | import org.spongepowered.asm.service.MixinService; 5 | 6 | final class MixinEnvironment$Side$2 7 | extends MixinEnvironment.Side { 8 | @Override 9 | protected boolean detect() { 10 | String sideName = MixinService.getService().getSideName(); 11 | return "CLIENT".equals(sideName); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/MixinEnvironment$Side$3.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin; 2 | 3 | import org.spongepowered.asm.mixin.MixinEnvironment; 4 | import org.spongepowered.asm.service.MixinService; 5 | 6 | final class MixinEnvironment$Side$3 7 | extends MixinEnvironment.Side { 8 | @Override 9 | protected boolean detect() { 10 | String sideName = MixinService.getService().getSideName(); 11 | return "SERVER".equals(sideName) || "DEDICATEDSERVER".equals(sideName); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/MixinEnvironment$Side.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin; 2 | 3 | import org.spongepowered.asm.service.MixinService; 4 | 5 | public enum MixinEnvironment$Side { 6 | UNKNOWN{ 7 | 8 | @Override 9 | protected boolean detect() { 10 | return false; 11 | } 12 | } 13 | , 14 | CLIENT{ 15 | 16 | @Override 17 | protected boolean detect() { 18 | String sideName = MixinService.getService().getSideName(); 19 | return "CLIENT".equals(sideName); 20 | } 21 | } 22 | , 23 | SERVER{ 24 | 25 | @Override 26 | protected boolean detect() { 27 | String sideName = MixinService.getService().getSideName(); 28 | return "SERVER".equals(sideName) || "DEDICATEDSERVER".equals(sideName); 29 | } 30 | }; 31 | 32 | 33 | protected abstract boolean detect(); 34 | } 35 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/Mutable.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin; 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 | @Target(value={ElementType.FIELD}) 9 | @Retention(value=RetentionPolicy.RUNTIME) 10 | public @interface Mutable { 11 | } 12 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/Overwrite.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin; 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 | @Target(value={ElementType.METHOD}) 9 | @Retention(value=RetentionPolicy.RUNTIME) 10 | public @interface Overwrite { 11 | public String constraints() default ""; 12 | 13 | public String[] aliases() default {}; 14 | 15 | public boolean remap() default true; 16 | } 17 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/Pseudo.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin; 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 | @Target(value={ElementType.TYPE}) 9 | @Retention(value=RetentionPolicy.CLASS) 10 | public @interface Pseudo { 11 | } 12 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/Shadow.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin; 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 | @Target(value={ElementType.METHOD, ElementType.FIELD}) 9 | @Retention(value=RetentionPolicy.RUNTIME) 10 | public @interface Shadow { 11 | public String prefix() default "shadow$"; 12 | 13 | public boolean remap() default true; 14 | 15 | public String[] aliases() default {}; 16 | } 17 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/SoftOverride.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin; 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 | @Target(value={ElementType.METHOD}) 9 | @Retention(value=RetentionPolicy.CLASS) 10 | public @interface SoftOverride { 11 | } 12 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/Unique.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin; 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 | @Target(value={ElementType.METHOD, ElementType.FIELD, ElementType.TYPE}) 9 | @Retention(value=RetentionPolicy.RUNTIME) 10 | public @interface Unique { 11 | public boolean silent() default false; 12 | } 13 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/extensibility/IEnvironmentTokenProvider.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.extensibility; 2 | 3 | import org.spongepowered.asm.mixin.MixinEnvironment; 4 | 5 | public interface IEnvironmentTokenProvider { 6 | public static final int DEFAULT_PRIORITY = 1000; 7 | 8 | public int getPriority(); 9 | 10 | public Integer getToken(String var1, MixinEnvironment var2); 11 | } 12 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/extensibility/IMixinConfig.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.extensibility; 2 | 3 | import java.util.Set; 4 | import org.spongepowered.asm.mixin.MixinEnvironment; 5 | import org.spongepowered.asm.mixin.extensibility.IMixinConfigPlugin; 6 | 7 | public interface IMixinConfig { 8 | public static final int DEFAULT_PRIORITY = 1000; 9 | 10 | public MixinEnvironment getEnvironment(); 11 | 12 | public String getName(); 13 | 14 | public String getMixinPackage(); 15 | 16 | public int getPriority(); 17 | 18 | public IMixinConfigPlugin getPlugin(); 19 | 20 | public boolean isRequired(); 21 | 22 | public Set getTargets(); 23 | } 24 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/extensibility/IMixinConfigPlugin.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.extensibility; 2 | 3 | import java.util.List; 4 | import java.util.Set; 5 | import org.spongepowered.asm.lib.tree.ClassNode; 6 | import org.spongepowered.asm.mixin.extensibility.IMixinInfo; 7 | 8 | public interface IMixinConfigPlugin { 9 | public void onLoad(String var1); 10 | 11 | public String getRefMapperConfig(); 12 | 13 | public boolean shouldApplyMixin(String var1, String var2); 14 | 15 | public void acceptTargets(Set var1, Set var2); 16 | 17 | public List getMixins(); 18 | 19 | public void preApply(String var1, ClassNode var2, String var3, IMixinInfo var4); 20 | 21 | public void postApply(String var1, ClassNode var2, String var3, IMixinInfo var4); 22 | } 23 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/extensibility/IMixinErrorHandler$ErrorAction.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.extensibility; 2 | 3 | import org.apache.logging.log4j.Level; 4 | 5 | public enum IMixinErrorHandler$ErrorAction { 6 | NONE(Level.INFO), 7 | WARN(Level.WARN), 8 | ERROR(Level.FATAL); 9 | 10 | public final Level logLevel; 11 | 12 | private IMixinErrorHandler$ErrorAction(Level logLevel) { 13 | this.logLevel = logLevel; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/extensibility/IMixinErrorHandler.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.extensibility; 2 | 3 | import org.apache.logging.log4j.Level; 4 | import org.spongepowered.asm.mixin.extensibility.IMixinConfig; 5 | import org.spongepowered.asm.mixin.extensibility.IMixinInfo; 6 | 7 | public interface IMixinErrorHandler { 8 | public ErrorAction onPrepareError(IMixinConfig var1, Throwable var2, IMixinInfo var3, ErrorAction var4); 9 | 10 | public ErrorAction onApplyError(String var1, Throwable var2, IMixinInfo var3, ErrorAction var4); 11 | 12 | public static enum ErrorAction { 13 | NONE(Level.INFO), 14 | WARN(Level.WARN), 15 | ERROR(Level.FATAL); 16 | 17 | public final Level logLevel; 18 | 19 | private ErrorAction(Level logLevel) { 20 | this.logLevel = logLevel; 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/extensibility/IMixinInfo.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.extensibility; 2 | 3 | import java.util.List; 4 | import org.spongepowered.asm.lib.tree.ClassNode; 5 | import org.spongepowered.asm.mixin.MixinEnvironment; 6 | import org.spongepowered.asm.mixin.extensibility.IMixinConfig; 7 | 8 | public interface IMixinInfo { 9 | public IMixinConfig getConfig(); 10 | 11 | public String getName(); 12 | 13 | public String getClassName(); 14 | 15 | public String getClassRef(); 16 | 17 | public byte[] getClassBytes(); 18 | 19 | public boolean isDetachedSuper(); 20 | 21 | public ClassNode getClassNode(int var1); 22 | 23 | public List getTargetClasses(); 24 | 25 | public int getPriority(); 26 | 27 | public MixinEnvironment.Phase getPhase(); 28 | } 29 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/extensibility/IRemapper.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.extensibility; 2 | 3 | public interface IRemapper { 4 | public String mapMethodName(String var1, String var2, String var3); 5 | 6 | public String mapFieldName(String var1, String var2, String var3); 7 | 8 | public String map(String var1); 9 | 10 | public String unmap(String var1); 11 | 12 | public String mapDesc(String var1); 13 | 14 | public String unmapDesc(String var1); 15 | } 16 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/gen/Accessor.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.gen; 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 | @Target(value={ElementType.METHOD}) 9 | @Retention(value=RetentionPolicy.RUNTIME) 10 | public @interface Accessor { 11 | public String value() default ""; 12 | 13 | public boolean remap() default true; 14 | } 15 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/gen/AccessorGeneratorField.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.gen; 2 | 3 | import org.spongepowered.asm.lib.Type; 4 | import org.spongepowered.asm.lib.tree.FieldNode; 5 | import org.spongepowered.asm.mixin.gen.AccessorGenerator; 6 | import org.spongepowered.asm.mixin.gen.AccessorInfo; 7 | 8 | public abstract class AccessorGeneratorField 9 | extends AccessorGenerator { 10 | protected final FieldNode targetField; 11 | protected final Type targetType; 12 | protected final boolean isInstanceField; 13 | 14 | public AccessorGeneratorField(AccessorInfo info) { 15 | super(info); 16 | this.targetField = info.getTargetField(); 17 | this.targetType = info.getTargetFieldType(); 18 | this.isInstanceField = (this.targetField.access & 8) == 0; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/gen/AccessorInfo$1.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.gen; 2 | 3 | import org.spongepowered.asm.mixin.gen.AccessorInfo; 4 | 5 | class AccessorInfo$1 { 6 | static final int[] $SwitchMap$org$spongepowered$asm$mixin$gen$AccessorInfo$AccessorType; 7 | 8 | static { 9 | $SwitchMap$org$spongepowered$asm$mixin$gen$AccessorInfo$AccessorType = new int[AccessorInfo.AccessorType.values().length]; 10 | try { 11 | AccessorInfo$1.$SwitchMap$org$spongepowered$asm$mixin$gen$AccessorInfo$AccessorType[AccessorInfo.AccessorType.FIELD_GETTER.ordinal()] = 1; 12 | } 13 | catch (NoSuchFieldError noSuchFieldError) { 14 | // empty catch block 15 | } 16 | try { 17 | AccessorInfo$1.$SwitchMap$org$spongepowered$asm$mixin$gen$AccessorInfo$AccessorType[AccessorInfo.AccessorType.FIELD_SETTER.ordinal()] = 2; 18 | } 19 | catch (NoSuchFieldError noSuchFieldError) { 20 | // empty catch block 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/gen/AccessorInfo$AccessorType$1.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.gen; 2 | 3 | import java.util.Set; 4 | import org.spongepowered.asm.mixin.gen.AccessorGenerator; 5 | import org.spongepowered.asm.mixin.gen.AccessorGeneratorFieldGetter; 6 | import org.spongepowered.asm.mixin.gen.AccessorInfo; 7 | 8 | final class AccessorInfo$AccessorType$1 9 | extends AccessorInfo.AccessorType { 10 | AccessorInfo$AccessorType$1(Set expectedPrefixes) { 11 | } 12 | 13 | @Override 14 | AccessorGenerator getGenerator(AccessorInfo info) { 15 | return new AccessorGeneratorFieldGetter(info); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/gen/AccessorInfo$AccessorType$2.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.gen; 2 | 3 | import java.util.Set; 4 | import org.spongepowered.asm.mixin.gen.AccessorGenerator; 5 | import org.spongepowered.asm.mixin.gen.AccessorGeneratorFieldSetter; 6 | import org.spongepowered.asm.mixin.gen.AccessorInfo; 7 | 8 | final class AccessorInfo$AccessorType$2 9 | extends AccessorInfo.AccessorType { 10 | AccessorInfo$AccessorType$2(Set expectedPrefixes) { 11 | } 12 | 13 | @Override 14 | AccessorGenerator getGenerator(AccessorInfo info) { 15 | return new AccessorGeneratorFieldSetter(info); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/gen/AccessorInfo$AccessorType$3.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.gen; 2 | 3 | import java.util.Set; 4 | import org.spongepowered.asm.mixin.gen.AccessorGenerator; 5 | import org.spongepowered.asm.mixin.gen.AccessorGeneratorMethodProxy; 6 | import org.spongepowered.asm.mixin.gen.AccessorInfo; 7 | 8 | final class AccessorInfo$AccessorType$3 9 | extends AccessorInfo.AccessorType { 10 | AccessorInfo$AccessorType$3(Set expectedPrefixes) { 11 | } 12 | 13 | @Override 14 | AccessorGenerator getGenerator(AccessorInfo info) { 15 | return new AccessorGeneratorMethodProxy(info); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/gen/Invoker.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.gen; 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 | @Target(value={ElementType.METHOD}) 9 | @Retention(value=RetentionPolicy.RUNTIME) 10 | public @interface Invoker { 11 | public String value() default ""; 12 | 13 | public boolean remap() default true; 14 | } 15 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/injection/At$Shift.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.injection; 2 | 3 | public enum At$Shift { 4 | NONE, 5 | BEFORE, 6 | AFTER, 7 | BY; 8 | 9 | } 10 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/injection/At.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.injection; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | @Retention(value=RetentionPolicy.RUNTIME) 7 | public @interface At { 8 | public String id() default ""; 9 | 10 | public String value(); 11 | 12 | public String slice() default ""; 13 | 14 | public Shift shift() default Shift.NONE; 15 | 16 | public int by() default 0; 17 | 18 | public String[] args() default {}; 19 | 20 | public String target() default ""; 21 | 22 | public int ordinal() default -1; 23 | 24 | public int opcode() default -1; 25 | 26 | public boolean remap() default true; 27 | 28 | public static enum Shift { 29 | NONE, 30 | BEFORE, 31 | AFTER, 32 | BY; 33 | 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/injection/Coerce.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.injection; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Target; 5 | 6 | @Target(value={ElementType.PARAMETER}) 7 | public @interface Coerce { 8 | } 9 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/injection/Group.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.injection; 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 | @Target(value={ElementType.METHOD}) 9 | @Retention(value=RetentionPolicy.CLASS) 10 | public @interface Group { 11 | public String name() default ""; 12 | 13 | public int min() default -1; 14 | 15 | public int max() default -1; 16 | } 17 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/injection/IInjectionPointContext.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.injection; 2 | 3 | import org.spongepowered.asm.lib.tree.AnnotationNode; 4 | import org.spongepowered.asm.lib.tree.MethodNode; 5 | import org.spongepowered.asm.mixin.refmap.IMixinContext; 6 | 7 | public interface IInjectionPointContext { 8 | public IMixinContext getContext(); 9 | 10 | public MethodNode getMethod(); 11 | 12 | public AnnotationNode getAnnotation(); 13 | } 14 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/injection/InjectionPoint$AtCode.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.injection; 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(value=RetentionPolicy.RUNTIME) 9 | @Target(value={ElementType.TYPE}) 10 | public @interface InjectionPoint$AtCode { 11 | public String value(); 12 | } 13 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/injection/InjectionPoint$CompositeInjectionPoint.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.injection; 2 | 3 | import com.google.common.base.Joiner; 4 | import org.spongepowered.asm.mixin.injection.InjectionPoint; 5 | 6 | abstract class InjectionPoint$CompositeInjectionPoint 7 | extends InjectionPoint { 8 | protected final InjectionPoint[] components; 9 | 10 | protected InjectionPoint$CompositeInjectionPoint(InjectionPoint ... components) { 11 | if (components == null || components.length < 2) { 12 | throw new IllegalArgumentException("Must supply two or more component injection points for composite point!"); 13 | } 14 | this.components = components; 15 | } 16 | 17 | @Override 18 | public String toString() { 19 | return "CompositeInjectionPoint(" + this.getClass().getSimpleName() + ")[" + Joiner.on(',').join(this.components) + "]"; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/injection/InjectionPoint$Selector.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.injection; 2 | 3 | public enum InjectionPoint$Selector { 4 | FIRST, 5 | LAST, 6 | ONE; 7 | 8 | public static final InjectionPoint$Selector DEFAULT; 9 | 10 | static { 11 | DEFAULT = FIRST; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/injection/InjectionPoint$ShiftByViolationBehaviour.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.injection; 2 | 3 | enum InjectionPoint$ShiftByViolationBehaviour { 4 | IGNORE, 5 | WARN, 6 | ERROR; 7 | 8 | } 9 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/injection/InjectionPoint$Union.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.injection; 2 | 3 | import java.util.Collection; 4 | import java.util.LinkedHashSet; 5 | import org.spongepowered.asm.lib.tree.AbstractInsnNode; 6 | import org.spongepowered.asm.lib.tree.InsnList; 7 | import org.spongepowered.asm.mixin.injection.InjectionPoint; 8 | 9 | final class InjectionPoint$Union 10 | extends InjectionPoint.CompositeInjectionPoint { 11 | public InjectionPoint$Union(InjectionPoint ... points) { 12 | super(points); 13 | } 14 | 15 | @Override 16 | public boolean find(String desc, InsnList insns, Collection nodes) { 17 | LinkedHashSet allNodes = new LinkedHashSet(); 18 | for (int i = 0; i < this.components.length; ++i) { 19 | this.components[i].find(desc, insns, allNodes); 20 | } 21 | nodes.addAll(allNodes); 22 | return allNodes.size() > 0; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/injection/ModifyArg.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.injection; 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 | import org.spongepowered.asm.mixin.injection.At; 8 | import org.spongepowered.asm.mixin.injection.Slice; 9 | 10 | @Target(value={ElementType.METHOD}) 11 | @Retention(value=RetentionPolicy.RUNTIME) 12 | public @interface ModifyArg { 13 | public String[] method(); 14 | 15 | public Slice slice() default @Slice; 16 | 17 | public At at(); 18 | 19 | public int index() default -1; 20 | 21 | public boolean remap() default true; 22 | 23 | public int require() default -1; 24 | 25 | public int expect() default 1; 26 | 27 | public int allow() default -1; 28 | 29 | public String constraints() default ""; 30 | } 31 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/injection/ModifyArgs.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.injection; 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 | import org.spongepowered.asm.mixin.injection.At; 8 | import org.spongepowered.asm.mixin.injection.Slice; 9 | 10 | @Target(value={ElementType.METHOD}) 11 | @Retention(value=RetentionPolicy.RUNTIME) 12 | public @interface ModifyArgs { 13 | public String[] method(); 14 | 15 | public Slice slice() default @Slice; 16 | 17 | public At at(); 18 | 19 | public boolean remap() default true; 20 | 21 | public int require() default -1; 22 | 23 | public int expect() default 1; 24 | 25 | public int allow() default -1; 26 | 27 | public String constraints() default ""; 28 | } 29 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/injection/ModifyConstant.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.injection; 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 | import org.spongepowered.asm.mixin.injection.Constant; 8 | import org.spongepowered.asm.mixin.injection.Slice; 9 | 10 | @Target(value={ElementType.METHOD}) 11 | @Retention(value=RetentionPolicy.RUNTIME) 12 | public @interface ModifyConstant { 13 | public String[] method(); 14 | 15 | public Slice[] slice() default {}; 16 | 17 | public Constant[] constant() default {}; 18 | 19 | public boolean remap() default true; 20 | 21 | public int require() default -1; 22 | 23 | public int expect() default 1; 24 | 25 | public int allow() default -1; 26 | 27 | public String constraints() default ""; 28 | } 29 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/injection/Redirect.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.injection; 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 | import org.spongepowered.asm.mixin.injection.At; 8 | import org.spongepowered.asm.mixin.injection.Slice; 9 | 10 | @Target(value={ElementType.METHOD}) 11 | @Retention(value=RetentionPolicy.RUNTIME) 12 | public @interface Redirect { 13 | public String[] method(); 14 | 15 | public Slice slice() default @Slice; 16 | 17 | public At at(); 18 | 19 | public boolean remap() default true; 20 | 21 | public int require() default -1; 22 | 23 | public int expect() default 1; 24 | 25 | public int allow() default -1; 26 | 27 | public String constraints() default ""; 28 | } 29 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/injection/Slice.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.injection; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | import org.spongepowered.asm.mixin.injection.At; 6 | 7 | @Retention(value=RetentionPolicy.RUNTIME) 8 | public @interface Slice { 9 | public String id() default ""; 10 | 11 | public At from() default @At(value="HEAD"); 12 | 13 | public At to() default @At(value="TAIL"); 14 | } 15 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/injection/Surrogate.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.injection; 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 | @Target(value={ElementType.METHOD}) 9 | @Retention(value=RetentionPolicy.RUNTIME) 10 | public @interface Surrogate { 11 | } 12 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/injection/callback/Cancellable.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.injection.callback; 2 | 3 | import org.spongepowered.asm.mixin.injection.callback.CancellationException; 4 | 5 | public interface Cancellable { 6 | public boolean isCancellable(); 7 | 8 | public boolean isCancelled(); 9 | 10 | public void cancel() throws CancellationException; 11 | } 12 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/injection/callback/CancellationException.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.injection.callback; 2 | 3 | public class CancellationException 4 | extends Class18 { 5 | private static final long serialVersionUID = 1L; 6 | 7 | public CancellationException() { 8 | } 9 | 10 | public CancellationException(String message) { 11 | super(message); 12 | } 13 | 14 | public CancellationException(Throwable cause) { 15 | super(cause); 16 | } 17 | 18 | public CancellationException(String message, Throwable cause) { 19 | super(message, cause); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/injection/callback/LocalCapture.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.injection.callback; 2 | 3 | public enum LocalCapture { 4 | NO_CAPTURE(false, false), 5 | PRINT(false, true), 6 | CAPTURE_FAILSOFT, 7 | CAPTURE_FAILHARD, 8 | CAPTURE_FAILEXCEPTION; 9 | 10 | private final boolean captureLocals; 11 | private final boolean printLocals; 12 | 13 | private LocalCapture() { 14 | this(true, false); 15 | } 16 | 17 | private LocalCapture(boolean captureLocals, boolean printLocals) { 18 | this.captureLocals = captureLocals; 19 | this.printLocals = printLocals; 20 | } 21 | 22 | boolean isCaptureLocals() { 23 | return this.captureLocals; 24 | } 25 | 26 | boolean isPrintLocals() { 27 | return this.printLocals; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/injection/code/ISliceContext.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.injection.code; 2 | 3 | import org.spongepowered.asm.mixin.injection.IInjectionPointContext; 4 | import org.spongepowered.asm.mixin.injection.code.MethodSlice; 5 | 6 | public interface ISliceContext 7 | extends IInjectionPointContext { 8 | public MethodSlice getSlice(String var1); 9 | } 10 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/injection/invoke/RedirectInjector$ConstructorRedirectData.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.injection.invoke; 2 | 3 | class RedirectInjector$ConstructorRedirectData { 4 | public static final String KEY = "ctor"; 5 | public boolean wildcard = false; 6 | public int injected = 0; 7 | 8 | RedirectInjector$ConstructorRedirectData() { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/injection/invoke/RedirectInjector$Meta.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.injection.invoke; 2 | 3 | import org.spongepowered.asm.mixin.injection.invoke.RedirectInjector; 4 | 5 | class RedirectInjector$Meta { 6 | public static final String KEY = "redirector"; 7 | final int priority; 8 | final boolean isFinal; 9 | final String name; 10 | final String desc; 11 | 12 | public RedirectInjector$Meta(int priority, boolean isFinal, String name, String desc) { 13 | this.priority = priority; 14 | this.isFinal = isFinal; 15 | this.name = name; 16 | this.desc = desc; 17 | } 18 | 19 | RedirectInjector getOwner() { 20 | return RedirectInjector.this; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/injection/invoke/RedirectInjector$RedirectedInvoke.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.injection.invoke; 2 | 3 | import com.google.common.collect.ObjectArrays; 4 | import org.spongepowered.asm.lib.Type; 5 | import org.spongepowered.asm.lib.tree.MethodInsnNode; 6 | import org.spongepowered.asm.mixin.injection.struct.Target; 7 | 8 | class RedirectInjector$RedirectedInvoke { 9 | final Target target; 10 | final MethodInsnNode node; 11 | final Type returnType; 12 | final Type[] args; 13 | final Type[] locals; 14 | boolean captureTargetArgs = false; 15 | 16 | RedirectInjector$RedirectedInvoke(Target target, MethodInsnNode node) { 17 | this.target = target; 18 | this.node = node; 19 | this.returnType = Type.getReturnType(node.desc); 20 | this.args = Type.getArgumentTypes(node.desc); 21 | this.locals = node.getOpcode() == 184 ? this.args : ObjectArrays.concat(Type.getType("L" + node.owner + ";"), this.args); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/injection/invoke/arg/Args.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.injection.invoke.arg; 2 | 3 | public abstract class Args { 4 | protected final Object[] values; 5 | 6 | protected Args(Object[] values) { 7 | this.values = values; 8 | } 9 | 10 | public int size() { 11 | return this.values.length; 12 | } 13 | 14 | public T get(int index) { 15 | return (T)this.values[index]; 16 | } 17 | 18 | public abstract void set(int var1, T var2); 19 | 20 | public abstract void setAll(Object ... var1); 21 | } 22 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/injection/invoke/arg/ArgumentCountException.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.injection.invoke.arg; 2 | 3 | public class ArgumentCountException 4 | extends IllegalArgumentException { 5 | private static final long serialVersionUID = 1L; 6 | 7 | public ArgumentCountException(int received, int expected, String desc) { 8 | super("Invalid number of arguments for setAll, received " + received + " but expected " + expected + ": " + desc); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/injection/invoke/arg/ArgumentIndexOutOfBoundsException.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.injection.invoke.arg; 2 | 3 | public class ArgumentIndexOutOfBoundsException 4 | extends IndexOutOfBoundsException { 5 | private static final long serialVersionUID = 1L; 6 | 7 | public ArgumentIndexOutOfBoundsException(int index) { 8 | super("Argument index is out of bounds: " + index); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/injection/invoke/util/InsnFinder$AnalysisResultException.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.injection.invoke.util; 2 | 3 | import org.spongepowered.asm.lib.tree.AbstractInsnNode; 4 | 5 | class InsnFinder$AnalysisResultException 6 | extends Class18 { 7 | private static final long serialVersionUID = 1L; 8 | private AbstractInsnNode result; 9 | 10 | public InsnFinder$AnalysisResultException(AbstractInsnNode popNode) { 11 | this.result = popNode; 12 | } 13 | 14 | public AbstractInsnNode getResult() { 15 | return this.result; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/injection/invoke/util/InsnFinder$AnalyzerState.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.injection.invoke.util; 2 | 3 | enum InsnFinder$AnalyzerState { 4 | SEARCH, 5 | ANALYSE, 6 | COMPLETE; 7 | 8 | } 9 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/injection/modify/AfterStoreLocal.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.injection.modify; 2 | 3 | import org.spongepowered.asm.mixin.injection.InjectionPoint; 4 | import org.spongepowered.asm.mixin.injection.modify.BeforeLoadLocal; 5 | import org.spongepowered.asm.mixin.injection.struct.InjectionPointData; 6 | 7 | @InjectionPoint.AtCode(value="STORE") 8 | public class AfterStoreLocal 9 | extends BeforeLoadLocal { 10 | public AfterStoreLocal(InjectionPointData data) { 11 | super(data, 54, true); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/injection/modify/InvalidImplicitDiscriminatorException.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.injection.modify; 2 | 3 | import org.spongepowered.asm.mixin.throwables.MixinException; 4 | 5 | public class InvalidImplicitDiscriminatorException 6 | extends MixinException { 7 | private static final long serialVersionUID = 1L; 8 | 9 | public InvalidImplicitDiscriminatorException(String message) { 10 | super(message); 11 | } 12 | 13 | public InvalidImplicitDiscriminatorException(String message, Throwable cause) { 14 | super(message, cause); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/injection/modify/LocalVariableDiscriminator$Context$Local.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.injection.modify; 2 | 3 | import org.spongepowered.asm.lib.Type; 4 | 5 | public class LocalVariableDiscriminator$Context$Local { 6 | int ord = 0; 7 | String name; 8 | Type type; 9 | 10 | public LocalVariableDiscriminator$Context$Local(String name, Type type) { 11 | this.name = name; 12 | this.type = type; 13 | } 14 | 15 | public String toString() { 16 | return String.format("Local[ordinal=%d, name=%s, type=%s]", this.ord, this.name, this.type); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/injection/modify/ModifyVariableInjector$Context.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.injection.modify; 2 | 3 | import org.spongepowered.asm.lib.Type; 4 | import org.spongepowered.asm.lib.tree.AbstractInsnNode; 5 | import org.spongepowered.asm.lib.tree.InsnList; 6 | import org.spongepowered.asm.mixin.injection.modify.LocalVariableDiscriminator; 7 | import org.spongepowered.asm.mixin.injection.struct.Target; 8 | 9 | class ModifyVariableInjector$Context 10 | extends LocalVariableDiscriminator.Context { 11 | final InsnList insns = new InsnList(); 12 | 13 | public ModifyVariableInjector$Context(Type returnType, boolean argsOnly, Target target, AbstractInsnNode node) { 14 | super(returnType, argsOnly, target, node); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/injection/points/BeforeInvoke$SearchType.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.injection.points; 2 | 3 | public enum BeforeInvoke$SearchType { 4 | STRICT, 5 | PERMISSIVE; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/injection/points/MethodHead.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.injection.points; 2 | 3 | import java.util.Collection; 4 | import org.spongepowered.asm.lib.tree.AbstractInsnNode; 5 | import org.spongepowered.asm.lib.tree.InsnList; 6 | import org.spongepowered.asm.mixin.injection.InjectionPoint; 7 | import org.spongepowered.asm.mixin.injection.struct.InjectionPointData; 8 | 9 | @InjectionPoint.AtCode(value="HEAD") 10 | public class MethodHead 11 | extends InjectionPoint { 12 | public MethodHead(InjectionPointData data) { 13 | super(data); 14 | } 15 | 16 | @Override 17 | public boolean checkPriority(int targetPriority, int ownerPriority) { 18 | return true; 19 | } 20 | 21 | @Override 22 | public boolean find(String desc, InsnList insns, Collection nodes) { 23 | nodes.add(insns.getFirst()); 24 | return true; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/injection/struct/InvalidMemberDescriptorException.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.injection.struct; 2 | 3 | import org.spongepowered.asm.mixin.throwables.MixinException; 4 | 5 | public class InvalidMemberDescriptorException 6 | extends MixinException { 7 | private static final long serialVersionUID = 1L; 8 | 9 | public InvalidMemberDescriptorException(String message) { 10 | super(message); 11 | } 12 | 13 | public InvalidMemberDescriptorException(Throwable cause) { 14 | super(cause); 15 | } 16 | 17 | public InvalidMemberDescriptorException(String message, Throwable cause) { 18 | super(message, cause); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/injection/struct/RedirectInjectionInfo.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.injection.struct; 2 | 3 | import org.spongepowered.asm.lib.tree.AnnotationNode; 4 | import org.spongepowered.asm.lib.tree.MethodNode; 5 | import org.spongepowered.asm.mixin.injection.code.Injector; 6 | import org.spongepowered.asm.mixin.injection.invoke.RedirectInjector; 7 | import org.spongepowered.asm.mixin.injection.struct.InjectionInfo; 8 | import org.spongepowered.asm.mixin.transformer.MixinTargetContext; 9 | 10 | public class RedirectInjectionInfo 11 | extends InjectionInfo { 12 | public RedirectInjectionInfo(MixinTargetContext mixin, MethodNode method, AnnotationNode annotation) { 13 | super(mixin, method, annotation); 14 | } 15 | 16 | @Override 17 | protected Injector parseInjector(AnnotationNode injectAnnotation) { 18 | return new RedirectInjector(this); 19 | } 20 | 21 | @Override 22 | protected String getDescription() { 23 | return "Redirector"; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/injection/throwables/InjectionError.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.injection.throwables; 2 | 3 | public class InjectionError 4 | extends Error { 5 | private static final long serialVersionUID = 1L; 6 | 7 | public InjectionError() { 8 | } 9 | 10 | public InjectionError(String message) { 11 | super(message); 12 | } 13 | 14 | public InjectionError(Throwable cause) { 15 | super(cause); 16 | } 17 | 18 | public InjectionError(String message, Throwable cause) { 19 | super(message, cause); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/injection/throwables/InjectionValidationException.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.injection.throwables; 2 | 3 | import org.spongepowered.asm.mixin.injection.struct.InjectorGroupInfo; 4 | 5 | public class InjectionValidationException 6 | extends Exception { 7 | private static final long serialVersionUID = 1L; 8 | private final InjectorGroupInfo group; 9 | 10 | public InjectionValidationException(InjectorGroupInfo group, String message) { 11 | super(message); 12 | this.group = group; 13 | } 14 | 15 | public InjectorGroupInfo getGroup() { 16 | return this.group; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/refmap/IMixinContext.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.refmap; 2 | 3 | import org.spongepowered.asm.lib.tree.MethodNode; 4 | import org.spongepowered.asm.mixin.MixinEnvironment; 5 | import org.spongepowered.asm.mixin.extensibility.IMixinInfo; 6 | import org.spongepowered.asm.mixin.injection.struct.Target; 7 | import org.spongepowered.asm.mixin.refmap.IReferenceMapper; 8 | import org.spongepowered.asm.mixin.transformer.ext.Extensions; 9 | 10 | public interface IMixinContext { 11 | public IMixinInfo getMixin(); 12 | 13 | public Extensions getExtensions(); 14 | 15 | public String getClassName(); 16 | 17 | public String getClassRef(); 18 | 19 | public String getTargetClassRef(); 20 | 21 | public IReferenceMapper getReferenceMapper(); 22 | 23 | public boolean getOption(MixinEnvironment.Option var1); 24 | 25 | public int getPriority(); 26 | 27 | public Target getTargetMethod(MethodNode var1); 28 | } 29 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/refmap/IReferenceMapper.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.refmap; 2 | 3 | public interface IReferenceMapper { 4 | public boolean isDefault(); 5 | 6 | public String getResourceName(); 7 | 8 | public String getStatus(); 9 | 10 | public String getContext(); 11 | 12 | public void setContext(String var1); 13 | 14 | public String remap(String var1, String var2); 15 | 16 | public String remapWithContext(String var1, String var2, String var3); 17 | } 18 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/throwables/ClassAlreadyLoadedException.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.throwables; 2 | 3 | import org.spongepowered.asm.mixin.throwables.MixinException; 4 | 5 | public class ClassAlreadyLoadedException 6 | extends MixinException { 7 | private static final long serialVersionUID = 1L; 8 | 9 | public ClassAlreadyLoadedException(String message) { 10 | super(message); 11 | } 12 | 13 | public ClassAlreadyLoadedException(Throwable cause) { 14 | super(cause); 15 | } 16 | 17 | public ClassAlreadyLoadedException(String message, Throwable cause) { 18 | super(message, cause); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/throwables/MixinApplyError.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.throwables; 2 | 3 | public class MixinApplyError 4 | extends Error { 5 | private static final long serialVersionUID = 1L; 6 | 7 | public MixinApplyError(String message) { 8 | super(message); 9 | } 10 | 11 | public MixinApplyError(Throwable cause) { 12 | super(cause); 13 | } 14 | 15 | public MixinApplyError(String message, Throwable cause) { 16 | super(message, cause); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/throwables/MixinException.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.throwables; 2 | 3 | public class MixinException 4 | extends Class18 { 5 | private static final long serialVersionUID = 1L; 6 | 7 | public MixinException() { 8 | } 9 | 10 | public MixinException(String message) { 11 | super(message); 12 | } 13 | 14 | public MixinException(Throwable cause) { 15 | super(cause); 16 | } 17 | 18 | public MixinException(String message, Throwable cause) { 19 | super(message, cause); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/throwables/MixinPrepareError.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.throwables; 2 | 3 | public class MixinPrepareError 4 | extends Error { 5 | private static final long serialVersionUID = 1L; 6 | 7 | public MixinPrepareError(String message) { 8 | super(message); 9 | } 10 | 11 | public MixinPrepareError(Throwable cause) { 12 | super(cause); 13 | } 14 | 15 | public MixinPrepareError(String message, Throwable cause) { 16 | super(message, cause); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/transformer/ClassInfo$FrameData.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.transformer; 2 | 3 | import org.spongepowered.asm.lib.tree.FrameNode; 4 | 5 | public class ClassInfo$FrameData { 6 | private static final String[] FRAMETYPES = new String[]{"NEW", "FULL", "APPEND", "CHOP", "SAME", "SAME1"}; 7 | public final int index; 8 | public final int type; 9 | public final int locals; 10 | 11 | ClassInfo$FrameData(int index, int type, int locals) { 12 | this.index = index; 13 | this.type = type; 14 | this.locals = locals; 15 | } 16 | 17 | ClassInfo$FrameData(int index, FrameNode frameNode) { 18 | this.index = index; 19 | this.type = frameNode.type; 20 | this.locals = frameNode.local != null ? frameNode.local.size() : 0; 21 | } 22 | 23 | public String toString() { 24 | return String.format("FrameData[index=%d, type=%s, locals=%d]", this.index, FRAMETYPES[this.type + 1], this.locals); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/transformer/ClassInfo$InterfaceMethod.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.transformer; 2 | 3 | import org.spongepowered.asm.mixin.transformer.ClassInfo; 4 | 5 | public class ClassInfo$InterfaceMethod 6 | extends ClassInfo.Method { 7 | private final ClassInfo owner; 8 | 9 | public ClassInfo$InterfaceMethod(ClassInfo.Member member) { 10 | super(ClassInfo.this, member); 11 | this.owner = member.getOwner(); 12 | } 13 | 14 | @Override 15 | public ClassInfo getOwner() { 16 | return this.owner; 17 | } 18 | 19 | @Override 20 | public ClassInfo getImplementor() { 21 | return ClassInfo.this; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/transformer/ClassInfo$Member$Type.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.transformer; 2 | 3 | enum ClassInfo$Member$Type { 4 | METHOD, 5 | FIELD; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/transformer/ClassInfo$SearchType.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.transformer; 2 | 3 | public enum ClassInfo$SearchType { 4 | ALL_CLASSES, 5 | SUPER_CLASSES_ONLY; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/transformer/MixinApplicatorStandard$ApplicatorPass.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.transformer; 2 | 3 | enum MixinApplicatorStandard$ApplicatorPass { 4 | MAIN, 5 | PREINJECT, 6 | INJECT; 7 | 8 | } 9 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/transformer/MixinApplicatorStandard$InitialiserInjectionMode.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.transformer; 2 | 3 | enum MixinApplicatorStandard$InitialiserInjectionMode { 4 | DEFAULT, 5 | SAFE; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/transformer/MixinApplicatorStandard$Range.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.transformer; 2 | 3 | class MixinApplicatorStandard$Range { 4 | final int start; 5 | final int end; 6 | final int marker; 7 | 8 | MixinApplicatorStandard$Range(int start, int end, int marker) { 9 | this.start = start; 10 | this.end = end; 11 | this.marker = marker; 12 | } 13 | 14 | boolean isValid() { 15 | return this.start != 0 && this.end != 0 && this.end >= this.start; 16 | } 17 | 18 | boolean contains(int value) { 19 | return value >= this.start && value <= this.end; 20 | } 21 | 22 | boolean excludes(int value) { 23 | return value < this.start || value > this.end; 24 | } 25 | 26 | public String toString() { 27 | return String.format("Range[%d-%d,%d,valid=%s)", this.start, this.end, this.marker, this.isValid()); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/transformer/MixinConfig$IListener.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.transformer; 2 | 3 | import org.spongepowered.asm.mixin.transformer.MixinInfo; 4 | 5 | interface MixinConfig$IListener { 6 | public void onPrepare(MixinInfo var1); 7 | 8 | public void onInit(MixinInfo var1); 9 | } 10 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/transformer/MixinConfig$InjectorOptions.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.transformer; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | import java.util.List; 5 | 6 | class MixinConfig$InjectorOptions { 7 | @SerializedName(value="defaultRequire") 8 | int defaultRequireValue = 0; 9 | @SerializedName(value="defaultGroup") 10 | String defaultGroup = "default"; 11 | @SerializedName(value="injectionPoints") 12 | List injectionPoints; 13 | @SerializedName(value="maxShiftBy") 14 | int maxShiftBy = 0; 15 | 16 | MixinConfig$InjectorOptions() { 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/transformer/MixinConfig$OverwriteOptions.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.transformer; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | class MixinConfig$OverwriteOptions { 6 | @SerializedName(value="conformVisibility") 7 | boolean conformAccessModifiers; 8 | @SerializedName(value="requireAnnotations") 9 | boolean requireOverwriteAnnotations; 10 | 11 | MixinConfig$OverwriteOptions() { 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/transformer/MixinInfo$1.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.transformer; 2 | 3 | import com.google.common.base.Function; 4 | import org.spongepowered.asm.lib.Type; 5 | 6 | class MixinInfo$1 7 | implements Function { 8 | MixinInfo$1() { 9 | } 10 | 11 | @Override 12 | public String apply(Type input) { 13 | return input.getClassName(); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/transformer/MixinInfo$2.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.transformer; 2 | 3 | import com.google.common.base.Function; 4 | 5 | class MixinInfo$2 6 | implements Function { 7 | MixinInfo$2() { 8 | } 9 | 10 | @Override 11 | public String apply(String input) { 12 | return MixinInfo.this.getParent().remapClassName(MixinInfo.this.getClassRef(), input); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/transformer/MixinPreProcessorAccessor.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.transformer; 2 | 3 | import org.spongepowered.asm.mixin.transformer.MixinInfo; 4 | import org.spongepowered.asm.mixin.transformer.MixinPreProcessorInterface; 5 | 6 | class MixinPreProcessorAccessor 7 | extends MixinPreProcessorInterface { 8 | public MixinPreProcessorAccessor(MixinInfo mixin, MixinInfo.MixinClassNode classNode) { 9 | super(mixin, classNode); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/transformer/MixinTransformer$1.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.transformer; 2 | 3 | import org.spongepowered.asm.mixin.transformer.MixinConfig; 4 | import org.spongepowered.asm.mixin.transformer.MixinInfo; 5 | import org.spongepowered.asm.mixin.transformer.ext.IHotSwap; 6 | 7 | class MixinTransformer$1 8 | implements MixinConfig.IListener { 9 | final IHotSwap val$hotSwapper; 10 | 11 | MixinTransformer$1(IHotSwap iHotSwap) { 12 | this.val$hotSwapper = iHotSwap; 13 | } 14 | 15 | @Override 16 | public void onPrepare(MixinInfo mixin) { 17 | this.val$hotSwapper.registerMixinClass(mixin.getClassName()); 18 | } 19 | 20 | @Override 21 | public void onInit(MixinInfo mixin) { 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/transformer/debug/RuntimeDecompiler$1.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.transformer.debug; 2 | 3 | import java.io.File; 4 | import java.io.IOException; 5 | import org.jetbrains.java.decompiler.main.extern.IBytecodeProvider; 6 | import org.jetbrains.java.decompiler.util.InterpreterUtil; 7 | 8 | class RuntimeDecompiler$1 9 | implements IBytecodeProvider { 10 | private byte[] byteCode; 11 | 12 | RuntimeDecompiler$1() { 13 | } 14 | 15 | @Override 16 | public byte[] getBytecode(String externalPath, String internalPath) throws IOException { 17 | if (this.byteCode == null) { 18 | this.byteCode = InterpreterUtil.getBytes(new File(externalPath)); 19 | } 20 | return this.byteCode; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/transformer/ext/IClassGenerator.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.transformer.ext; 2 | 3 | public interface IClassGenerator { 4 | public byte[] generate(String var1); 5 | } 6 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/transformer/ext/IDecompiler.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.transformer.ext; 2 | 3 | import java.io.File; 4 | 5 | public interface IDecompiler { 6 | public void decompile(File var1); 7 | } 8 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/transformer/ext/IExtension.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.transformer.ext; 2 | 3 | import org.spongepowered.asm.mixin.MixinEnvironment; 4 | import org.spongepowered.asm.mixin.transformer.ext.ITargetClassContext; 5 | 6 | public interface IExtension { 7 | public boolean checkActive(MixinEnvironment var1); 8 | 9 | public void preApply(ITargetClassContext var1); 10 | 11 | public void postApply(ITargetClassContext var1); 12 | 13 | public void export(MixinEnvironment var1, String var2, boolean var3, byte[] var4); 14 | } 15 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/transformer/ext/IHotSwap.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.transformer.ext; 2 | 3 | public interface IHotSwap { 4 | public void registerMixinClass(String var1); 5 | 6 | public void registerTargetClass(String var1, byte[] var2); 7 | } 8 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/transformer/ext/ITargetClassContext.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.transformer.ext; 2 | 3 | import org.spongepowered.asm.lib.tree.ClassNode; 4 | import org.spongepowered.asm.mixin.transformer.ClassInfo; 5 | 6 | public interface ITargetClassContext { 7 | public ClassInfo getClassInfo(); 8 | 9 | public ClassNode getClassNode(); 10 | } 11 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/transformer/ext/extensions/ExtensionCheckClass$ValidationFailedException.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.transformer.ext.extensions; 2 | 3 | import org.spongepowered.asm.mixin.throwables.MixinException; 4 | 5 | public class ExtensionCheckClass$ValidationFailedException 6 | extends MixinException { 7 | private static final long serialVersionUID = 1L; 8 | 9 | public ExtensionCheckClass$ValidationFailedException(String message, Throwable cause) { 10 | super(message, cause); 11 | } 12 | 13 | public ExtensionCheckClass$ValidationFailedException(String message) { 14 | super(message); 15 | } 16 | 17 | public ExtensionCheckClass$ValidationFailedException(Throwable cause) { 18 | super(cause); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/transformer/meta/MixinInner.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.transformer.meta; 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 | @Target(value={ElementType.TYPE}) 9 | @Retention(value=RetentionPolicy.CLASS) 10 | public @interface MixinInner { 11 | public String mixin(); 12 | 13 | public String name(); 14 | } 15 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/transformer/meta/MixinMerged.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.transformer.meta; 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 | @Target(value={ElementType.METHOD}) 9 | @Retention(value=RetentionPolicy.RUNTIME) 10 | public @interface MixinMerged { 11 | public String mixin(); 12 | 13 | public int priority(); 14 | } 15 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/transformer/meta/MixinRenamed.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.transformer.meta; 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 | @Target(value={ElementType.METHOD}) 9 | @Retention(value=RetentionPolicy.RUNTIME) 10 | public @interface MixinRenamed { 11 | public String originalName(); 12 | 13 | public boolean isInterfaceMember(); 14 | } 15 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/transformer/throwables/MixinReloadException.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.transformer.throwables; 2 | 3 | import org.spongepowered.asm.mixin.extensibility.IMixinInfo; 4 | import org.spongepowered.asm.mixin.throwables.MixinException; 5 | 6 | public class MixinReloadException 7 | extends MixinException { 8 | private static final long serialVersionUID = 2L; 9 | private final IMixinInfo mixinInfo; 10 | 11 | public MixinReloadException(IMixinInfo mixinInfo, String message) { 12 | super(message); 13 | this.mixinInfo = mixinInfo; 14 | } 15 | 16 | public IMixinInfo getMixinInfo() { 17 | return this.mixinInfo; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/transformer/throwables/MixinTargetAlreadyLoadedException.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.transformer.throwables; 2 | 3 | import org.spongepowered.asm.mixin.extensibility.IMixinInfo; 4 | import org.spongepowered.asm.mixin.transformer.throwables.InvalidMixinException; 5 | 6 | public class MixinTargetAlreadyLoadedException 7 | extends InvalidMixinException { 8 | private static final long serialVersionUID = 1L; 9 | private final String target; 10 | 11 | public MixinTargetAlreadyLoadedException(IMixinInfo mixin, String message, String target) { 12 | super(mixin, message); 13 | this.target = target; 14 | } 15 | 16 | public MixinTargetAlreadyLoadedException(IMixinInfo mixin, String message, String target, Throwable cause) { 17 | super(mixin, message, cause); 18 | this.target = target; 19 | } 20 | 21 | public String getTarget() { 22 | return this.target; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /org/spongepowered/asm/mixin/transformer/throwables/MixinTransformerError.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.mixin.transformer.throwables; 2 | 3 | public class MixinTransformerError 4 | extends Error { 5 | private static final long serialVersionUID = 1L; 6 | 7 | public MixinTransformerError(String message) { 8 | super(message); 9 | } 10 | 11 | public MixinTransformerError(Throwable cause) { 12 | super(cause); 13 | } 14 | 15 | public MixinTransformerError(String message, Throwable cause) { 16 | super(message, cause); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /org/spongepowered/asm/obfuscation/mapping/IMapping$Type.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.obfuscation.mapping; 2 | 3 | public enum IMapping$Type { 4 | FIELD, 5 | METHOD, 6 | CLASS, 7 | PACKAGE; 8 | 9 | } 10 | -------------------------------------------------------------------------------- /org/spongepowered/asm/obfuscation/mapping/IMapping.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.obfuscation.mapping; 2 | 3 | public interface IMapping { 4 | public Type getType(); 5 | 6 | public TMapping move(String var1); 7 | 8 | public TMapping remap(String var1); 9 | 10 | public TMapping transform(String var1); 11 | 12 | public TMapping copy(); 13 | 14 | public String getName(); 15 | 16 | public String getSimpleName(); 17 | 18 | public String getOwner(); 19 | 20 | public String getDesc(); 21 | 22 | public TMapping getSuper(); 23 | 24 | public String serialise(); 25 | 26 | public static enum Type { 27 | FIELD, 28 | METHOD, 29 | CLASS, 30 | PACKAGE; 31 | 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /org/spongepowered/asm/service/IClassBytecodeProvider.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.service; 2 | 3 | import java.io.IOException; 4 | import org.spongepowered.asm.lib.tree.ClassNode; 5 | 6 | public interface IClassBytecodeProvider { 7 | public byte[] getClassBytes(String var1, String var2) throws IOException; 8 | 9 | public byte[] getClassBytes(String var1, boolean var2) throws ClassNotFoundException, IOException; 10 | 11 | public ClassNode getClassNode(String var1) throws ClassNotFoundException, IOException; 12 | } 13 | -------------------------------------------------------------------------------- /org/spongepowered/asm/service/IClassProvider.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.service; 2 | 3 | import java.net.URL; 4 | 5 | public interface IClassProvider { 6 | public URL[] getClassPath(); 7 | 8 | public Class findClass(String var1) throws ClassNotFoundException; 9 | 10 | public Class findClass(String var1, boolean var2) throws ClassNotFoundException; 11 | 12 | public Class findAgentClass(String var1, boolean var2) throws ClassNotFoundException; 13 | } 14 | -------------------------------------------------------------------------------- /org/spongepowered/asm/service/IGlobalPropertyService.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.service; 2 | 3 | public interface IGlobalPropertyService { 4 | public T getProperty(String var1); 5 | 6 | public void setProperty(String var1, Object var2); 7 | 8 | public T getProperty(String var1, T var2); 9 | 10 | public String getPropertyString(String var1, String var2); 11 | } 12 | -------------------------------------------------------------------------------- /org/spongepowered/asm/service/ILegacyClassTransformer.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.service; 2 | 3 | import org.spongepowered.asm.service.ITransformer; 4 | 5 | public interface ILegacyClassTransformer 6 | extends ITransformer { 7 | public String getName(); 8 | 9 | public boolean isDelegationExcluded(); 10 | 11 | public byte[] transformClassBytes(String var1, String var2, byte[] var3); 12 | } 13 | -------------------------------------------------------------------------------- /org/spongepowered/asm/service/IMixinServiceBootstrap.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.service; 2 | 3 | public interface IMixinServiceBootstrap { 4 | public String getName(); 5 | 6 | public String getServiceClassName(); 7 | 8 | public void bootstrap(); 9 | } 10 | -------------------------------------------------------------------------------- /org/spongepowered/asm/service/ITransformer.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.service; 2 | 3 | public interface ITransformer { 4 | } 5 | -------------------------------------------------------------------------------- /org/spongepowered/asm/service/ServiceNotAvailableError.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.service; 2 | 3 | public class ServiceNotAvailableError 4 | extends Error { 5 | private static final long serialVersionUID = 1L; 6 | 7 | public ServiceNotAvailableError(String message) { 8 | super(message); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /org/spongepowered/asm/service/mojang/Blackboard.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.service.mojang; 2 | 3 | import net.minecraft.launchwrapper.Launch; 4 | import org.spongepowered.asm.service.IGlobalPropertyService; 5 | 6 | public class Blackboard 7 | implements IGlobalPropertyService { 8 | @Override 9 | public final T getProperty(String key) { 10 | return (T)Launch.blackboard.get(key); 11 | } 12 | 13 | @Override 14 | public final void setProperty(String key, Object value) { 15 | Launch.blackboard.put(key, value); 16 | } 17 | 18 | @Override 19 | public final T getProperty(String key, T defaultValue) { 20 | Object value = Launch.blackboard.get(key); 21 | return (T)(value != null ? value : defaultValue); 22 | } 23 | 24 | @Override 25 | public final String getPropertyString(String key, String defaultValue) { 26 | Object value = Launch.blackboard.get(key); 27 | return value != null ? value.toString() : defaultValue; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /org/spongepowered/asm/transformers/MixinClassWriter.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.transformers; 2 | 3 | import org.spongepowered.asm.lib.ClassReader; 4 | import org.spongepowered.asm.lib.ClassWriter; 5 | import org.spongepowered.asm.mixin.transformer.ClassInfo; 6 | 7 | public class MixinClassWriter 8 | extends ClassWriter { 9 | public MixinClassWriter(int flags) { 10 | super(flags); 11 | } 12 | 13 | public MixinClassWriter(ClassReader classReader, int flags) { 14 | super(classReader, flags); 15 | } 16 | 17 | @Override 18 | protected String getCommonSuperClass(String type1, String type2) { 19 | return ClassInfo.getCommonSuperClass(type1, type2).getName(); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /org/spongepowered/asm/util/Annotations$1.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.util; 2 | 3 | import com.google.common.base.Function; 4 | import org.spongepowered.asm.lib.tree.AnnotationNode; 5 | 6 | final class Annotations$1 7 | implements Function { 8 | Annotations$1() { 9 | } 10 | 11 | @Override 12 | public String apply(AnnotationNode input) { 13 | return input.desc; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /org/spongepowered/asm/util/Bytecode$Visibility.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.util; 2 | 3 | public enum Bytecode$Visibility { 4 | PRIVATE(2), 5 | PROTECTED(4), 6 | PACKAGE(0), 7 | PUBLIC(1); 8 | 9 | static final int MASK = 7; 10 | final int access; 11 | 12 | private Bytecode$Visibility(int access) { 13 | this.access = access; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /org/spongepowered/asm/util/ClassSignature$IToken.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.util; 2 | 3 | import org.spongepowered.asm.util.ClassSignature; 4 | 5 | interface ClassSignature$IToken { 6 | public static final String WILDCARDS = "+-"; 7 | 8 | public String asType(); 9 | 10 | public String asBound(); 11 | 12 | public ClassSignature.Token asToken(); 13 | 14 | public ClassSignature$IToken setArray(boolean var1); 15 | 16 | public ClassSignature$IToken setWildcard(char var1); 17 | } 18 | -------------------------------------------------------------------------------- /org/spongepowered/asm/util/ClassSignature$Lazy.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.util; 2 | 3 | import org.spongepowered.asm.util.ClassSignature; 4 | 5 | class ClassSignature$Lazy 6 | extends ClassSignature { 7 | private final String sig; 8 | private ClassSignature generated; 9 | 10 | ClassSignature$Lazy(String sig) { 11 | this.sig = sig; 12 | } 13 | 14 | @Override 15 | public ClassSignature wake() { 16 | if (this.generated == null) { 17 | this.generated = ClassSignature.of(this.sig); 18 | } 19 | return this.generated; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /org/spongepowered/asm/util/ClassSignature$SignatureParser$FormalParamElement.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.util; 2 | 3 | import org.spongepowered.asm.util.ClassSignature; 4 | 5 | class ClassSignature$SignatureParser$FormalParamElement 6 | extends ClassSignature.SignatureParser.TokenElement { 7 | private final ClassSignature.TokenHandle handle; 8 | 9 | ClassSignature$SignatureParser$FormalParamElement(String param) { 10 | super(SignatureParser.this); 11 | this.handle = SignatureParser.this.this$0.getType(param); 12 | this.token = this.handle.asToken(); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /org/spongepowered/asm/util/ClassSignature$SignatureParser$InterfaceElement.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.util; 2 | 3 | import org.spongepowered.asm.util.ClassSignature; 4 | 5 | class ClassSignature$SignatureParser$InterfaceElement 6 | extends ClassSignature.SignatureParser.TokenElement { 7 | ClassSignature$SignatureParser$InterfaceElement() { 8 | super(SignatureParser.this); 9 | } 10 | 11 | @Override 12 | public void visitEnd() { 13 | SignatureParser.this.this$0.addInterface(this.token); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /org/spongepowered/asm/util/ClassSignature$SignatureParser$SignatureElement.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.util; 2 | 3 | import org.spongepowered.asm.lib.signature.SignatureVisitor; 4 | 5 | abstract class ClassSignature$SignatureParser$SignatureElement 6 | extends SignatureVisitor { 7 | public ClassSignature$SignatureParser$SignatureElement() { 8 | super(327680); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /org/spongepowered/asm/util/ClassSignature$SignatureParser$SuperClassElement.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.util; 2 | 3 | import org.spongepowered.asm.util.ClassSignature; 4 | 5 | class ClassSignature$SignatureParser$SuperClassElement 6 | extends ClassSignature.SignatureParser.TokenElement { 7 | ClassSignature$SignatureParser$SuperClassElement() { 8 | super(SignatureParser.this); 9 | } 10 | 11 | @Override 12 | public void visitEnd() { 13 | SignatureParser.this.this$0.setSuperClass(this.token); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /org/spongepowered/asm/util/Constants$ManifestAttributes.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.util; 2 | 3 | public abstract class Constants$ManifestAttributes { 4 | public static final String TWEAKER = "TweakClass"; 5 | public static final String MAINCLASS = "Main-Class"; 6 | public static final String MIXINCONFIGS = "MixinConfigs"; 7 | public static final String TOKENPROVIDERS = "MixinTokenProviders"; 8 | @Deprecated 9 | public static final String COMPATIBILITY = "MixinCompatibilityLevel"; 10 | 11 | private Constants$ManifestAttributes() { 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /org/spongepowered/asm/util/Counter.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.util; 2 | 3 | public final class Counter { 4 | public int value; 5 | 6 | public boolean equals(Object obj) { 7 | return obj != null && obj.getClass() == Counter.class && ((Counter)obj).value == this.value; 8 | } 9 | 10 | public int hashCode() { 11 | return this.value; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /org/spongepowered/asm/util/ITokenProvider.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.util; 2 | 3 | public interface ITokenProvider { 4 | public Integer getToken(String var1); 5 | } 6 | -------------------------------------------------------------------------------- /org/spongepowered/asm/util/JavaVersion.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.util; 2 | 3 | import java.util.regex.Matcher; 4 | import java.util.regex.Pattern; 5 | 6 | public abstract class JavaVersion { 7 | private static double current = 0.0; 8 | 9 | private JavaVersion() { 10 | } 11 | 12 | public static double current() { 13 | if (current == 0.0) { 14 | current = JavaVersion.resolveCurrentVersion(); 15 | } 16 | return current; 17 | } 18 | 19 | private static double resolveCurrentVersion() { 20 | String version = System.getProperty("java.version"); 21 | Matcher matcher = Pattern.compile("[0-9]+\\.[0-9]+").matcher(version); 22 | if (matcher.find()) { 23 | return Double.parseDouble(matcher.group()); 24 | } 25 | return 1.6; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /org/spongepowered/asm/util/ObfuscationUtil$IClassRemapper.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.util; 2 | 3 | public interface ObfuscationUtil$IClassRemapper { 4 | public String map(String var1); 5 | 6 | public String unmap(String var1); 7 | } 8 | -------------------------------------------------------------------------------- /org/spongepowered/asm/util/PrettyPrinter$Alignment.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.util; 2 | 3 | public enum PrettyPrinter$Alignment { 4 | LEFT, 5 | RIGHT; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /org/spongepowered/asm/util/PrettyPrinter$CentredText.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.util; 2 | 3 | class PrettyPrinter$CentredText { 4 | private final Object centred; 5 | 6 | public PrettyPrinter$CentredText(Object centred) { 7 | this.centred = centred; 8 | } 9 | 10 | public String toString() { 11 | String text = this.centred.toString(); 12 | return String.format("%" + ((PrettyPrinter.this.width - text.length()) / 2 + text.length()) + "s", text); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /org/spongepowered/asm/util/PrettyPrinter$HorizontalRule.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.util; 2 | 3 | import com.google.common.base.Strings; 4 | import org.spongepowered.asm.util.PrettyPrinter; 5 | 6 | class PrettyPrinter$HorizontalRule 7 | implements PrettyPrinter.ISpecialEntry { 8 | private final char[] hrChars; 9 | 10 | public PrettyPrinter$HorizontalRule(char ... hrChars) { 11 | this.hrChars = hrChars; 12 | } 13 | 14 | public String toString() { 15 | return Strings.repeat(new String(this.hrChars), PrettyPrinter.this.width + 2); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /org/spongepowered/asm/util/PrettyPrinter$IPrettyPrintable.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.util; 2 | 3 | import org.spongepowered.asm.util.PrettyPrinter; 4 | 5 | public interface PrettyPrinter$IPrettyPrintable { 6 | public void print(PrettyPrinter var1); 7 | } 8 | -------------------------------------------------------------------------------- /org/spongepowered/asm/util/PrettyPrinter$ISpecialEntry.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.util; 2 | 3 | interface PrettyPrinter$ISpecialEntry { 4 | } 5 | -------------------------------------------------------------------------------- /org/spongepowered/asm/util/PrettyPrinter$IVariableWidthEntry.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.util; 2 | 3 | interface PrettyPrinter$IVariableWidthEntry { 4 | public int getWidth(); 5 | } 6 | -------------------------------------------------------------------------------- /org/spongepowered/asm/util/PrettyPrinter$KeyValue.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.util; 2 | 3 | import org.spongepowered.asm.util.PrettyPrinter; 4 | 5 | class PrettyPrinter$KeyValue 6 | implements PrettyPrinter.IVariableWidthEntry { 7 | private final String key; 8 | private final Object value; 9 | 10 | public PrettyPrinter$KeyValue(String key, Object value) { 11 | this.key = key; 12 | this.value = value; 13 | } 14 | 15 | public String toString() { 16 | return String.format(PrettyPrinter.this.kvFormat, this.key, this.value); 17 | } 18 | 19 | @Override 20 | public int getWidth() { 21 | return this.toString().length(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /org/spongepowered/asm/util/asm/MethodVisitorEx.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.util.asm; 2 | 3 | import org.spongepowered.asm.lib.MethodVisitor; 4 | import org.spongepowered.asm.util.Bytecode; 5 | 6 | public class MethodVisitorEx 7 | extends MethodVisitor { 8 | public MethodVisitorEx(MethodVisitor mv) { 9 | super(327680, mv); 10 | } 11 | 12 | public void visitConstant(byte constant) { 13 | if (constant > -2 && constant < 6) { 14 | this.visitInsn(Bytecode.CONSTANTS_INT[constant + 1]); 15 | return; 16 | } 17 | this.visitIntInsn(16, constant); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /org/spongepowered/asm/util/throwables/InvalidConstraintException.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.util.throwables; 2 | 3 | public class InvalidConstraintException 4 | extends IllegalArgumentException { 5 | private static final long serialVersionUID = 1L; 6 | 7 | public InvalidConstraintException() { 8 | } 9 | 10 | public InvalidConstraintException(String s) { 11 | super(s); 12 | } 13 | 14 | public InvalidConstraintException(Throwable cause) { 15 | super(cause); 16 | } 17 | 18 | public InvalidConstraintException(String message, Throwable cause) { 19 | super(message, cause); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /org/spongepowered/asm/util/throwables/LVTGeneratorException.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.asm.util.throwables; 2 | 3 | import org.spongepowered.asm.mixin.throwables.MixinException; 4 | 5 | public class LVTGeneratorException 6 | extends MixinException { 7 | private static final long serialVersionUID = 1L; 8 | 9 | public LVTGeneratorException(String message) { 10 | super(message); 11 | } 12 | 13 | public LVTGeneratorException(String message, Throwable cause) { 14 | super(message, cause); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /org/spongepowered/tools/obfuscation/AnnotatedMixinElementHandlerOverwrite$AnnotatedElementOverwrite.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.tools.obfuscation; 2 | 3 | import javax.lang.model.element.ExecutableElement; 4 | import org.spongepowered.tools.obfuscation.AnnotatedMixinElementHandler; 5 | import org.spongepowered.tools.obfuscation.mirror.AnnotationHandle; 6 | 7 | class AnnotatedMixinElementHandlerOverwrite$AnnotatedElementOverwrite 8 | extends AnnotatedMixinElementHandler.AnnotatedElement { 9 | private final boolean shouldRemap; 10 | 11 | public AnnotatedMixinElementHandlerOverwrite$AnnotatedElementOverwrite(ExecutableElement element, AnnotationHandle annotation, boolean shouldRemap) { 12 | super(element, annotation); 13 | this.shouldRemap = shouldRemap; 14 | } 15 | 16 | public boolean shouldRemap() { 17 | return this.shouldRemap; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /org/spongepowered/tools/obfuscation/Mappings$MappingConflictException.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.tools.obfuscation; 2 | 3 | import org.spongepowered.asm.obfuscation.mapping.IMapping; 4 | 5 | public class Mappings$MappingConflictException 6 | extends Class18 { 7 | private static final long serialVersionUID = 1L; 8 | private final IMapping oldMapping; 9 | private final IMapping newMapping; 10 | 11 | public Mappings$MappingConflictException(IMapping oldMapping, IMapping newMapping) { 12 | this.oldMapping = oldMapping; 13 | this.newMapping = newMapping; 14 | } 15 | 16 | public IMapping getOld() { 17 | return this.oldMapping; 18 | } 19 | 20 | public IMapping getNew() { 21 | return this.newMapping; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /org/spongepowered/tools/obfuscation/ObfuscationEnvironment$RemapperProxy.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.tools.obfuscation; 2 | 3 | import org.spongepowered.asm.util.ObfuscationUtil; 4 | 5 | final class ObfuscationEnvironment$RemapperProxy 6 | implements ObfuscationUtil.IClassRemapper { 7 | ObfuscationEnvironment$RemapperProxy() { 8 | } 9 | 10 | @Override 11 | public String map(String typeName) { 12 | if (ObfuscationEnvironment.this.mappingProvider == null) { 13 | return null; 14 | } 15 | return ObfuscationEnvironment.this.mappingProvider.getClassMapping(typeName); 16 | } 17 | 18 | @Override 19 | public String unmap(String typeName) { 20 | if (ObfuscationEnvironment.this.mappingProvider == null) { 21 | return null; 22 | } 23 | return ObfuscationEnvironment.this.mappingProvider.getClassMapping(typeName); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /org/spongepowered/tools/obfuscation/ReferenceManager$ReferenceConflictException.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.tools.obfuscation; 2 | 3 | public class ReferenceManager$ReferenceConflictException 4 | extends Class18 { 5 | private static final long serialVersionUID = 1L; 6 | private final String oldReference; 7 | private final String newReference; 8 | 9 | public ReferenceManager$ReferenceConflictException(String oldReference, String newReference) { 10 | this.oldReference = oldReference; 11 | this.newReference = newReference; 12 | } 13 | 14 | public String getOld() { 15 | return this.oldReference; 16 | } 17 | 18 | public String getNew() { 19 | return this.newReference; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /org/spongepowered/tools/obfuscation/interfaces/IJavadocProvider.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.tools.obfuscation.interfaces; 2 | 3 | import javax.lang.model.element.Element; 4 | 5 | public interface IJavadocProvider { 6 | public String getJavadoc(Element var1); 7 | } 8 | -------------------------------------------------------------------------------- /org/spongepowered/tools/obfuscation/interfaces/IMixinAnnotationProcessor$CompilerEnvironment.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.tools.obfuscation.interfaces; 2 | 3 | public enum IMixinAnnotationProcessor$CompilerEnvironment { 4 | JAVAC, 5 | JDT; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /org/spongepowered/tools/obfuscation/interfaces/IMixinValidator$ValidationPass.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.tools.obfuscation.interfaces; 2 | 3 | public enum IMixinValidator$ValidationPass { 4 | EARLY, 5 | LATE, 6 | FINAL; 7 | 8 | } 9 | -------------------------------------------------------------------------------- /org/spongepowered/tools/obfuscation/interfaces/IMixinValidator.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.tools.obfuscation.interfaces; 2 | 3 | import java.util.Collection; 4 | import javax.lang.model.element.TypeElement; 5 | import org.spongepowered.tools.obfuscation.mirror.AnnotationHandle; 6 | import org.spongepowered.tools.obfuscation.mirror.TypeHandle; 7 | 8 | public interface IMixinValidator { 9 | public boolean validate(ValidationPass var1, TypeElement var2, AnnotationHandle var3, Collection var4); 10 | 11 | public static enum ValidationPass { 12 | EARLY, 13 | LATE, 14 | FINAL; 15 | 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /org/spongepowered/tools/obfuscation/interfaces/IObfuscationManager.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.tools.obfuscation.interfaces; 2 | 3 | import java.util.List; 4 | import org.spongepowered.tools.obfuscation.ObfuscationEnvironment; 5 | import org.spongepowered.tools.obfuscation.interfaces.IObfuscationDataProvider; 6 | import org.spongepowered.tools.obfuscation.interfaces.IReferenceManager; 7 | import org.spongepowered.tools.obfuscation.mapping.IMappingConsumer; 8 | 9 | public interface IObfuscationManager { 10 | public void init(); 11 | 12 | public IObfuscationDataProvider getDataProvider(); 13 | 14 | public IReferenceManager getReferenceManager(); 15 | 16 | public IMappingConsumer createMappingConsumer(); 17 | 18 | public List getEnvironments(); 19 | 20 | public void writeMappings(); 21 | 22 | public void writeReferences(); 23 | } 24 | -------------------------------------------------------------------------------- /org/spongepowered/tools/obfuscation/interfaces/IOptionProvider.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.tools.obfuscation.interfaces; 2 | 3 | public interface IOptionProvider { 4 | public String getOption(String var1); 5 | } 6 | -------------------------------------------------------------------------------- /org/spongepowered/tools/obfuscation/interfaces/ITypeHandleProvider.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.tools.obfuscation.interfaces; 2 | 3 | import javax.lang.model.type.TypeMirror; 4 | import org.spongepowered.tools.obfuscation.mirror.TypeHandle; 5 | 6 | public interface ITypeHandleProvider { 7 | public TypeHandle getTypeHandle(String var1); 8 | 9 | public TypeHandle getSimulatedHandle(String var1, TypeMirror var2); 10 | } 11 | -------------------------------------------------------------------------------- /org/spongepowered/tools/obfuscation/mapping/IMappingProvider.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.tools.obfuscation.mapping; 2 | 3 | import java.io.File; 4 | import java.io.IOException; 5 | import org.spongepowered.asm.obfuscation.mapping.common.MappingField; 6 | import org.spongepowered.asm.obfuscation.mapping.common.MappingMethod; 7 | 8 | public interface IMappingProvider { 9 | public void clear(); 10 | 11 | public boolean isEmpty(); 12 | 13 | public void read(File var1) throws IOException; 14 | 15 | public MappingMethod getMethodMapping(MappingMethod var1); 16 | 17 | public MappingField getFieldMapping(MappingField var1); 18 | 19 | public String getClassMapping(String var1); 20 | 21 | public String getPackageMapping(String var1); 22 | } 23 | -------------------------------------------------------------------------------- /org/spongepowered/tools/obfuscation/mapping/IMappingWriter.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.tools.obfuscation.mapping; 2 | 3 | import org.spongepowered.asm.obfuscation.mapping.common.MappingField; 4 | import org.spongepowered.asm.obfuscation.mapping.common.MappingMethod; 5 | import org.spongepowered.tools.obfuscation.ObfuscationType; 6 | import org.spongepowered.tools.obfuscation.mapping.IMappingConsumer; 7 | 8 | public interface IMappingWriter { 9 | public void write(String var1, ObfuscationType var2, IMappingConsumer.MappingSet var3, IMappingConsumer.MappingSet var4); 10 | } 11 | -------------------------------------------------------------------------------- /org/spongepowered/tools/obfuscation/mirror/MemberHandle.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.tools.obfuscation.mirror; 2 | 3 | import org.spongepowered.asm.obfuscation.mapping.IMapping; 4 | import org.spongepowered.tools.obfuscation.mirror.Visibility; 5 | 6 | public abstract class MemberHandle> { 7 | private final String owner; 8 | private final String name; 9 | private final String desc; 10 | 11 | protected MemberHandle(String owner, String name, String desc) { 12 | this.owner = owner; 13 | this.name = name; 14 | this.desc = desc; 15 | } 16 | 17 | public final String getOwner() { 18 | return this.owner; 19 | } 20 | 21 | public final String getName() { 22 | return this.name; 23 | } 24 | 25 | public final String getDesc() { 26 | return this.desc; 27 | } 28 | 29 | public abstract Visibility getVisibility(); 30 | 31 | public abstract T asMapping(boolean var1); 32 | } 33 | -------------------------------------------------------------------------------- /org/spongepowered/tools/obfuscation/mirror/Visibility.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.tools.obfuscation.mirror; 2 | 3 | public enum Visibility { 4 | PRIVATE, 5 | PROTECTED, 6 | PACKAGE, 7 | PUBLIC; 8 | 9 | } 10 | -------------------------------------------------------------------------------- /org/spongepowered/tools/obfuscation/service/IObfuscationService.java: -------------------------------------------------------------------------------- 1 | package org.spongepowered.tools.obfuscation.service; 2 | 3 | import java.util.Collection; 4 | import java.util.Set; 5 | import org.spongepowered.tools.obfuscation.service.ObfuscationTypeDescriptor; 6 | 7 | public interface IObfuscationService { 8 | public Set getSupportedOptions(); 9 | 10 | public Collection getObfuscationTypes(); 11 | } 12 | --------------------------------------------------------------------------------