From 8f17bd8e67b22900d94575b3d122be6d844d472a Mon Sep 17 00:00:00 2001 From: retuci0 Date: Sun, 4 Jan 2026 17:46:51 +0100 Subject: [PATCH] v2.3 - sputnik rename --- README.md | 10 +-- build.gradle | 2 +- cambios.md | 16 +--- gradle.properties | 4 +- src.zip | Bin 216642 -> 0 bytes .../event/events/ChunkOcclusionEvent.java | 9 --- .../camtweaks/event/events/ShutdownEvent.java | 12 --- .../camtweaks/event/events/TickEvent.java | 14 ---- .../Sputnik.java} | 76 ++++++++---------- .../command/Command.java | 4 +- .../command/CommandManager.java | 10 +-- .../command/args/EntityArgumentType.java | 7 +- .../command/args/ModuleArgumentType.java | 6 +- .../command/args/PlayerArgumentType.java | 4 +- .../command/commands/BindCommand.java | 14 ++-- .../commands/CopyScreenshotCommand.java | 8 +- .../command/commands/EnderChestCommand.java | 15 ++-- .../commands/GarbageCleanerCommand.java | 6 +- .../command/commands/PeekCommand.java | 8 +- .../command/commands/PrefixCommand.java | 8 +- .../command/commands/PurgeCommand.java | 6 +- .../commands/SaveScreenshotCommand.java | 10 +-- .../command/commands/SendCommand.java | 7 +- .../command/commands/SpectateCommand.java | 13 ++- .../command/commands/ToggleCommand.java | 10 +-- .../config/ClientConfig.java | 14 ++-- .../config/ConfigManager.java | 74 ++++++++--------- .../{camtweaks => sputnik}/event/Event.java | 2 +- .../event/EventBus.java | 2 +- .../event/JoinWorldEvent.java | 5 +- .../{camtweaks => sputnik}/event/Stage.java | 2 +- .../event/SubscribeEvent.java | 2 +- .../event/events/AddEntityEvent.java | 6 +- .../event/events/AttackEntityEvent.java | 6 +- .../event/events/BreakBlockEvent.java | 6 +- .../event/events/ChangeRotationEvent.java | 10 +-- .../event/events/ChunkOcclusionEvent.java | 9 +++ .../event/events/ClientClickEvent.java | 4 +- .../event/events/ClipAtLedgeEvent.java | 4 +- .../event/events/DamageItemEvent.java | 6 +- .../event/events/DisconnectEvent.java | 6 +- .../event/events/GetFOVEvent.java | 6 +- .../event/events/InteractEntityEvent.java | 6 +- .../event/events/KeyEvent.java | 6 +- .../event/events/MouseClickEvent.java | 6 +- .../event/events/MouseScrollEvent.java | 6 +- .../event/events/OpenScreenEvent.java | 6 +- .../event/events/PacketEvent.java | 14 ++-- .../event/events/PerspectiveChangeEvent.java | 6 +- .../event/events/PlaceBlockEvent.java | 6 +- .../event/events/ReceiveMessageEvent.java | 6 +- .../event/events/RemoveEntityEvent.java | 6 +- .../event/events/RenderArmEvent.java | 6 +- .../event/events/RenderBossbarEvent.java | 10 +-- .../event/events/RenderHeldItemEvent.java | 6 +- .../event/events/RenderWorldEvent.java | 6 +- .../event/events/SendMessageEvent.java | 6 +- .../sputnik/event/events/ShutdownEvent.java | 12 +++ .../sputnik/event/events/TickEvent.java | 14 ++++ .../event/events/UseItemEvent.java | 6 +- .../sputnik}/GUISettingsFrameEvent.java | 4 +- .../events/sputnik}/LoadClickGUIEvent.java | 4 +- .../sputnik}/LoadCommandManagerEvent.java | 4 +- .../event/events/sputnik/LoadConfigEvent.java | 23 ++++++ .../sputnik}/LoadModuleManagerEvent.java | 4 +- .../events/sputnik}/ModuleFrameEvent.java | 4 +- .../events/sputnik}/SettingsFrameEvent.java | 6 +- .../events/sputnik}/ToggleModuleEvent.java | 6 +- .../events/sputnik}/UpdateSettingEvent.java | 6 +- .../mixin/BossBarHudMixin.java | 6 +- .../mixin/BufferStorageMixin.java | 4 +- .../mixin/CameraMixin.java | 10 +-- .../mixin/ChatHudLineMixin.java | 4 +- .../mixin/ChatHudLineVisibleMixin.java | 4 +- .../mixin/ChatHudMixin.java | 18 ++--- .../mixin/ChatInputSuggestorMixin.java | 6 +- .../mixin/ChatScreenMixin.java | 6 +- .../mixin/ChunkBorderDebugRendererMixin.java | 6 +- .../mixin/ChunkOcclusionDataBuilderMixin.java | 6 +- .../ClientCommonNetworkHandlerMixin.java | 12 +-- .../mixin/ClientConnectionMixin.java | 12 +-- .../mixin/ClientPlayNetworkHandlerMixin.java | 14 ++-- .../mixin/ClientPlayerEntityMixin.java | 10 +-- .../ClientPlayerInteractionManagerMixin.java | 18 ++--- .../mixin/ClientWorldMixin.java | 8 +- .../mixin/ClientWorldPropertiesMixin.java | 6 +- .../mixin/ConfirmScreenMixin.java | 8 +- .../mixin/DamageParticleMixin.java | 10 ++- .../mixin/DisconnectedScreenMixin.java | 6 +- .../sputnik/mixin/EmitterParticleMixin.java | 56 +++++++++++++ .../mixin/EntityMixin.java | 20 ++--- .../mixin/EquipmentRendererMixin.java | 6 +- .../mixin/FogRendererMixin.java | 6 +- .../mixin/GameOptionsMixin.java | 10 +-- .../mixin/GameRendererMixin.java | 16 ++-- .../mixin/HandshakeC2SPacketMixin.java | 11 ++- .../mixin/HeldItemRendererMixin.java | 12 +-- .../mixin/InGameHudMixin.java | 12 +-- .../mixin/InGameOverlayRendererMixin.java | 6 +- .../mixin/ItemEntityMixin.java | 6 +- .../mixin/ItemMixin.java | 6 +- .../mixin/ItemRendererMixin.java | 6 +- .../mixin/ItemStackMixin.java | 6 +- .../mixin/KeyInputMixin.java | 6 +- .../mixin/KeyboardMixin.java | 10 +-- .../mixin/LightmapTextureManagerMixin.java | 8 +- .../mixin/LivingEntityMixin.java | 8 +- .../mixin/LivingEntityRendererMixin.java | 10 +-- .../mixin/MessageHandlerMixin.java | 4 +- .../mixin/MinecraftClientMixin.java | 23 +++--- .../mixin/MouseMixin.java | 9 +-- .../mixin/OverlayTextureMixin.java | 6 +- .../mixin/ParticleManagerMixin.java | 6 +- .../mixin/PlayerEntityMixin.java | 11 ++- .../mixin/ResourcePackPolicyMixin.java | 6 +- .../mixin/ScreenMixin.java | 12 +-- .../mixin/ScreenshotRecorderMixin.java | 8 +- .../mixin/ServerConnectorMixin.java | 6 +- .../mixin/ServerInfoMixin.java | 6 +- .../mixin/SkyRendererMixin.java | 8 +- .../mixin/StatusEffectFogModifierMixin.java | 6 +- .../mixin/StringHelperMixin.java | 6 +- .../StuckArrowsFeatureRendererMixin.java | 6 +- .../mixin/TelemetryManagerMixin.java | 2 +- .../mixin/TextRendererDrawerMixin.java | 6 +- .../mixin/TextRendererMixin.java | 6 +- .../mixin/Vec3dMixin.java | 4 +- .../mixin/WeatherRenderingMixin.java | 6 +- .../mixin/WorldRendererMixin.java | 19 +++-- .../mixin/YggdrasilUserApiServiceMixin.java | 2 +- .../AbstractSignEditScreenAccessor.java | 2 +- .../mixin/accessor/AnvilScreenAccessor.java | 2 +- .../ClientPlayNetworkHandlerAccessor.java | 2 +- ...nfirmServerResourcePackScreenAccessor.java | 2 +- .../mixin/accessor/HandledScreenAccessor.java | 2 +- .../mixin/accessor/KeyBindingAccessor.java | 3 +- .../accessor/OverlayTextureAccessor.java | 2 +- .../mixin/accessor/PackAccessor.java | 2 +- .../StatusEffectInstanceAccessor.java | 2 +- .../module/Category.java | 2 +- .../{camtweaks => sputnik}/module/Module.java | 32 ++++---- .../module/ModuleManager.java | 23 +++--- .../module/modules/camera/Freecam.java | 40 ++++----- .../module/modules/camera/Freelook.java | 16 ++-- .../module/modules/camera/Fullbright.java | 14 ++-- .../modules/camera/PerspectivePlus.java | 16 ++-- .../module/modules/camera/Rotations.java | 14 ++-- .../module/modules/camera/Zoom.java | 20 ++--- .../module/modules/client/GUI.java | 37 +++++---- .../module/modules/client/HUD.java | 17 ++-- .../module/modules/misc/AntiInvis.java | 8 +- .../module/modules/misc/AnvilFont.java | 12 +-- .../module/modules/misc/BossbarStack.java | 14 ++-- .../module/modules/misc/ChatPlus.java | 41 +++++----- .../module/modules/misc/FakePlayer.java | 8 +- .../module/modules/misc/ScreenshotPlus.java | 18 ++--- .../module/modules/misc/ShulkerPeek.java | 24 +++--- .../modules/network/BungeecordSpoofer.java | 10 +-- .../module/modules/network/LogoutSpots.java | 26 +++--- .../module/modules/network/PacketDelay.java | 20 ++--- .../module/modules/network/RPackBypass.java | 16 ++-- .../module/modules/network/Reconnect.java | 10 +-- .../modules/player/AttributeSwapper.java | 14 ++-- .../module/modules/player/ElytraBounce.java | 6 +- .../module/modules/player/FastUse.java | 10 +-- .../module/modules/player/HandView.java | 18 ++--- .../module/modules/player/Headhitters.java | 8 +- .../module/modules/player/InventoryPlus.java | 22 ++--- .../module/modules/player/Offhand.java | 14 ++-- .../module/modules/player/PortalGUI.java | 8 +- .../module/modules/player/SafeWalk.java | 12 +-- .../module/modules/player/UIMove.java | 16 ++-- .../modules/player/WarnLowDurability.java | 16 ++-- .../module/modules/render/BlockESP.java | 27 +++---- .../module/modules/render/BlockOutline.java | 10 +-- .../modules/render/BreakingProgress.java | 20 ++--- .../module/modules/render/CritsPlus.java | 18 ++--- .../module/modules/render/DamageOverlay.java | 12 +-- .../module/modules/render/GlintPlus.java | 18 ++--- .../module/modules/render/Nametags.java | 22 ++--- .../module/modules/render/NoRender.java | 34 ++++---- .../module/modules/world/AutoSign.java | 16 ++-- .../module/modules/world/ColoredSigns.java | 12 +-- .../module/modules/world/LightOverlay.java | 19 +++-- .../modules/world/NoMiningInterruptions.java | 13 ++- .../module/modules/world/Racist.java | 8 +- .../module/modules/world/TimeChanger.java | 16 ++-- .../module/settings/BooleanSetting.java | 2 +- .../module/settings/ColorSetting.java | 4 +- .../module/settings/EnumSetting.java | 2 +- .../module/settings/KeySetting.java | 12 +-- .../module/settings/ListSetting.java | 2 +- .../module/settings/NumberSetting.java | 2 +- .../module/settings/OptionSetting.java | 3 +- .../module/settings/Setting.java | 9 +-- .../module/settings/StringSetting.java | 2 +- .../ui/hud/HudEditorScreen.java | 8 +- .../ui/hud/HudElement.java | 7 +- .../ui/hud/HudRenderer.java | 10 +-- .../ui/hud/ImageHudElement.java | 15 ++-- .../ui/hud/TextHudElement.java | 6 +- .../ui/hud/elements/CoordsElement.java | 13 ++- .../ui/hud/elements/CustomTextElement.java | 13 ++- .../ui/hud/elements/DynoElement.java | 8 +- .../ui/hud/elements/EchestElement.java | 10 +-- .../ui/hud/elements/FpsElement.java | 7 +- .../ui/hud/elements/PingElement.java | 7 +- .../ui/hud/elements/TimeElement.java | 9 +-- .../ui/hud/elements/TotemsElement.java | 6 +- .../ui/hud/elements/TpsElement.java | 9 +-- .../ui/screen/ClickGUI.java | 59 +++++++------- .../ui/screen/PreviewScreen.java | 11 ++- .../ui/widgets/Button.java | 3 +- .../ui/widgets/Frame.java | 2 +- .../ui/widgets/Widget.java | 4 +- .../ui/widgets/buttons/ModuleButton.java | 12 +-- .../ui/widgets/buttons/SettingButton.java | 8 +- .../widgets/buttons/settings/BindButton.java | 18 ++--- .../buttons/settings/ChooseButton.java | 20 ++--- .../widgets/buttons/settings/ColorButton.java | 16 ++-- .../widgets/buttons/settings/CycleButton.java | 14 ++-- .../widgets/buttons/settings/ListButton.java | 20 ++--- .../buttons/settings/SliderButton.java | 16 ++-- .../widgets/buttons/settings/TextButton.java | 14 ++-- .../buttons/settings/ToggleButton.java | 14 ++-- .../ui/widgets/frames/ModuleFrame.java | 21 +++-- .../ui/widgets/frames/SettingsFrame.java | 21 +++-- .../frames/settings/ClientSettingsFrame.java | 19 +++-- .../frames/settings/ColorPickerFrame.java | 28 +++---- .../ui/widgets/misc/ScrollBarWidget.java | 10 +-- .../ui/widgets/misc/SearchBarWidget.java | 14 ++-- .../{camtweaks => sputnik}/util/ChatUtil.java | 11 ++- .../{camtweaks => sputnik}/util/Colors.java | 4 +- .../util/EntityUtil.java | 4 +- .../util/InventoryUtil.java | 12 +-- .../{camtweaks => sputnik}/util/KeyUtil.java | 7 +- .../{camtweaks => sputnik}/util/Lists.java | 14 +--- .../{camtweaks => sputnik}/util/MiscUtil.java | 12 +-- .../util/NetworkUtil.java | 6 +- .../util/interfaces/IChatHud.java | 2 +- .../util/interfaces/IChatHudLine.java | 2 +- .../util/interfaces/IChatHudLineVisible.java | 2 +- .../util/interfaces/IConfirmScreen.java | 2 +- .../util/interfaces/IMessageHandler.java | 2 +- .../util/interfaces/IVec3d.java | 2 +- .../util/interfaces/TextVisitor.java | 2 +- .../util/render/DrawUtil.java | 2 +- .../util/render/GlintRenderLayer.java | 13 ++- .../util/render/Layers.java | 13 ++- .../util/render/Pipelines.java | 11 ++- .../util/render/RenderUtil.java | 5 +- src/main/resources/assets/sputnik/icon.png | Bin 0 -> 6953 bytes .../{camtweaks => sputnik}/icon_chat.png | Bin .../assets/{camtweaks => sputnik}/icon_mc.png | Bin .../icon.png => sputnik/icon_old.png} | Bin .../icon_old.png => sputnik/icon_old_old.png} | Bin .../textures/dynos/ankylosaurus.png | Bin .../textures/dynos/pterodactyl.png | Bin .../textures/dynos/spinosaurus.png | Bin .../textures/dynos/trex.png | Bin .../textures/dynos/triceratops.png | Bin .../textures/dynos/velocirraptor.png | Bin .../textures/gui/preview-hud.png | Bin .../textures/gui/preview.png | Bin .../textures/misc/glint_black.png | Bin .../textures/misc/glint_black.png.mcmeta | 0 .../textures/misc/glint_blue.png | Bin .../textures/misc/glint_blue.png.mcmeta | 0 .../textures/misc/glint_brown.png | Bin .../textures/misc/glint_brown.png.mcmeta | 0 .../textures/misc/glint_cyan.png | Bin .../textures/misc/glint_cyan.png.mcmeta | 0 .../textures/misc/glint_gray.png | Bin .../textures/misc/glint_gray.png.mcmeta | 0 .../textures/misc/glint_green.png | Bin .../textures/misc/glint_green.png.mcmeta | 0 .../textures/misc/glint_light.png | Bin .../textures/misc/glint_light.png.mcmeta | 0 .../textures/misc/glint_light_blue.png | Bin .../textures/misc/glint_light_blue.png.mcmeta | 0 .../textures/misc/glint_light_gray.png | Bin .../textures/misc/glint_light_gray.png.mcmeta | 0 .../textures/misc/glint_lime.png | Bin .../textures/misc/glint_lime.png.mcmeta | 0 .../textures/misc/glint_magenta.png | Bin .../textures/misc/glint_magenta.png.mcmeta | 0 .../textures/misc/glint_none.png | Bin .../textures/misc/glint_none.png.mcmeta | 0 .../textures/misc/glint_orange.png | Bin .../textures/misc/glint_orange.png.mcmeta | 0 .../textures/misc/glint_pink.png | Bin .../textures/misc/glint_pink.png.mcmeta | 0 .../textures/misc/glint_purple.png | Bin .../textures/misc/glint_purple.png.mcmeta | 0 .../textures/misc/glint_rainbow.png | Bin .../textures/misc/glint_rainbow.png.mcmeta | 0 .../textures/misc/glint_red.png | Bin .../textures/misc/glint_red.png.mcmeta | 0 .../textures/misc/glint_white.png | Bin .../textures/misc/glint_white.png.mcmeta | 0 .../textures/misc/glint_yellow.png | Bin .../textures/misc/glint_yellow.png.mcmeta | 0 src/main/resources/fabric.mod.json | 14 ++-- ...ks.accesswidener => sputnik.accesswidener} | 0 ...tweaks.mixins.json => sputnik.mixins.json} | 3 +- 305 files changed, 1350 insertions(+), 1352 deletions(-) delete mode 100644 src.zip delete mode 100644 src/main/java/me/retucio/camtweaks/event/events/ChunkOcclusionEvent.java delete mode 100644 src/main/java/me/retucio/camtweaks/event/events/ShutdownEvent.java delete mode 100644 src/main/java/me/retucio/camtweaks/event/events/TickEvent.java rename src/main/java/me/retucio/{camtweaks/CameraTweaks.java => sputnik/Sputnik.java} (76%) rename src/main/java/me/retucio/{camtweaks => sputnik}/command/Command.java (95%) rename src/main/java/me/retucio/{camtweaks => sputnik}/command/CommandManager.java (90%) rename src/main/java/me/retucio/{camtweaks => sputnik}/command/args/EntityArgumentType.java (97%) rename src/main/java/me/retucio/{camtweaks => sputnik}/command/args/ModuleArgumentType.java (93%) rename src/main/java/me/retucio/{camtweaks => sputnik}/command/args/PlayerArgumentType.java (95%) rename src/main/java/me/retucio/{camtweaks => sputnik}/command/commands/BindCommand.java (85%) rename src/main/java/me/retucio/{camtweaks => sputnik}/command/commands/CopyScreenshotCommand.java (78%) rename src/main/java/me/retucio/{camtweaks => sputnik}/command/commands/EnderChestCommand.java (75%) rename src/main/java/me/retucio/{camtweaks => sputnik}/command/commands/GarbageCleanerCommand.java (81%) rename src/main/java/me/retucio/{camtweaks => sputnik}/command/commands/PeekCommand.java (81%) rename src/main/java/me/retucio/{camtweaks => sputnik}/command/commands/PrefixCommand.java (81%) rename src/main/java/me/retucio/{camtweaks => sputnik}/command/commands/PurgeCommand.java (89%) rename src/main/java/me/retucio/{camtweaks => sputnik}/command/commands/SaveScreenshotCommand.java (80%) rename src/main/java/me/retucio/{camtweaks => sputnik}/command/commands/SendCommand.java (91%) rename src/main/java/me/retucio/{camtweaks => sputnik}/command/commands/SpectateCommand.java (82%) rename src/main/java/me/retucio/{camtweaks => sputnik}/command/commands/ToggleCommand.java (90%) rename src/main/java/me/retucio/{camtweaks => sputnik}/config/ClientConfig.java (92%) rename src/main/java/me/retucio/{camtweaks => sputnik}/config/ConfigManager.java (80%) rename src/main/java/me/retucio/{camtweaks => sputnik}/event/Event.java (86%) rename src/main/java/me/retucio/{camtweaks => sputnik}/event/EventBus.java (98%) rename src/main/java/me/retucio/{camtweaks => sputnik}/event/JoinWorldEvent.java (62%) rename src/main/java/me/retucio/{camtweaks => sputnik}/event/Stage.java (74%) rename src/main/java/me/retucio/{camtweaks => sputnik}/event/SubscribeEvent.java (85%) rename src/main/java/me/retucio/{camtweaks => sputnik}/event/events/AddEntityEvent.java (64%) rename src/main/java/me/retucio/{camtweaks => sputnik}/event/events/AttackEntityEvent.java (61%) rename src/main/java/me/retucio/{camtweaks => sputnik}/event/events/BreakBlockEvent.java (66%) rename src/main/java/me/retucio/{camtweaks => sputnik}/event/events/ChangeRotationEvent.java (64%) create mode 100644 src/main/java/me/retucio/sputnik/event/events/ChunkOcclusionEvent.java rename src/main/java/me/retucio/{camtweaks => sputnik}/event/events/ClientClickEvent.java (83%) rename src/main/java/me/retucio/{camtweaks => sputnik}/event/events/ClipAtLedgeEvent.java (79%) rename src/main/java/me/retucio/{camtweaks => sputnik}/event/events/DamageItemEvent.java (73%) rename src/main/java/me/retucio/{camtweaks => sputnik}/event/events/DisconnectEvent.java (76%) rename src/main/java/me/retucio/{camtweaks => sputnik}/event/events/GetFOVEvent.java (64%) rename src/main/java/me/retucio/{camtweaks => sputnik}/event/events/InteractEntityEvent.java (74%) rename src/main/java/me/retucio/{camtweaks => sputnik}/event/events/KeyEvent.java (74%) rename src/main/java/me/retucio/{camtweaks => sputnik}/event/events/MouseClickEvent.java (69%) rename src/main/java/me/retucio/{camtweaks => sputnik}/event/events/MouseScrollEvent.java (79%) rename src/main/java/me/retucio/{camtweaks => sputnik}/event/events/OpenScreenEvent.java (64%) rename src/main/java/me/retucio/{camtweaks => sputnik}/event/events/PacketEvent.java (61%) rename src/main/java/me/retucio/{camtweaks => sputnik}/event/events/PerspectiveChangeEvent.java (74%) rename src/main/java/me/retucio/{camtweaks => sputnik}/event/events/PlaceBlockEvent.java (78%) rename src/main/java/me/retucio/{camtweaks => sputnik}/event/events/ReceiveMessageEvent.java (85%) rename src/main/java/me/retucio/{camtweaks => sputnik}/event/events/RemoveEntityEvent.java (64%) rename src/main/java/me/retucio/{camtweaks => sputnik}/event/events/RenderArmEvent.java (80%) rename src/main/java/me/retucio/{camtweaks => sputnik}/event/events/RenderBossbarEvent.java (83%) rename src/main/java/me/retucio/{camtweaks => sputnik}/event/events/RenderHeldItemEvent.java (80%) rename src/main/java/me/retucio/{camtweaks => sputnik}/event/events/RenderWorldEvent.java (83%) rename src/main/java/me/retucio/{camtweaks => sputnik}/event/events/SendMessageEvent.java (66%) create mode 100644 src/main/java/me/retucio/sputnik/event/events/ShutdownEvent.java create mode 100644 src/main/java/me/retucio/sputnik/event/events/TickEvent.java rename src/main/java/me/retucio/{camtweaks => sputnik}/event/events/UseItemEvent.java (78%) rename src/main/java/me/retucio/{camtweaks/event/events/camtweaks => sputnik/event/events/sputnik}/GUISettingsFrameEvent.java (74%) rename src/main/java/me/retucio/{camtweaks/event/events/camtweaks => sputnik/event/events/sputnik}/LoadClickGUIEvent.java (50%) rename src/main/java/me/retucio/{camtweaks/event/events/camtweaks => sputnik/event/events/sputnik}/LoadCommandManagerEvent.java (52%) create mode 100644 src/main/java/me/retucio/sputnik/event/events/sputnik/LoadConfigEvent.java rename src/main/java/me/retucio/{camtweaks/event/events/camtweaks => sputnik/event/events/sputnik}/LoadModuleManagerEvent.java (52%) rename src/main/java/me/retucio/{camtweaks/event/events/camtweaks => sputnik/event/events/sputnik}/ModuleFrameEvent.java (72%) rename src/main/java/me/retucio/{camtweaks/event/events/camtweaks => sputnik/event/events/sputnik}/SettingsFrameEvent.java (84%) rename src/main/java/me/retucio/{camtweaks/event/events/camtweaks => sputnik/event/events/sputnik}/ToggleModuleEvent.java (67%) rename src/main/java/me/retucio/{camtweaks/event/events/camtweaks => sputnik/event/events/sputnik}/UpdateSettingEvent.java (78%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/BossBarHudMixin.java (91%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/BufferStorageMixin.java (89%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/CameraMixin.java (92%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/ChatHudLineMixin.java (90%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/ChatHudLineVisibleMixin.java (92%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/ChatHudMixin.java (93%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/ChatInputSuggestorMixin.java (94%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/ChatScreenMixin.java (85%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/ChunkBorderDebugRendererMixin.java (90%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/ChunkOcclusionDataBuilderMixin.java (81%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/ClientCommonNetworkHandlerMixin.java (89%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/ClientConnectionMixin.java (87%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/ClientPlayNetworkHandlerMixin.java (86%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/ClientPlayerEntityMixin.java (87%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/ClientPlayerInteractionManagerMixin.java (84%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/ClientWorldMixin.java (82%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/ClientWorldPropertiesMixin.java (83%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/ConfirmScreenMixin.java (87%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/DamageParticleMixin.java (88%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/DisconnectedScreenMixin.java (89%) create mode 100644 src/main/java/me/retucio/sputnik/mixin/EmitterParticleMixin.java rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/EntityMixin.java (91%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/EquipmentRendererMixin.java (87%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/FogRendererMixin.java (95%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/GameOptionsMixin.java (77%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/GameRendererMixin.java (91%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/HandshakeC2SPacketMixin.java (88%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/HeldItemRendererMixin.java (93%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/InGameHudMixin.java (91%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/InGameOverlayRendererMixin.java (91%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/ItemEntityMixin.java (89%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/ItemMixin.java (92%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/ItemRendererMixin.java (89%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/ItemStackMixin.java (84%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/KeyInputMixin.java (86%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/KeyboardMixin.java (70%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/LightmapTextureManagerMixin.java (92%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/LivingEntityMixin.java (88%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/LivingEntityRendererMixin.java (92%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/MessageHandlerMixin.java (95%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/MinecraftClientMixin.java (82%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/MouseMixin.java (79%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/OverlayTextureMixin.java (83%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/ParticleManagerMixin.java (87%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/PlayerEntityMixin.java (88%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/ResourcePackPolicyMixin.java (91%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/ScreenMixin.java (84%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/ScreenshotRecorderMixin.java (91%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/ServerConnectorMixin.java (86%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/ServerInfoMixin.java (93%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/SkyRendererMixin.java (92%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/StatusEffectFogModifierMixin.java (88%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/StringHelperMixin.java (82%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/StuckArrowsFeatureRendererMixin.java (81%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/TelemetryManagerMixin.java (94%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/TextRendererDrawerMixin.java (94%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/TextRendererMixin.java (81%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/Vec3dMixin.java (89%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/WeatherRenderingMixin.java (92%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/WorldRendererMixin.java (86%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/YggdrasilUserApiServiceMixin.java (95%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/accessor/AbstractSignEditScreenAccessor.java (89%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/accessor/AnvilScreenAccessor.java (90%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/accessor/ClientPlayNetworkHandlerAccessor.java (92%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/accessor/ConfirmServerResourcePackScreenAccessor.java (91%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/accessor/HandledScreenAccessor.java (90%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/accessor/KeyBindingAccessor.java (76%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/accessor/OverlayTextureAccessor.java (90%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/accessor/PackAccessor.java (87%) rename src/main/java/me/retucio/{camtweaks => sputnik}/mixin/accessor/StatusEffectInstanceAccessor.java (86%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/Category.java (89%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/Module.java (83%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/ModuleManager.java (84%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/modules/camera/Freecam.java (93%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/modules/camera/Freelook.java (90%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/modules/camera/Fullbright.java (85%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/modules/camera/PerspectivePlus.java (81%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/modules/camera/Rotations.java (80%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/modules/camera/Zoom.java (86%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/modules/client/GUI.java (76%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/modules/client/HUD.java (87%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/modules/misc/AntiInvis.java (54%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/modules/misc/AnvilFont.java (95%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/modules/misc/BossbarStack.java (85%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/modules/misc/ChatPlus.java (88%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/modules/misc/FakePlayer.java (89%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/modules/misc/ScreenshotPlus.java (94%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/modules/misc/ShulkerPeek.java (87%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/modules/network/BungeecordSpoofer.java (73%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/modules/network/LogoutSpots.java (93%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/modules/network/PacketDelay.java (90%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/modules/network/RPackBypass.java (58%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/modules/network/Reconnect.java (77%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/modules/player/AttributeSwapper.java (78%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/modules/player/ElytraBounce.java (93%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/modules/player/FastUse.java (82%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/modules/player/HandView.java (93%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/modules/player/Headhitters.java (70%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/modules/player/InventoryPlus.java (81%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/modules/player/Offhand.java (90%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/modules/player/PortalGUI.java (57%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/modules/player/SafeWalk.java (85%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/modules/player/UIMove.java (87%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/modules/player/WarnLowDurability.java (89%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/modules/render/BlockESP.java (82%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/modules/render/BlockOutline.java (60%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/modules/render/BreakingProgress.java (85%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/modules/render/CritsPlus.java (63%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/modules/render/DamageOverlay.java (86%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/modules/render/GlintPlus.java (84%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/modules/render/Nametags.java (92%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/modules/render/NoRender.java (80%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/modules/world/AutoSign.java (80%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/modules/world/ColoredSigns.java (71%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/modules/world/LightOverlay.java (91%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/modules/world/NoMiningInterruptions.java (77%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/modules/world/Racist.java (88%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/modules/world/TimeChanger.java (84%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/settings/BooleanSetting.java (96%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/settings/ColorSetting.java (98%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/settings/EnumSetting.java (97%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/settings/KeySetting.java (85%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/settings/ListSetting.java (98%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/settings/NumberSetting.java (98%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/settings/OptionSetting.java (97%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/settings/Setting.java (77%) rename src/main/java/me/retucio/{camtweaks => sputnik}/module/settings/StringSetting.java (96%) rename src/main/java/me/retucio/{camtweaks => sputnik}/ui/hud/HudEditorScreen.java (96%) rename src/main/java/me/retucio/{camtweaks => sputnik}/ui/hud/HudElement.java (86%) rename src/main/java/me/retucio/{camtweaks => sputnik}/ui/hud/HudRenderer.java (94%) rename src/main/java/me/retucio/{camtweaks => sputnik}/ui/hud/ImageHudElement.java (87%) rename src/main/java/me/retucio/{camtweaks => sputnik}/ui/hud/TextHudElement.java (93%) rename src/main/java/me/retucio/{camtweaks => sputnik}/ui/hud/elements/CoordsElement.java (79%) rename src/main/java/me/retucio/{camtweaks => sputnik}/ui/hud/elements/CustomTextElement.java (78%) rename src/main/java/me/retucio/{camtweaks => sputnik}/ui/hud/elements/DynoElement.java (82%) rename src/main/java/me/retucio/{camtweaks => sputnik}/ui/hud/elements/EchestElement.java (93%) rename src/main/java/me/retucio/{camtweaks => sputnik}/ui/hud/elements/FpsElement.java (78%) rename src/main/java/me/retucio/{camtweaks => sputnik}/ui/hud/elements/PingElement.java (82%) rename src/main/java/me/retucio/{camtweaks => sputnik}/ui/hud/elements/TimeElement.java (73%) rename src/main/java/me/retucio/{camtweaks => sputnik}/ui/hud/elements/TotemsElement.java (92%) rename src/main/java/me/retucio/{camtweaks => sputnik}/ui/hud/elements/TpsElement.java (72%) rename src/main/java/me/retucio/{camtweaks => sputnik}/ui/screen/ClickGUI.java (87%) rename src/main/java/me/retucio/{camtweaks => sputnik}/ui/screen/PreviewScreen.java (91%) rename src/main/java/me/retucio/{camtweaks => sputnik}/ui/widgets/Button.java (86%) rename src/main/java/me/retucio/{camtweaks => sputnik}/ui/widgets/Frame.java (97%) rename src/main/java/me/retucio/{camtweaks => sputnik}/ui/widgets/Widget.java (93%) rename src/main/java/me/retucio/{camtweaks => sputnik}/ui/widgets/buttons/ModuleButton.java (91%) rename src/main/java/me/retucio/{camtweaks => sputnik}/ui/widgets/buttons/SettingButton.java (79%) rename src/main/java/me/retucio/{camtweaks => sputnik}/ui/widgets/buttons/settings/BindButton.java (84%) rename src/main/java/me/retucio/{camtweaks => sputnik}/ui/widgets/buttons/settings/ChooseButton.java (88%) rename src/main/java/me/retucio/{camtweaks => sputnik}/ui/widgets/buttons/settings/ColorButton.java (86%) rename src/main/java/me/retucio/{camtweaks => sputnik}/ui/widgets/buttons/settings/CycleButton.java (88%) rename src/main/java/me/retucio/{camtweaks => sputnik}/ui/widgets/buttons/settings/ListButton.java (88%) rename src/main/java/me/retucio/{camtweaks => sputnik}/ui/widgets/buttons/settings/SliderButton.java (86%) rename src/main/java/me/retucio/{camtweaks => sputnik}/ui/widgets/buttons/settings/TextButton.java (88%) rename src/main/java/me/retucio/{camtweaks => sputnik}/ui/widgets/buttons/settings/ToggleButton.java (78%) rename src/main/java/me/retucio/{camtweaks => sputnik}/ui/widgets/frames/ModuleFrame.java (89%) rename src/main/java/me/retucio/{camtweaks => sputnik}/ui/widgets/frames/SettingsFrame.java (93%) rename src/main/java/me/retucio/{camtweaks => sputnik}/ui/widgets/frames/settings/ClientSettingsFrame.java (82%) rename src/main/java/me/retucio/{camtweaks => sputnik}/ui/widgets/frames/settings/ColorPickerFrame.java (96%) rename src/main/java/me/retucio/{camtweaks => sputnik}/ui/widgets/misc/ScrollBarWidget.java (93%) rename src/main/java/me/retucio/{camtweaks => sputnik}/ui/widgets/misc/SearchBarWidget.java (94%) rename src/main/java/me/retucio/{camtweaks => sputnik}/util/ChatUtil.java (88%) rename src/main/java/me/retucio/{camtweaks => sputnik}/util/Colors.java (97%) rename src/main/java/me/retucio/{camtweaks => sputnik}/util/EntityUtil.java (97%) rename src/main/java/me/retucio/{camtweaks => sputnik}/util/InventoryUtil.java (96%) rename src/main/java/me/retucio/{camtweaks => sputnik}/util/KeyUtil.java (94%) rename src/main/java/me/retucio/{camtweaks => sputnik}/util/Lists.java (87%) rename src/main/java/me/retucio/{camtweaks => sputnik}/util/MiscUtil.java (86%) rename src/main/java/me/retucio/{camtweaks => sputnik}/util/NetworkUtil.java (94%) rename src/main/java/me/retucio/{camtweaks => sputnik}/util/interfaces/IChatHud.java (83%) rename src/main/java/me/retucio/{camtweaks => sputnik}/util/interfaces/IChatHudLine.java (84%) rename src/main/java/me/retucio/{camtweaks => sputnik}/util/interfaces/IChatHudLineVisible.java (76%) rename src/main/java/me/retucio/{camtweaks => sputnik}/util/interfaces/IConfirmScreen.java (65%) rename src/main/java/me/retucio/{camtweaks => sputnik}/util/interfaces/IMessageHandler.java (71%) rename src/main/java/me/retucio/{camtweaks => sputnik}/util/interfaces/IVec3d.java (89%) rename src/main/java/me/retucio/{camtweaks => sputnik}/util/interfaces/TextVisitor.java (97%) rename src/main/java/me/retucio/{camtweaks => sputnik}/util/render/DrawUtil.java (97%) rename src/main/java/me/retucio/{camtweaks => sputnik}/util/render/GlintRenderLayer.java (85%) rename src/main/java/me/retucio/{camtweaks => sputnik}/util/render/Layers.java (50%) rename src/main/java/me/retucio/{camtweaks => sputnik}/util/render/Pipelines.java (82%) rename src/main/java/me/retucio/{camtweaks => sputnik}/util/render/RenderUtil.java (99%) create mode 100644 src/main/resources/assets/sputnik/icon.png rename src/main/resources/assets/{camtweaks => sputnik}/icon_chat.png (100%) rename src/main/resources/assets/{camtweaks => sputnik}/icon_mc.png (100%) rename src/main/resources/assets/{camtweaks/icon.png => sputnik/icon_old.png} (100%) rename src/main/resources/assets/{camtweaks/icon_old.png => sputnik/icon_old_old.png} (100%) rename src/main/resources/assets/{camtweaks => sputnik}/textures/dynos/ankylosaurus.png (100%) rename src/main/resources/assets/{camtweaks => sputnik}/textures/dynos/pterodactyl.png (100%) rename src/main/resources/assets/{camtweaks => sputnik}/textures/dynos/spinosaurus.png (100%) rename src/main/resources/assets/{camtweaks => sputnik}/textures/dynos/trex.png (100%) rename src/main/resources/assets/{camtweaks => sputnik}/textures/dynos/triceratops.png (100%) rename src/main/resources/assets/{camtweaks => sputnik}/textures/dynos/velocirraptor.png (100%) rename src/main/resources/assets/{camtweaks => sputnik}/textures/gui/preview-hud.png (100%) rename src/main/resources/assets/{camtweaks => sputnik}/textures/gui/preview.png (100%) rename src/main/resources/assets/{camtweaks => sputnik}/textures/misc/glint_black.png (100%) rename src/main/resources/assets/{camtweaks => sputnik}/textures/misc/glint_black.png.mcmeta (100%) rename src/main/resources/assets/{camtweaks => sputnik}/textures/misc/glint_blue.png (100%) rename src/main/resources/assets/{camtweaks => sputnik}/textures/misc/glint_blue.png.mcmeta (100%) rename src/main/resources/assets/{camtweaks => sputnik}/textures/misc/glint_brown.png (100%) rename src/main/resources/assets/{camtweaks => sputnik}/textures/misc/glint_brown.png.mcmeta (100%) rename src/main/resources/assets/{camtweaks => sputnik}/textures/misc/glint_cyan.png (100%) rename src/main/resources/assets/{camtweaks => sputnik}/textures/misc/glint_cyan.png.mcmeta (100%) rename src/main/resources/assets/{camtweaks => sputnik}/textures/misc/glint_gray.png (100%) rename src/main/resources/assets/{camtweaks => sputnik}/textures/misc/glint_gray.png.mcmeta (100%) rename src/main/resources/assets/{camtweaks => sputnik}/textures/misc/glint_green.png (100%) rename src/main/resources/assets/{camtweaks => sputnik}/textures/misc/glint_green.png.mcmeta (100%) rename src/main/resources/assets/{camtweaks => sputnik}/textures/misc/glint_light.png (100%) rename src/main/resources/assets/{camtweaks => sputnik}/textures/misc/glint_light.png.mcmeta (100%) rename src/main/resources/assets/{camtweaks => sputnik}/textures/misc/glint_light_blue.png (100%) rename src/main/resources/assets/{camtweaks => sputnik}/textures/misc/glint_light_blue.png.mcmeta (100%) rename src/main/resources/assets/{camtweaks => sputnik}/textures/misc/glint_light_gray.png (100%) rename src/main/resources/assets/{camtweaks => sputnik}/textures/misc/glint_light_gray.png.mcmeta (100%) rename src/main/resources/assets/{camtweaks => sputnik}/textures/misc/glint_lime.png (100%) rename src/main/resources/assets/{camtweaks => sputnik}/textures/misc/glint_lime.png.mcmeta (100%) rename src/main/resources/assets/{camtweaks => sputnik}/textures/misc/glint_magenta.png (100%) rename src/main/resources/assets/{camtweaks => sputnik}/textures/misc/glint_magenta.png.mcmeta (100%) rename src/main/resources/assets/{camtweaks => sputnik}/textures/misc/glint_none.png (100%) rename src/main/resources/assets/{camtweaks => sputnik}/textures/misc/glint_none.png.mcmeta (100%) rename src/main/resources/assets/{camtweaks => sputnik}/textures/misc/glint_orange.png (100%) rename src/main/resources/assets/{camtweaks => sputnik}/textures/misc/glint_orange.png.mcmeta (100%) rename src/main/resources/assets/{camtweaks => sputnik}/textures/misc/glint_pink.png (100%) rename src/main/resources/assets/{camtweaks => sputnik}/textures/misc/glint_pink.png.mcmeta (100%) rename src/main/resources/assets/{camtweaks => sputnik}/textures/misc/glint_purple.png (100%) rename src/main/resources/assets/{camtweaks => sputnik}/textures/misc/glint_purple.png.mcmeta (100%) rename src/main/resources/assets/{camtweaks => sputnik}/textures/misc/glint_rainbow.png (100%) rename src/main/resources/assets/{camtweaks => sputnik}/textures/misc/glint_rainbow.png.mcmeta (100%) rename src/main/resources/assets/{camtweaks => sputnik}/textures/misc/glint_red.png (100%) rename src/main/resources/assets/{camtweaks => sputnik}/textures/misc/glint_red.png.mcmeta (100%) rename src/main/resources/assets/{camtweaks => sputnik}/textures/misc/glint_white.png (100%) rename src/main/resources/assets/{camtweaks => sputnik}/textures/misc/glint_white.png.mcmeta (100%) rename src/main/resources/assets/{camtweaks => sputnik}/textures/misc/glint_yellow.png (100%) rename src/main/resources/assets/{camtweaks => sputnik}/textures/misc/glint_yellow.png.mcmeta (100%) rename src/main/resources/{camtweaks.accesswidener => sputnik.accesswidener} (100%) rename src/main/resources/{camtweaks.mixins.json => sputnik.mixins.json} (97%) diff --git a/README.md b/README.md index 8d4e984..8671ff5 100644 --- a/README.md +++ b/README.md @@ -5,19 +5,19 @@ mod para Minecraft Fabric 1.21.10 que añade algunas cosas QOL, mayormente relac ## instalación ### para gente normal: -1. ir a [lanzamientos](https://github.com/retuci0/camera-tweaks/releases) +1. ir a [lanzamientos](https://github.com/retuci0/sputnik/releases) 2. selecionar la versión más reciente 3. descargar el .jar 4. moverlo a tu directorio de mods (probablemente `%appdata%/.minecraft/mods`) -asegúrate de tener una version de Minecraft y Fabric compatibles con el mod (MC `1.21.10`; Fabric `0.138.3`) +asegúrate de tener una version de Minecraft y Fabric compatibles con el mod (MC `1.21.11`; Fabric `0.17.3`) es posible que haya problemas al usarlo junto a otros mods, especialmente junto a otros clientes, pues pueden conflictar entre ellos. ### para frikis de 200 de iq -1. clona el respositorio (`git clone https://github.com/retuci0/camera-tweaks`) -2. entra al directorio del repositorio (`cd camera-tweaks`) +1. clona el respositorio (`git clone https://github.com/retuci0/sputnik`) +2. entra al directorio del repositorio (`cd sputnik`) 3. `gradlew build` para Windows o `chmod +x gradlew` + `./gradlew build` para Linux (Mac es Linux) -4. el resultado estará en `/build/libs/camtweaks-X.X.jar` (el que no lleva "sources" en el nombre) +4. el resultado estará en `/build/libs/sputnik-X.X.jar` (el que no lleva "sources" en el nombre) ## uso diff --git a/build.gradle b/build.gradle index 86e83cb..ac3b42f 100644 --- a/build.gradle +++ b/build.gradle @@ -29,7 +29,7 @@ dependencies { } loom { - accessWidenerPath = file("src/main/resources/camtweaks.accesswidener") + accessWidenerPath = file("src/main/resources/sputnik.accesswidener") } processResources { diff --git a/cambios.md b/cambios.md index 513dfc8..64f3481 100644 --- a/cambios.md +++ b/cambios.md @@ -1,25 +1,17 @@ -# v2.2 +# v2.3 ## novedades -- elementos del hud con imágenes +- renombrado el mod a sputnik porque esmegma o cameratweaks era un asco y sputnik ta to wapo ### adiciones -- elementos del hud de dinosaurios (autismaxxing), echest (items del echest) y totems (totems restantes en el inventario) - #### módulos nuevos: -- conejo: haz el elytra-bounce más fácilmente - ### arreglos / mejoras -- ya no te puedes mover con una interfaz abierta en modo cámara libre -- minar sin interrupción ya va -- destello de enchants ya funciona -- ahora no siempre se verá a traves de paredes al renderizar (ej.: superposición de luz) -- el renderizado de líneas ya se adapta bien a la posición de la cámara -- la superposición de daño ya funciona +- ahora tienes un múltiplo en críticos, es decir, un número por el que se multiplica la cantidad de partículas a generar +- ya no se guardan los ajustes mientras se cargan ## problemas reconocidos diff --git a/gradle.properties b/gradle.properties index 6b54ee3..f3f3366 100644 --- a/gradle.properties +++ b/gradle.properties @@ -8,6 +8,6 @@ loom_version=1.13-SNAPSHOT fabric_api_version=0.140.2+1.21.11 -mod_version=2.2 +mod_version=2.3 maven_group=me.retucio -archives_base_name=camtweaks \ No newline at end of file +archives_base_name=sputnik \ No newline at end of file diff --git a/src.zip b/src.zip deleted file mode 100644 index d746cadbc0f0874e58cd47b52a3fada95c84f5f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 216642 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Π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 z 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 { - ConfigManager.save(); EVENT_BUS.post(new ShutdownEvent()); })); } @@ -127,7 +115,7 @@ public class CameraTweaks implements ClientModInitializer { // se ejecuta cada vez que se presiona una tecla - public void onKeyPress(int key, int action) { + public void onKey(int key, int action) { if (key == GLFW.GLFW_KEY_F3) return; // prevenir activación de módulos al usar combinaciones de F3 ModuleManager.INSTANCE.getEnabledModules().forEach(module -> module.onKey(key, action)); @@ -173,7 +161,7 @@ public class CameraTweaks implements ClientModInitializer { // se ocupa de hacer los botones de ajustes que lo necesiten escuchar teclas private void handleSettingButtonsKey(int key, int action) { for (SettingsFrame sf : ClickGUI.INSTANCE.getSettingsFrames()) { - for (SettingButton sb : sf.getButtons()) { + for (SettingButton sb : sf.getButtons()) { if (sb instanceof BindButton bb) bb.onKey(key, action); if (sb instanceof TextButton tb) tb.onKey(key, action); } diff --git a/src/main/java/me/retucio/camtweaks/command/Command.java b/src/main/java/me/retucio/sputnik/command/Command.java similarity index 95% rename from src/main/java/me/retucio/camtweaks/command/Command.java rename to src/main/java/me/retucio/sputnik/command/Command.java index b560d53..4cb4248 100644 --- a/src/main/java/me/retucio/camtweaks/command/Command.java +++ b/src/main/java/me/retucio/sputnik/command/Command.java @@ -1,4 +1,4 @@ -package me.retucio.camtweaks.command; +package me.retucio.sputnik.command; import com.mojang.brigadier.CommandDispatcher; import com.mojang.brigadier.arguments.ArgumentType; @@ -65,7 +65,7 @@ public abstract class Command { } public String toString() { - return me.retucio.camtweaks.command.CommandManager.INSTANCE.getPrefix() + name; + return me.retucio.sputnik.command.CommandManager.INSTANCE.getPrefix() + name; } public String toString(String... args) { diff --git a/src/main/java/me/retucio/camtweaks/command/CommandManager.java b/src/main/java/me/retucio/sputnik/command/CommandManager.java similarity index 90% rename from src/main/java/me/retucio/camtweaks/command/CommandManager.java rename to src/main/java/me/retucio/sputnik/command/CommandManager.java index 7a60b14..5e38ecb 100644 --- a/src/main/java/me/retucio/camtweaks/command/CommandManager.java +++ b/src/main/java/me/retucio/sputnik/command/CommandManager.java @@ -1,11 +1,9 @@ -package me.retucio.camtweaks.command; +package me.retucio.sputnik.command; import com.mojang.brigadier.CommandDispatcher; import com.mojang.brigadier.exceptions.CommandSyntaxException; -import me.retucio.camtweaks.CameraTweaks; -import me.retucio.camtweaks.command.commands.*; -import me.retucio.camtweaks.event.SubscribeEvent; -import me.retucio.camtweaks.module.Module; +import me.retucio.sputnik.command.commands.*; +import me.retucio.sputnik.event.SubscribeEvent; import net.minecraft.client.MinecraftClient; import net.minecraft.command.CommandSource; @@ -49,7 +47,7 @@ public class CommandManager { for (Command command : commands) { for (Method method : command.getClass().getDeclaredMethods()) { if (method.isAnnotationPresent(SubscribeEvent.class)) { - CameraTweaks.EVENT_BUS.register(command); + me.retucio.sputnik.Sputnik.EVENT_BUS.register(command); break; } } diff --git a/src/main/java/me/retucio/camtweaks/command/args/EntityArgumentType.java b/src/main/java/me/retucio/sputnik/command/args/EntityArgumentType.java similarity index 97% rename from src/main/java/me/retucio/camtweaks/command/args/EntityArgumentType.java rename to src/main/java/me/retucio/sputnik/command/args/EntityArgumentType.java index dbacea3..8ff83f2 100644 --- a/src/main/java/me/retucio/camtweaks/command/args/EntityArgumentType.java +++ b/src/main/java/me/retucio/sputnik/command/args/EntityArgumentType.java @@ -1,4 +1,4 @@ -package me.retucio.camtweaks.command.args; +package me.retucio.sputnik.command.args; import com.mojang.brigadier.StringReader; import com.mojang.brigadier.arguments.ArgumentType; @@ -8,18 +8,17 @@ import com.mojang.brigadier.exceptions.DynamicCommandExceptionType; import com.mojang.brigadier.suggestion.Suggestions; import com.mojang.brigadier.suggestion.SuggestionsBuilder; -import me.retucio.camtweaks.util.EntityUtil; +import me.retucio.sputnik.util.EntityUtil; import net.minecraft.entity.Entity; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.text.Text; -import javax.swing.*; import java.util.*; import java.util.concurrent.CompletableFuture; import java.util.regex.Pattern; // para autocompletar entidades -import static me.retucio.camtweaks.CameraTweaks.mc; +import static me.retucio.sputnik.Sputnik.mc; public class EntityArgumentType implements ArgumentType { diff --git a/src/main/java/me/retucio/camtweaks/command/args/ModuleArgumentType.java b/src/main/java/me/retucio/sputnik/command/args/ModuleArgumentType.java similarity index 93% rename from src/main/java/me/retucio/camtweaks/command/args/ModuleArgumentType.java rename to src/main/java/me/retucio/sputnik/command/args/ModuleArgumentType.java index 06ae578..6e45bca 100644 --- a/src/main/java/me/retucio/camtweaks/command/args/ModuleArgumentType.java +++ b/src/main/java/me/retucio/sputnik/command/args/ModuleArgumentType.java @@ -1,4 +1,4 @@ -package me.retucio.camtweaks.command.args; +package me.retucio.sputnik.command.args; import com.mojang.brigadier.StringReader; import com.mojang.brigadier.arguments.ArgumentType; @@ -7,8 +7,8 @@ import com.mojang.brigadier.exceptions.CommandSyntaxException; import com.mojang.brigadier.exceptions.DynamicCommandExceptionType; import com.mojang.brigadier.suggestion.Suggestions; import com.mojang.brigadier.suggestion.SuggestionsBuilder; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.module.ModuleManager; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.module.ModuleManager; import net.minecraft.command.CommandSource; import net.minecraft.text.Text; diff --git a/src/main/java/me/retucio/camtweaks/command/args/PlayerArgumentType.java b/src/main/java/me/retucio/sputnik/command/args/PlayerArgumentType.java similarity index 95% rename from src/main/java/me/retucio/camtweaks/command/args/PlayerArgumentType.java rename to src/main/java/me/retucio/sputnik/command/args/PlayerArgumentType.java index 3bb5222..be26538 100644 --- a/src/main/java/me/retucio/camtweaks/command/args/PlayerArgumentType.java +++ b/src/main/java/me/retucio/sputnik/command/args/PlayerArgumentType.java @@ -1,4 +1,4 @@ -package me.retucio.camtweaks.command.args; +package me.retucio.sputnik.command.args; import com.mojang.brigadier.StringReader; import com.mojang.brigadier.arguments.ArgumentType; @@ -15,7 +15,7 @@ import java.util.Collection; import java.util.List; import java.util.concurrent.CompletableFuture; -import static me.retucio.camtweaks.CameraTweaks.mc; +import static me.retucio.sputnik.Sputnik.mc; // para autocompletar nombres de jugadores public class PlayerArgumentType implements ArgumentType { diff --git a/src/main/java/me/retucio/camtweaks/command/commands/BindCommand.java b/src/main/java/me/retucio/sputnik/command/commands/BindCommand.java similarity index 85% rename from src/main/java/me/retucio/camtweaks/command/commands/BindCommand.java rename to src/main/java/me/retucio/sputnik/command/commands/BindCommand.java index 73f9a5e..25819f0 100644 --- a/src/main/java/me/retucio/camtweaks/command/commands/BindCommand.java +++ b/src/main/java/me/retucio/sputnik/command/commands/BindCommand.java @@ -1,12 +1,12 @@ -package me.retucio.camtweaks.command.commands; +package me.retucio.sputnik.command.commands; import com.mojang.brigadier.builder.LiteralArgumentBuilder; -import me.retucio.camtweaks.command.Command; -import me.retucio.camtweaks.command.args.ModuleArgumentType; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.module.settings.KeySetting; -import me.retucio.camtweaks.util.ChatUtil; -import me.retucio.camtweaks.util.KeyUtil; +import me.retucio.sputnik.command.Command; +import me.retucio.sputnik.command.args.ModuleArgumentType; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.module.settings.KeySetting; +import me.retucio.sputnik.util.ChatUtil; +import me.retucio.sputnik.util.KeyUtil; import net.minecraft.command.CommandSource; import net.minecraft.text.Text; import net.minecraft.util.Formatting; diff --git a/src/main/java/me/retucio/camtweaks/command/commands/CopyScreenshotCommand.java b/src/main/java/me/retucio/sputnik/command/commands/CopyScreenshotCommand.java similarity index 78% rename from src/main/java/me/retucio/camtweaks/command/commands/CopyScreenshotCommand.java rename to src/main/java/me/retucio/sputnik/command/commands/CopyScreenshotCommand.java index 5f8b7db..cb91fdc 100644 --- a/src/main/java/me/retucio/camtweaks/command/commands/CopyScreenshotCommand.java +++ b/src/main/java/me/retucio/sputnik/command/commands/CopyScreenshotCommand.java @@ -1,9 +1,9 @@ -package me.retucio.camtweaks.command.commands; +package me.retucio.sputnik.command.commands; import com.mojang.brigadier.builder.LiteralArgumentBuilder; -import me.retucio.camtweaks.command.Command; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.misc.ScreenshotPlus; +import me.retucio.sputnik.command.Command; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.misc.ScreenshotPlus; import net.minecraft.command.CommandSource; // se usa principalmente para el módulo ScreenshotPlus, pero también se puede usar sin él supongo diff --git a/src/main/java/me/retucio/camtweaks/command/commands/EnderChestCommand.java b/src/main/java/me/retucio/sputnik/command/commands/EnderChestCommand.java similarity index 75% rename from src/main/java/me/retucio/camtweaks/command/commands/EnderChestCommand.java rename to src/main/java/me/retucio/sputnik/command/commands/EnderChestCommand.java index 3379c92..64c5bee 100644 --- a/src/main/java/me/retucio/camtweaks/command/commands/EnderChestCommand.java +++ b/src/main/java/me/retucio/sputnik/command/commands/EnderChestCommand.java @@ -1,13 +1,12 @@ -package me.retucio.camtweaks.command.commands; +package me.retucio.sputnik.command.commands; import com.mojang.brigadier.builder.LiteralArgumentBuilder; -import me.retucio.camtweaks.CameraTweaks; -import me.retucio.camtweaks.command.Command; -import me.retucio.camtweaks.event.SubscribeEvent; -import me.retucio.camtweaks.event.events.TickEvent; -import me.retucio.camtweaks.ui.screen.PreviewScreen; -import me.retucio.camtweaks.util.ChatUtil; -import me.retucio.camtweaks.util.InventoryUtil; +import me.retucio.sputnik.command.Command; +import me.retucio.sputnik.event.SubscribeEvent; +import me.retucio.sputnik.event.events.TickEvent; +import me.retucio.sputnik.ui.screen.PreviewScreen; +import me.retucio.sputnik.util.ChatUtil; +import me.retucio.sputnik.util.InventoryUtil; import net.minecraft.command.CommandSource; // accede a los contenidos de tu enderchest diff --git a/src/main/java/me/retucio/camtweaks/command/commands/GarbageCleanerCommand.java b/src/main/java/me/retucio/sputnik/command/commands/GarbageCleanerCommand.java similarity index 81% rename from src/main/java/me/retucio/camtweaks/command/commands/GarbageCleanerCommand.java rename to src/main/java/me/retucio/sputnik/command/commands/GarbageCleanerCommand.java index 4fcf5b0..9e73081 100644 --- a/src/main/java/me/retucio/camtweaks/command/commands/GarbageCleanerCommand.java +++ b/src/main/java/me/retucio/sputnik/command/commands/GarbageCleanerCommand.java @@ -1,8 +1,8 @@ -package me.retucio.camtweaks.command.commands; +package me.retucio.sputnik.command.commands; import com.mojang.brigadier.builder.LiteralArgumentBuilder; -import me.retucio.camtweaks.command.Command; -import me.retucio.camtweaks.util.ChatUtil; +import me.retucio.sputnik.command.Command; +import me.retucio.sputnik.util.ChatUtil; import net.minecraft.command.CommandSource; import net.minecraft.text.Text; diff --git a/src/main/java/me/retucio/camtweaks/command/commands/PeekCommand.java b/src/main/java/me/retucio/sputnik/command/commands/PeekCommand.java similarity index 81% rename from src/main/java/me/retucio/camtweaks/command/commands/PeekCommand.java rename to src/main/java/me/retucio/sputnik/command/commands/PeekCommand.java index 3b8403f..e717daf 100644 --- a/src/main/java/me/retucio/camtweaks/command/commands/PeekCommand.java +++ b/src/main/java/me/retucio/sputnik/command/commands/PeekCommand.java @@ -1,9 +1,9 @@ -package me.retucio.camtweaks.command.commands; +package me.retucio.sputnik.command.commands; import com.mojang.brigadier.builder.LiteralArgumentBuilder; -import me.retucio.camtweaks.command.Command; -import me.retucio.camtweaks.command.args.PlayerArgumentType; -import me.retucio.camtweaks.util.MiscUtil; +import me.retucio.sputnik.command.Command; +import me.retucio.sputnik.command.args.PlayerArgumentType; +import me.retucio.sputnik.util.MiscUtil; import net.minecraft.client.gui.screen.ingame.InventoryScreen; import net.minecraft.command.CommandSource; diff --git a/src/main/java/me/retucio/camtweaks/command/commands/PrefixCommand.java b/src/main/java/me/retucio/sputnik/command/commands/PrefixCommand.java similarity index 81% rename from src/main/java/me/retucio/camtweaks/command/commands/PrefixCommand.java rename to src/main/java/me/retucio/sputnik/command/commands/PrefixCommand.java index 45bfe80..b010828 100644 --- a/src/main/java/me/retucio/camtweaks/command/commands/PrefixCommand.java +++ b/src/main/java/me/retucio/sputnik/command/commands/PrefixCommand.java @@ -1,10 +1,10 @@ -package me.retucio.camtweaks.command.commands; +package me.retucio.sputnik.command.commands; import com.mojang.brigadier.arguments.StringArgumentType; import com.mojang.brigadier.builder.LiteralArgumentBuilder; -import me.retucio.camtweaks.command.Command; -import me.retucio.camtweaks.ui.widgets.frames.settings.ClientSettingsFrame; -import me.retucio.camtweaks.util.ChatUtil; +import me.retucio.sputnik.command.Command; +import me.retucio.sputnik.ui.widgets.frames.settings.ClientSettingsFrame; +import me.retucio.sputnik.util.ChatUtil; import net.minecraft.command.CommandSource; import net.minecraft.text.Text; import net.minecraft.util.Formatting; diff --git a/src/main/java/me/retucio/camtweaks/command/commands/PurgeCommand.java b/src/main/java/me/retucio/sputnik/command/commands/PurgeCommand.java similarity index 89% rename from src/main/java/me/retucio/camtweaks/command/commands/PurgeCommand.java rename to src/main/java/me/retucio/sputnik/command/commands/PurgeCommand.java index b2f0d78..b5cae1d 100644 --- a/src/main/java/me/retucio/camtweaks/command/commands/PurgeCommand.java +++ b/src/main/java/me/retucio/sputnik/command/commands/PurgeCommand.java @@ -1,9 +1,9 @@ -package me.retucio.camtweaks.command.commands; +package me.retucio.sputnik.command.commands; import com.mojang.brigadier.arguments.IntegerArgumentType; import com.mojang.brigadier.builder.LiteralArgumentBuilder; -import me.retucio.camtweaks.command.Command; -import me.retucio.camtweaks.util.interfaces.IChatHud; +import me.retucio.sputnik.command.Command; +import me.retucio.sputnik.util.interfaces.IChatHud; import net.minecraft.client.gui.hud.ChatHud; import net.minecraft.client.gui.hud.ChatHudLine; import net.minecraft.command.CommandSource; diff --git a/src/main/java/me/retucio/camtweaks/command/commands/SaveScreenshotCommand.java b/src/main/java/me/retucio/sputnik/command/commands/SaveScreenshotCommand.java similarity index 80% rename from src/main/java/me/retucio/camtweaks/command/commands/SaveScreenshotCommand.java rename to src/main/java/me/retucio/sputnik/command/commands/SaveScreenshotCommand.java index 464fe24..61956c4 100644 --- a/src/main/java/me/retucio/camtweaks/command/commands/SaveScreenshotCommand.java +++ b/src/main/java/me/retucio/sputnik/command/commands/SaveScreenshotCommand.java @@ -1,10 +1,10 @@ -package me.retucio.camtweaks.command.commands; +package me.retucio.sputnik.command.commands; import com.mojang.brigadier.builder.LiteralArgumentBuilder; -import me.retucio.camtweaks.command.Command; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.misc.ScreenshotPlus; -import me.retucio.camtweaks.util.ChatUtil; +import me.retucio.sputnik.command.Command; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.misc.ScreenshotPlus; +import me.retucio.sputnik.util.ChatUtil; import net.minecraft.command.CommandSource; import java.io.IOException; diff --git a/src/main/java/me/retucio/camtweaks/command/commands/SendCommand.java b/src/main/java/me/retucio/sputnik/command/commands/SendCommand.java similarity index 91% rename from src/main/java/me/retucio/camtweaks/command/commands/SendCommand.java rename to src/main/java/me/retucio/sputnik/command/commands/SendCommand.java index 7a86e2c..5751ca0 100644 --- a/src/main/java/me/retucio/camtweaks/command/commands/SendCommand.java +++ b/src/main/java/me/retucio/sputnik/command/commands/SendCommand.java @@ -1,9 +1,9 @@ -package me.retucio.camtweaks.command.commands; +package me.retucio.sputnik.command.commands; import com.mojang.brigadier.arguments.StringArgumentType; import com.mojang.brigadier.builder.LiteralArgumentBuilder; -import me.retucio.camtweaks.command.Command; -import me.retucio.camtweaks.mixin.accessor.ClientPlayNetworkHandlerAccessor; +import me.retucio.sputnik.command.Command; +import me.retucio.sputnik.mixin.accessor.ClientPlayNetworkHandlerAccessor; import net.minecraft.client.network.ClientPlayNetworkHandler; import net.minecraft.command.CommandSource; import net.minecraft.network.encryption.NetworkEncryptionUtils; @@ -11,7 +11,6 @@ import net.minecraft.network.message.LastSeenMessagesCollector; import net.minecraft.network.message.MessageBody; import net.minecraft.network.message.MessageSignatureData; import net.minecraft.network.packet.c2s.play.ChatMessageC2SPacket; -import net.minecraft.text.Text; import java.time.Instant; diff --git a/src/main/java/me/retucio/camtweaks/command/commands/SpectateCommand.java b/src/main/java/me/retucio/sputnik/command/commands/SpectateCommand.java similarity index 82% rename from src/main/java/me/retucio/camtweaks/command/commands/SpectateCommand.java rename to src/main/java/me/retucio/sputnik/command/commands/SpectateCommand.java index 54c3166..571e32a 100644 --- a/src/main/java/me/retucio/camtweaks/command/commands/SpectateCommand.java +++ b/src/main/java/me/retucio/sputnik/command/commands/SpectateCommand.java @@ -1,12 +1,11 @@ -package me.retucio.camtweaks.command.commands; +package me.retucio.sputnik.command.commands; import com.mojang.brigadier.builder.LiteralArgumentBuilder; -import me.retucio.camtweaks.command.Command; -import me.retucio.camtweaks.command.args.EntityArgumentType; -import me.retucio.camtweaks.event.SubscribeEvent; -import me.retucio.camtweaks.event.events.KeyEvent; -import me.retucio.camtweaks.util.EntityUtil; -import me.retucio.camtweaks.util.MiscUtil; +import me.retucio.sputnik.command.Command; +import me.retucio.sputnik.command.args.EntityArgumentType; +import me.retucio.sputnik.event.SubscribeEvent; +import me.retucio.sputnik.event.events.KeyEvent; +import me.retucio.sputnik.util.EntityUtil; import net.minecraft.command.CommandSource; import net.minecraft.entity.Entity; import org.lwjgl.glfw.GLFW; diff --git a/src/main/java/me/retucio/camtweaks/command/commands/ToggleCommand.java b/src/main/java/me/retucio/sputnik/command/commands/ToggleCommand.java similarity index 90% rename from src/main/java/me/retucio/camtweaks/command/commands/ToggleCommand.java rename to src/main/java/me/retucio/sputnik/command/commands/ToggleCommand.java index 67a8456..124b089 100644 --- a/src/main/java/me/retucio/camtweaks/command/commands/ToggleCommand.java +++ b/src/main/java/me/retucio/sputnik/command/commands/ToggleCommand.java @@ -1,10 +1,10 @@ -package me.retucio.camtweaks.command.commands; +package me.retucio.sputnik.command.commands; import com.mojang.brigadier.builder.LiteralArgumentBuilder; -import me.retucio.camtweaks.command.Command; -import me.retucio.camtweaks.command.args.ModuleArgumentType; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.module.ModuleManager; +import me.retucio.sputnik.command.Command; +import me.retucio.sputnik.command.args.ModuleArgumentType; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.module.ModuleManager; import net.minecraft.command.CommandSource; // porque usar el ratón es más lento que escribir, a menos que tengas toque con el teclado como yo diff --git a/src/main/java/me/retucio/camtweaks/config/ClientConfig.java b/src/main/java/me/retucio/sputnik/config/ClientConfig.java similarity index 92% rename from src/main/java/me/retucio/camtweaks/config/ClientConfig.java rename to src/main/java/me/retucio/sputnik/config/ClientConfig.java index 05b2dd5..2a6e866 100644 --- a/src/main/java/me/retucio/camtweaks/config/ClientConfig.java +++ b/src/main/java/me/retucio/sputnik/config/ClientConfig.java @@ -1,15 +1,15 @@ -package me.retucio.camtweaks.config; +package me.retucio.sputnik.config; -import me.retucio.camtweaks.event.SubscribeEvent; -import me.retucio.camtweaks.event.events.camtweaks.*; -import me.retucio.camtweaks.module.settings.*; -import me.retucio.camtweaks.ui.screen.ClickGUI; +import me.retucio.sputnik.event.SubscribeEvent; +import me.retucio.sputnik.event.events.sputnik.*; +import me.retucio.sputnik.module.settings.*; +import me.retucio.sputnik.ui.screen.ClickGUI; import java.util.HashMap; import java.util.Map; -import static me.retucio.camtweaks.CameraTweaks.EVENT_BUS; -import static me.retucio.camtweaks.CameraTweaks.mc; +import static me.retucio.sputnik.Sputnik.EVENT_BUS; +import static me.retucio.sputnik.Sputnik.mc; // clase donde se guardan las configuraciones temporalmente hasta escribirlas en camera_tweaks.json public class ClientConfig { diff --git a/src/main/java/me/retucio/camtweaks/config/ConfigManager.java b/src/main/java/me/retucio/sputnik/config/ConfigManager.java similarity index 80% rename from src/main/java/me/retucio/camtweaks/config/ConfigManager.java rename to src/main/java/me/retucio/sputnik/config/ConfigManager.java index 5ec66cf..f77b877 100644 --- a/src/main/java/me/retucio/camtweaks/config/ConfigManager.java +++ b/src/main/java/me/retucio/sputnik/config/ConfigManager.java @@ -1,15 +1,15 @@ -package me.retucio.camtweaks.config; +package me.retucio.sputnik.config; import com.google.gson.Gson; import com.google.gson.GsonBuilder; -import me.retucio.camtweaks.CameraTweaks; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.settings.*; -import me.retucio.camtweaks.ui.widgets.frames.ModuleFrame; -import me.retucio.camtweaks.ui.screen.ClickGUI; -import me.retucio.camtweaks.ui.widgets.frames.settings.ClientSettingsFrame; -import me.retucio.camtweaks.ui.widgets.frames.SettingsFrame; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.settings.*; +import me.retucio.sputnik.ui.widgets.Frame; +import me.retucio.sputnik.ui.widgets.frames.ModuleFrame; +import me.retucio.sputnik.ui.screen.ClickGUI; +import me.retucio.sputnik.ui.widgets.frames.settings.ClientSettingsFrame; +import me.retucio.sputnik.ui.widgets.frames.SettingsFrame; import java.io.File; import java.io.FileReader; @@ -23,7 +23,7 @@ import java.util.Map; public class ConfigManager { private static final Gson GSON = new GsonBuilder().setPrettyPrinting().create(); - private static final File CONFIG_FILE = new File("camera_tweaks.json"); + private static final File CONFIG_FILE = new File("sputnik.json"); private static boolean loaded = false; private static ClientConfig config = null; @@ -33,19 +33,20 @@ public class ConfigManager { // guardar configuraciones public static void save() { + if (!loaded) return; ensureConfig(); try (FileWriter writer = new FileWriter(CONFIG_FILE)) { GSON.toJson(config, writer); - CameraTweaks.LOGGER.info("ajustes guardados"); + me.retucio.sputnik.Sputnik.LOGGER.info("ajustes guardados"); } catch (IOException e) { - CameraTweaks.LOGGER.error("error al guardar ajustes", e); + me.retucio.sputnik.Sputnik.LOGGER.error("error al guardar ajustes", e); } } // cargar configuraciones public static void load() { - CameraTweaks.LOGGER.info("cargando ajustes..."); + me.retucio.sputnik.Sputnik.LOGGER.info("cargando ajustes..."); if (!CONFIG_FILE.exists()) { ensureConfig(); @@ -55,9 +56,9 @@ public class ConfigManager { try (FileReader reader = new FileReader(CONFIG_FILE)) { config = GSON.fromJson(reader, ClientConfig.class); - CameraTweaks.LOGGER.info("ajustes cargados"); + me.retucio.sputnik.Sputnik.LOGGER.info("ajustes cargados"); } catch (IOException e) { - CameraTweaks.LOGGER.error("no se pudieron cargar los ajustes, usando ajustes por defecto", e); + me.retucio.sputnik.Sputnik.LOGGER.error("no se pudieron cargar los ajustes, usando ajustes por defecto", e); ensureConfig(); } } @@ -74,7 +75,7 @@ public class ConfigManager { applyExtendableFrames(); loaded = true; - CameraTweaks.LOGGER.info("ajustes aplicados"); + me.retucio.sputnik.Sputnik.LOGGER.info("ajustes aplicados"); } // obtener configuración actual @@ -159,7 +160,7 @@ public class ConfigManager { case ListSetting listSetting -> applyListSetting(listSetting, value); case ColorSetting colorSetting -> applyColorSetting(colorSetting, value); case OptionSetting optionSetting -> applyOptionSetting(optionSetting, value); - default -> CameraTweaks.LOGGER.warn("watafac queseso: {}", setting.getClass().getSimpleName()); + default -> me.retucio.sputnik.Sputnik.LOGGER.warn("watafac queseso: {}", setting.getClass().getSimpleName()); } } @@ -169,14 +170,14 @@ public class ConfigManager { module.setEnabled(config.moduleStates.get(module.getName())); } }); - CameraTweaks.LOGGER.info("estados de módulos aplicados"); + me.retucio.sputnik.Sputnik.LOGGER.info("estados de módulos aplicados"); } private static void applyModuleSettings() { ModuleManager.INSTANCE.getModules().forEach(module -> { module.getSettings().forEach(setting -> applySetting(module, setting)); }); - CameraTweaks.LOGGER.info("ajustes de módulos aplicados"); + me.retucio.sputnik.Sputnik.LOGGER.info("ajustes de módulos aplicados"); } private static void applySettingsFrames() { @@ -184,7 +185,7 @@ public class ConfigManager { Module module = ModuleManager.INSTANCE.getModuleByName(moduleName); ClickGUI.INSTANCE.openSettingsFrame(module, position[0], position[1]); }); - CameraTweaks.LOGGER.info("estados de marcos de ajustes aplicados"); + me.retucio.sputnik.Sputnik.LOGGER.info("estados de marcos de ajustes aplicados"); } private static void applySearchBarPosition() { @@ -192,7 +193,7 @@ public class ConfigManager { ClickGUI.INSTANCE.getSearchBar().setX(config.searchBarPosition[0]); ClickGUI.INSTANCE.getSearchBar().setY(config.searchBarPosition[1]); } - CameraTweaks.LOGGER.info("posición de la barra de búsqueda aplicada"); + me.retucio.sputnik.Sputnik.LOGGER.info("posición de la barra de búsqueda aplicada"); } private static void applyGuiSettings() { @@ -200,32 +201,33 @@ public class ConfigManager { ClientSettingsFrame.guiSettings.getSettings().forEach(setting -> { applySetting(ClientSettingsFrame.guiSettings, setting); }); - CameraTweaks.LOGGER.info("ajustes del cliente aplicados"); + me.retucio.sputnik.Sputnik.LOGGER.info("ajustes del cliente aplicados"); } private static void applyExtendableFrames() { applyExtendableFrame(ClickGUI.INSTANCE.getModulesFrame()); applyExtendableFrame(ClickGUI.INSTANCE.getGuiSettingsFrame()); - CameraTweaks.LOGGER.info("posiciones de marcos extendibles aplicadasa"); + me.retucio.sputnik.Sputnik.LOGGER.info("posiciones de marcos extendibles aplicadasa"); ClickGUI.INSTANCE.refreshListButtons(); } - private static void applyExtendableFrame(ModuleFrame frame) { - ClientConfig.FrameData frameData = config.extendableFrames.get("M"); - if (frameData != null) { - frame.setX(frameData.x()); - frame.setY(frameData.y()); - frame.extended = frameData.extended(); - } - } + private static void applyExtendableFrame(Frame frame) { + ClientConfig.FrameData frameData = null; + if (frame instanceof ModuleFrame) + frameData = config.extendableFrames.get("M"); + + if (frame instanceof ClientSettingsFrame) + frameData = config.extendableFrames.get("S"); - private static void applyExtendableFrame(ClientSettingsFrame frame) { - ClientConfig.FrameData frameData = config.extendableFrames.get("S"); if (frameData != null) { frame.setX(frameData.x()); frame.setY(frameData.y()); - frame.extended = frameData.extended(); + + if (frame instanceof ModuleFrame mFrame) + mFrame.extended = frameData.extended(); + if (frame instanceof ClientSettingsFrame sFrame) + sFrame.extended = frameData.extended(); } } @@ -314,7 +316,7 @@ public class ConfigManager { // ------------------ MÉTODOS DE AYUDA ------------------ private static boolean shouldApply() { - return CameraTweaks.mc != null && ModuleManager.INSTANCE != null && config != null; + return me.retucio.sputnik.Sputnik.mc != null && ModuleManager.INSTANCE != null && config != null; } @@ -329,4 +331,4 @@ public class ConfigManager { public static boolean hasLoaded() { return loaded; } -} +} \ No newline at end of file diff --git a/src/main/java/me/retucio/camtweaks/event/Event.java b/src/main/java/me/retucio/sputnik/event/Event.java similarity index 86% rename from src/main/java/me/retucio/camtweaks/event/Event.java rename to src/main/java/me/retucio/sputnik/event/Event.java index 543f766..4ebf64c 100644 --- a/src/main/java/me/retucio/camtweaks/event/Event.java +++ b/src/main/java/me/retucio/sputnik/event/Event.java @@ -1,4 +1,4 @@ -package me.retucio.camtweaks.event; +package me.retucio.sputnik.event; // evento base, cancelable (usado en mixins) public class Event { diff --git a/src/main/java/me/retucio/camtweaks/event/EventBus.java b/src/main/java/me/retucio/sputnik/event/EventBus.java similarity index 98% rename from src/main/java/me/retucio/camtweaks/event/EventBus.java rename to src/main/java/me/retucio/sputnik/event/EventBus.java index 878a53e..bdb4f8a 100644 --- a/src/main/java/me/retucio/camtweaks/event/EventBus.java +++ b/src/main/java/me/retucio/sputnik/event/EventBus.java @@ -1,4 +1,4 @@ -package me.retucio.camtweaks.event; +package me.retucio.sputnik.event; import java.lang.reflect.Method; import java.lang.reflect.Modifier; diff --git a/src/main/java/me/retucio/camtweaks/event/JoinWorldEvent.java b/src/main/java/me/retucio/sputnik/event/JoinWorldEvent.java similarity index 62% rename from src/main/java/me/retucio/camtweaks/event/JoinWorldEvent.java rename to src/main/java/me/retucio/sputnik/event/JoinWorldEvent.java index 6a82e37..343fe38 100644 --- a/src/main/java/me/retucio/camtweaks/event/JoinWorldEvent.java +++ b/src/main/java/me/retucio/sputnik/event/JoinWorldEvent.java @@ -1,11 +1,10 @@ -package me.retucio.camtweaks.event; +package me.retucio.sputnik.event; import net.minecraft.client.world.ClientWorld; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; /** - * @see me.retucio.camtweaks.mixin.MinecraftClientMixin#onJoinWorld + * @see me.retucio.sputnik.mixin.MinecraftClientMixin#onJoinWorld */ public class JoinWorldEvent extends Event { diff --git a/src/main/java/me/retucio/camtweaks/event/Stage.java b/src/main/java/me/retucio/sputnik/event/Stage.java similarity index 74% rename from src/main/java/me/retucio/camtweaks/event/Stage.java rename to src/main/java/me/retucio/sputnik/event/Stage.java index b69c70a..f3b2872 100644 --- a/src/main/java/me/retucio/camtweaks/event/Stage.java +++ b/src/main/java/me/retucio/sputnik/event/Stage.java @@ -1,4 +1,4 @@ -package me.retucio.camtweaks.event; +package me.retucio.sputnik.event; public enum Stage { PRE, // antes de que haya sucedido diff --git a/src/main/java/me/retucio/camtweaks/event/SubscribeEvent.java b/src/main/java/me/retucio/sputnik/event/SubscribeEvent.java similarity index 85% rename from src/main/java/me/retucio/camtweaks/event/SubscribeEvent.java rename to src/main/java/me/retucio/sputnik/event/SubscribeEvent.java index 7c0413f..8b7d6c3 100644 --- a/src/main/java/me/retucio/camtweaks/event/SubscribeEvent.java +++ b/src/main/java/me/retucio/sputnik/event/SubscribeEvent.java @@ -1,4 +1,4 @@ -package me.retucio.camtweaks.event; +package me.retucio.sputnik.event; import java.lang.annotation.*; diff --git a/src/main/java/me/retucio/camtweaks/event/events/AddEntityEvent.java b/src/main/java/me/retucio/sputnik/event/events/AddEntityEvent.java similarity index 64% rename from src/main/java/me/retucio/camtweaks/event/events/AddEntityEvent.java rename to src/main/java/me/retucio/sputnik/event/events/AddEntityEvent.java index d9ae902..8b0f2a7 100644 --- a/src/main/java/me/retucio/camtweaks/event/events/AddEntityEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/AddEntityEvent.java @@ -1,11 +1,11 @@ -package me.retucio.camtweaks.event.events; +package me.retucio.sputnik.event.events; -import me.retucio.camtweaks.event.Event; +import me.retucio.sputnik.event.Event; import net.minecraft.entity.Entity; /** - * @see me.retucio.camtweaks.mixin.ClientWorldMixin#onAddEntity + * @see me.retucio.sputnik.mixin.ClientWorldMixin#onAddEntity */ public class AddEntityEvent extends Event { diff --git a/src/main/java/me/retucio/camtweaks/event/events/AttackEntityEvent.java b/src/main/java/me/retucio/sputnik/event/events/AttackEntityEvent.java similarity index 61% rename from src/main/java/me/retucio/camtweaks/event/events/AttackEntityEvent.java rename to src/main/java/me/retucio/sputnik/event/events/AttackEntityEvent.java index ba6d331..bdeb4bd 100644 --- a/src/main/java/me/retucio/camtweaks/event/events/AttackEntityEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/AttackEntityEvent.java @@ -1,11 +1,11 @@ -package me.retucio.camtweaks.event.events; +package me.retucio.sputnik.event.events; -import me.retucio.camtweaks.event.Event; +import me.retucio.sputnik.event.Event; import net.minecraft.entity.Entity; /** - * @see me.retucio.camtweaks.mixin.ClientPlayerInteractionManagerMixin#onAttackEntity + * @see me.retucio.sputnik.mixin.ClientPlayerInteractionManagerMixin#onAttackEntity */ public class AttackEntityEvent extends Event { diff --git a/src/main/java/me/retucio/camtweaks/event/events/BreakBlockEvent.java b/src/main/java/me/retucio/sputnik/event/events/BreakBlockEvent.java similarity index 66% rename from src/main/java/me/retucio/camtweaks/event/events/BreakBlockEvent.java rename to src/main/java/me/retucio/sputnik/event/events/BreakBlockEvent.java index 48dec84..8824ce5 100644 --- a/src/main/java/me/retucio/camtweaks/event/events/BreakBlockEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/BreakBlockEvent.java @@ -1,11 +1,11 @@ -package me.retucio.camtweaks.event.events; +package me.retucio.sputnik.event.events; -import me.retucio.camtweaks.event.Event; +import me.retucio.sputnik.event.Event; import net.minecraft.util.math.BlockPos; /** - * @see me.retucio.camtweaks.mixin.ClientPlayerInteractionManagerMixin#onBlockBreak + * @see me.retucio.sputnik.mixin.ClientPlayerInteractionManagerMixin#onBlockBreak */ public class BreakBlockEvent extends Event { diff --git a/src/main/java/me/retucio/camtweaks/event/events/ChangeRotationEvent.java b/src/main/java/me/retucio/sputnik/event/events/ChangeRotationEvent.java similarity index 64% rename from src/main/java/me/retucio/camtweaks/event/events/ChangeRotationEvent.java rename to src/main/java/me/retucio/sputnik/event/events/ChangeRotationEvent.java index 84be4e8..6c67419 100644 --- a/src/main/java/me/retucio/camtweaks/event/events/ChangeRotationEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/ChangeRotationEvent.java @@ -1,12 +1,12 @@ -package me.retucio.camtweaks.event.events; +package me.retucio.sputnik.event.events; -import me.retucio.camtweaks.event.Event; +import me.retucio.sputnik.event.Event; /** - * @see me.retucio.camtweaks.mixin.EntityMixin#onRotation - * @see me.retucio.camtweaks.mixin.EntityMixin#onChangeYaw - * @see me.retucio.camtweaks.mixin.EntityMixin#onChangePitch + * @see me.retucio.sputnik.mixin.EntityMixin#onRotation + * @see me.retucio.sputnik.mixin.EntityMixin#onChangeYaw + * @see me.retucio.sputnik.mixin.EntityMixin#onChangePitch */ public class ChangeRotationEvent extends Event { diff --git a/src/main/java/me/retucio/sputnik/event/events/ChunkOcclusionEvent.java b/src/main/java/me/retucio/sputnik/event/events/ChunkOcclusionEvent.java new file mode 100644 index 0000000..e1f196b --- /dev/null +++ b/src/main/java/me/retucio/sputnik/event/events/ChunkOcclusionEvent.java @@ -0,0 +1,9 @@ +package me.retucio.sputnik.event.events; + +import me.retucio.sputnik.event.Event; + + +/** + * @see me.retucio.sputnik.mixin.ChunkOcclusionDataBuilderMixin#onChunkOcclusion + */ +public class ChunkOcclusionEvent extends Event {} diff --git a/src/main/java/me/retucio/camtweaks/event/events/ClientClickEvent.java b/src/main/java/me/retucio/sputnik/event/events/ClientClickEvent.java similarity index 83% rename from src/main/java/me/retucio/camtweaks/event/events/ClientClickEvent.java rename to src/main/java/me/retucio/sputnik/event/events/ClientClickEvent.java index cc95d24..3cf31be 100644 --- a/src/main/java/me/retucio/camtweaks/event/events/ClientClickEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/ClientClickEvent.java @@ -1,6 +1,6 @@ -package me.retucio.camtweaks.event.events; +package me.retucio.sputnik.event.events; -import me.retucio.camtweaks.module.modules.misc.ChatPlus; +import me.retucio.sputnik.module.modules.misc.ChatPlus; import net.minecraft.text.ClickEvent; diff --git a/src/main/java/me/retucio/camtweaks/event/events/ClipAtLedgeEvent.java b/src/main/java/me/retucio/sputnik/event/events/ClipAtLedgeEvent.java similarity index 79% rename from src/main/java/me/retucio/camtweaks/event/events/ClipAtLedgeEvent.java rename to src/main/java/me/retucio/sputnik/event/events/ClipAtLedgeEvent.java index f8c954b..75a1870 100644 --- a/src/main/java/me/retucio/camtweaks/event/events/ClipAtLedgeEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/ClipAtLedgeEvent.java @@ -1,6 +1,6 @@ -package me.retucio.camtweaks.event.events; +package me.retucio.sputnik.event.events; -import me.retucio.camtweaks.event.Event; +import me.retucio.sputnik.event.Event; public class ClipAtLedgeEvent extends Event { diff --git a/src/main/java/me/retucio/camtweaks/event/events/DamageItemEvent.java b/src/main/java/me/retucio/sputnik/event/events/DamageItemEvent.java similarity index 73% rename from src/main/java/me/retucio/camtweaks/event/events/DamageItemEvent.java rename to src/main/java/me/retucio/sputnik/event/events/DamageItemEvent.java index 5b76aa9..7684581 100644 --- a/src/main/java/me/retucio/camtweaks/event/events/DamageItemEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/DamageItemEvent.java @@ -1,11 +1,11 @@ -package me.retucio.camtweaks.event.events; +package me.retucio.sputnik.event.events; -import me.retucio.camtweaks.event.Event; +import me.retucio.sputnik.event.Event; import net.minecraft.item.ItemStack; /** - * @see me.retucio.camtweaks.mixin.ItemStackMixin#onDamage + * @see me.retucio.sputnik.mixin.ItemStackMixin#onDamage */ public class DamageItemEvent extends Event { diff --git a/src/main/java/me/retucio/camtweaks/event/events/DisconnectEvent.java b/src/main/java/me/retucio/sputnik/event/events/DisconnectEvent.java similarity index 76% rename from src/main/java/me/retucio/camtweaks/event/events/DisconnectEvent.java rename to src/main/java/me/retucio/sputnik/event/events/DisconnectEvent.java index f93c006..f3c6fa3 100644 --- a/src/main/java/me/retucio/camtweaks/event/events/DisconnectEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/DisconnectEvent.java @@ -1,12 +1,12 @@ -package me.retucio.camtweaks.event.events; +package me.retucio.sputnik.event.events; -import me.retucio.camtweaks.event.Event; +import me.retucio.sputnik.event.Event; import net.minecraft.client.network.ServerInfo; import net.minecraft.network.DisconnectionInfo; /** - * @see me.retucio.camtweaks.mixin.ClientConnectionMixin#onDisconnect + * @see me.retucio.sputnik.mixin.ClientConnectionMixin#onDisconnect */ public class DisconnectEvent extends Event { diff --git a/src/main/java/me/retucio/camtweaks/event/events/GetFOVEvent.java b/src/main/java/me/retucio/sputnik/event/events/GetFOVEvent.java similarity index 64% rename from src/main/java/me/retucio/camtweaks/event/events/GetFOVEvent.java rename to src/main/java/me/retucio/sputnik/event/events/GetFOVEvent.java index a27a593..ce42908 100644 --- a/src/main/java/me/retucio/camtweaks/event/events/GetFOVEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/GetFOVEvent.java @@ -1,10 +1,10 @@ -package me.retucio.camtweaks.event.events; +package me.retucio.sputnik.event.events; -import me.retucio.camtweaks.event.Event; +import me.retucio.sputnik.event.Event; /** - * @see me.retucio.camtweaks.mixin.GameRendererMixin#modifyFov + * @see me.retucio.sputnik.mixin.GameRendererMixin#modifyFov */ public class GetFOVEvent extends Event { diff --git a/src/main/java/me/retucio/camtweaks/event/events/InteractEntityEvent.java b/src/main/java/me/retucio/sputnik/event/events/InteractEntityEvent.java similarity index 74% rename from src/main/java/me/retucio/camtweaks/event/events/InteractEntityEvent.java rename to src/main/java/me/retucio/sputnik/event/events/InteractEntityEvent.java index 3e07bc3..dbc61d8 100644 --- a/src/main/java/me/retucio/camtweaks/event/events/InteractEntityEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/InteractEntityEvent.java @@ -1,12 +1,12 @@ -package me.retucio.camtweaks.event.events; +package me.retucio.sputnik.event.events; -import me.retucio.camtweaks.event.Event; +import me.retucio.sputnik.event.Event; import net.minecraft.entity.Entity; import net.minecraft.util.Hand; /** - * @see me.retucio.camtweaks.mixin.ClientPlayerInteractionManagerMixin#onEntityInteract + * @see me.retucio.sputnik.mixin.ClientPlayerInteractionManagerMixin#onEntityInteract */ public class InteractEntityEvent extends Event { diff --git a/src/main/java/me/retucio/camtweaks/event/events/KeyEvent.java b/src/main/java/me/retucio/sputnik/event/events/KeyEvent.java similarity index 74% rename from src/main/java/me/retucio/camtweaks/event/events/KeyEvent.java rename to src/main/java/me/retucio/sputnik/event/events/KeyEvent.java index d023662..4f05173 100644 --- a/src/main/java/me/retucio/camtweaks/event/events/KeyEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/KeyEvent.java @@ -1,10 +1,10 @@ -package me.retucio.camtweaks.event.events; +package me.retucio.sputnik.event.events; -import me.retucio.camtweaks.event.Event; +import me.retucio.sputnik.event.Event; /** - * @see me.retucio.camtweaks.mixin.KeyboardMixin#onKeyPress + * @see me.retucio.sputnik.mixin.KeyboardMixin#onKeyPress */ public class KeyEvent extends Event { diff --git a/src/main/java/me/retucio/camtweaks/event/events/MouseClickEvent.java b/src/main/java/me/retucio/sputnik/event/events/MouseClickEvent.java similarity index 69% rename from src/main/java/me/retucio/camtweaks/event/events/MouseClickEvent.java rename to src/main/java/me/retucio/sputnik/event/events/MouseClickEvent.java index ea52c1c..ce565b6 100644 --- a/src/main/java/me/retucio/camtweaks/event/events/MouseClickEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/MouseClickEvent.java @@ -1,10 +1,10 @@ -package me.retucio.camtweaks.event.events; +package me.retucio.sputnik.event.events; -import me.retucio.camtweaks.event.Event; +import me.retucio.sputnik.event.Event; /** - * @see me.retucio.camtweaks.mixin.MouseMixin#onMouseButton + * @see me.retucio.sputnik.mixin.MouseMixin#onMouseButton */ public class MouseClickEvent extends Event { diff --git a/src/main/java/me/retucio/camtweaks/event/events/MouseScrollEvent.java b/src/main/java/me/retucio/sputnik/event/events/MouseScrollEvent.java similarity index 79% rename from src/main/java/me/retucio/camtweaks/event/events/MouseScrollEvent.java rename to src/main/java/me/retucio/sputnik/event/events/MouseScrollEvent.java index 7eb1109..244f229 100644 --- a/src/main/java/me/retucio/camtweaks/event/events/MouseScrollEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/MouseScrollEvent.java @@ -1,10 +1,10 @@ -package me.retucio.camtweaks.event.events; +package me.retucio.sputnik.event.events; -import me.retucio.camtweaks.event.Event; +import me.retucio.sputnik.event.Event; /** - * @see me.retucio.camtweaks.mixin.MouseMixin#onMouseScroll + * @see me.retucio.sputnik.mixin.MouseMixin#onMouseScroll */ public class MouseScrollEvent extends Event { diff --git a/src/main/java/me/retucio/camtweaks/event/events/OpenScreenEvent.java b/src/main/java/me/retucio/sputnik/event/events/OpenScreenEvent.java similarity index 64% rename from src/main/java/me/retucio/camtweaks/event/events/OpenScreenEvent.java rename to src/main/java/me/retucio/sputnik/event/events/OpenScreenEvent.java index a011a3e..87c809c 100644 --- a/src/main/java/me/retucio/camtweaks/event/events/OpenScreenEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/OpenScreenEvent.java @@ -1,11 +1,11 @@ -package me.retucio.camtweaks.event.events; +package me.retucio.sputnik.event.events; -import me.retucio.camtweaks.event.Event; +import me.retucio.sputnik.event.Event; import net.minecraft.client.gui.screen.Screen; /** - * @see me.retucio.camtweaks.mixin.MinecraftClientMixin#onOpenScreen + * @see me.retucio.sputnik.mixin.MinecraftClientMixin#onOpenScreen */ public class OpenScreenEvent extends Event { diff --git a/src/main/java/me/retucio/camtweaks/event/events/PacketEvent.java b/src/main/java/me/retucio/sputnik/event/events/PacketEvent.java similarity index 61% rename from src/main/java/me/retucio/camtweaks/event/events/PacketEvent.java rename to src/main/java/me/retucio/sputnik/event/events/PacketEvent.java index 7bc4e23..844679f 100644 --- a/src/main/java/me/retucio/camtweaks/event/events/PacketEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/PacketEvent.java @@ -1,16 +1,14 @@ -package me.retucio.camtweaks.event.events; +package me.retucio.sputnik.event.events; -import io.netty.channel.ChannelFutureListener; -import me.retucio.camtweaks.event.Event; -import me.retucio.camtweaks.event.Stage; +import me.retucio.sputnik.event.Event; +import me.retucio.sputnik.event.Stage; import net.minecraft.network.packet.Packet; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; /** - * @see me.retucio.camtweaks.mixin.ClientConnectionMixin#onSendPacketPre - * @see me.retucio.camtweaks.mixin.ClientConnectionMixin#onSendPacketPost - * @see me.retucio.camtweaks.mixin.ClientConnectionMixin#onReceivePacket + * @see me.retucio.sputnik.mixin.ClientConnectionMixin#onSendPacketPre + * @see me.retucio.sputnik.mixin.ClientConnectionMixin#onSendPacketPost + * @see me.retucio.sputnik.mixin.ClientConnectionMixin#onReceivePacket */ public class PacketEvent { diff --git a/src/main/java/me/retucio/camtweaks/event/events/PerspectiveChangeEvent.java b/src/main/java/me/retucio/sputnik/event/events/PerspectiveChangeEvent.java similarity index 74% rename from src/main/java/me/retucio/camtweaks/event/events/PerspectiveChangeEvent.java rename to src/main/java/me/retucio/sputnik/event/events/PerspectiveChangeEvent.java index 5efe897..88c752c 100644 --- a/src/main/java/me/retucio/camtweaks/event/events/PerspectiveChangeEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/PerspectiveChangeEvent.java @@ -1,11 +1,11 @@ -package me.retucio.camtweaks.event.events; +package me.retucio.sputnik.event.events; -import me.retucio.camtweaks.event.Event; +import me.retucio.sputnik.event.Event; import net.minecraft.client.option.Perspective; /** - * @see me.retucio.camtweaks.mixin.GameOptionsMixin#changePerspective + * @see me.retucio.sputnik.mixin.GameOptionsMixin#changePerspective */ public class PerspectiveChangeEvent extends Event { diff --git a/src/main/java/me/retucio/camtweaks/event/events/PlaceBlockEvent.java b/src/main/java/me/retucio/sputnik/event/events/PlaceBlockEvent.java similarity index 78% rename from src/main/java/me/retucio/camtweaks/event/events/PlaceBlockEvent.java rename to src/main/java/me/retucio/sputnik/event/events/PlaceBlockEvent.java index 62c4e4c..b49496e 100644 --- a/src/main/java/me/retucio/camtweaks/event/events/PlaceBlockEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/PlaceBlockEvent.java @@ -1,12 +1,12 @@ -package me.retucio.camtweaks.event.events; +package me.retucio.sputnik.event.events; -import me.retucio.camtweaks.event.Event; +import me.retucio.sputnik.event.Event; import net.minecraft.util.Hand; import net.minecraft.util.hit.BlockHitResult; /** - * @see me.retucio.camtweaks.mixin.ClientPlayerInteractionManagerMixin#onBlockPlace + * @see me.retucio.sputnik.mixin.ClientPlayerInteractionManagerMixin#onBlockPlace */ public class PlaceBlockEvent extends Event { diff --git a/src/main/java/me/retucio/camtweaks/event/events/ReceiveMessageEvent.java b/src/main/java/me/retucio/sputnik/event/events/ReceiveMessageEvent.java similarity index 85% rename from src/main/java/me/retucio/camtweaks/event/events/ReceiveMessageEvent.java rename to src/main/java/me/retucio/sputnik/event/events/ReceiveMessageEvent.java index 39fdabf..161c9df 100644 --- a/src/main/java/me/retucio/camtweaks/event/events/ReceiveMessageEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/ReceiveMessageEvent.java @@ -1,11 +1,11 @@ -package me.retucio.camtweaks.event.events; +package me.retucio.sputnik.event.events; -import me.retucio.camtweaks.event.Event; +import me.retucio.sputnik.event.Event; import net.minecraft.client.gui.hud.MessageIndicator; import net.minecraft.text.Text; /** - * @see me.retucio.camtweaks.mixin.ChatHudMixin#onAddMessage + * @see me.retucio.sputnik.mixin.ChatHudMixin#onAddMessage */ public class ReceiveMessageEvent extends Event { diff --git a/src/main/java/me/retucio/camtweaks/event/events/RemoveEntityEvent.java b/src/main/java/me/retucio/sputnik/event/events/RemoveEntityEvent.java similarity index 64% rename from src/main/java/me/retucio/camtweaks/event/events/RemoveEntityEvent.java rename to src/main/java/me/retucio/sputnik/event/events/RemoveEntityEvent.java index d3136f1..077c66f 100644 --- a/src/main/java/me/retucio/camtweaks/event/events/RemoveEntityEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/RemoveEntityEvent.java @@ -1,11 +1,11 @@ -package me.retucio.camtweaks.event.events; +package me.retucio.sputnik.event.events; -import me.retucio.camtweaks.event.Event; +import me.retucio.sputnik.event.Event; import net.minecraft.entity.Entity; /** - * @see me.retucio.camtweaks.mixin.ClientWorldMixin#onRemoveEntity + * @see me.retucio.sputnik.mixin.ClientWorldMixin#onRemoveEntity */ public class RemoveEntityEvent extends Event { diff --git a/src/main/java/me/retucio/camtweaks/event/events/RenderArmEvent.java b/src/main/java/me/retucio/sputnik/event/events/RenderArmEvent.java similarity index 80% rename from src/main/java/me/retucio/camtweaks/event/events/RenderArmEvent.java rename to src/main/java/me/retucio/sputnik/event/events/RenderArmEvent.java index 6be995d..6132dda 100644 --- a/src/main/java/me/retucio/camtweaks/event/events/RenderArmEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/RenderArmEvent.java @@ -1,12 +1,12 @@ -package me.retucio.camtweaks.event.events; +package me.retucio.sputnik.event.events; -import me.retucio.camtweaks.event.Event; +import me.retucio.sputnik.event.Event; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.util.Hand; /** - * @see me.retucio.camtweaks.mixin.HeldItemRendererMixin#onRenderArm + * @see me.retucio.sputnik.mixin.HeldItemRendererMixin#onRenderArm */ public class RenderArmEvent extends Event { diff --git a/src/main/java/me/retucio/camtweaks/event/events/RenderBossbarEvent.java b/src/main/java/me/retucio/sputnik/event/events/RenderBossbarEvent.java similarity index 83% rename from src/main/java/me/retucio/camtweaks/event/events/RenderBossbarEvent.java rename to src/main/java/me/retucio/sputnik/event/events/RenderBossbarEvent.java index b7f0447..c3e0993 100644 --- a/src/main/java/me/retucio/camtweaks/event/events/RenderBossbarEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/RenderBossbarEvent.java @@ -1,6 +1,6 @@ -package me.retucio.camtweaks.event.events; +package me.retucio.sputnik.event.events; -import me.retucio.camtweaks.event.Event; +import me.retucio.sputnik.event.Event; import net.minecraft.client.gui.hud.ClientBossBar; import net.minecraft.text.Text; @@ -8,9 +8,9 @@ import java.util.Iterator; /** - * @see me.retucio.camtweaks.mixin.BossBarHudMixin#modifyBossBarIterator - * @see me.retucio.camtweaks.mixin.BossBarHudMixin#modifyBossBarName - * @see me.retucio.camtweaks.mixin.BossBarHudMixin#modifySpacingConstant + * @see me.retucio.sputnik.mixin.BossBarHudMixin#modifyBossBarIterator + * @see me.retucio.sputnik.mixin.BossBarHudMixin#modifyBossBarName + * @see me.retucio.sputnik.mixin.BossBarHudMixin#modifySpacingConstant */ public class RenderBossbarEvent { diff --git a/src/main/java/me/retucio/camtweaks/event/events/RenderHeldItemEvent.java b/src/main/java/me/retucio/sputnik/event/events/RenderHeldItemEvent.java similarity index 80% rename from src/main/java/me/retucio/camtweaks/event/events/RenderHeldItemEvent.java rename to src/main/java/me/retucio/sputnik/event/events/RenderHeldItemEvent.java index c76a854..c4b5ea4 100644 --- a/src/main/java/me/retucio/camtweaks/event/events/RenderHeldItemEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/RenderHeldItemEvent.java @@ -1,12 +1,12 @@ -package me.retucio.camtweaks.event.events; +package me.retucio.sputnik.event.events; -import me.retucio.camtweaks.event.Event; +import me.retucio.sputnik.event.Event; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.util.Hand; /** - * @see me.retucio.camtweaks.mixin.HeldItemRendererMixin#onRenderItem + * @see me.retucio.sputnik.mixin.HeldItemRendererMixin#onRenderItem */ public class RenderHeldItemEvent extends Event { diff --git a/src/main/java/me/retucio/camtweaks/event/events/RenderWorldEvent.java b/src/main/java/me/retucio/sputnik/event/events/RenderWorldEvent.java similarity index 83% rename from src/main/java/me/retucio/camtweaks/event/events/RenderWorldEvent.java rename to src/main/java/me/retucio/sputnik/event/events/RenderWorldEvent.java index 0c54d64..be03ce1 100644 --- a/src/main/java/me/retucio/camtweaks/event/events/RenderWorldEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/RenderWorldEvent.java @@ -1,13 +1,13 @@ -package me.retucio.camtweaks.event.events; +package me.retucio.sputnik.event.events; -import me.retucio.camtweaks.event.Event; +import me.retucio.sputnik.event.Event; import net.minecraft.client.render.Camera; import net.minecraft.client.render.RenderTickCounter; import net.minecraft.client.util.math.MatrixStack; /** - * @see me.retucio.camtweaks.mixin.WorldRendererMixin#render + * @see me.retucio.sputnik.mixin.WorldRendererMixin#render */ public class RenderWorldEvent extends Event { diff --git a/src/main/java/me/retucio/camtweaks/event/events/SendMessageEvent.java b/src/main/java/me/retucio/sputnik/event/events/SendMessageEvent.java similarity index 66% rename from src/main/java/me/retucio/camtweaks/event/events/SendMessageEvent.java rename to src/main/java/me/retucio/sputnik/event/events/SendMessageEvent.java index 7cbc80f..0a5047c 100644 --- a/src/main/java/me/retucio/camtweaks/event/events/SendMessageEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/SendMessageEvent.java @@ -1,10 +1,10 @@ -package me.retucio.camtweaks.event.events; +package me.retucio.sputnik.event.events; -import me.retucio.camtweaks.event.Event; +import me.retucio.sputnik.event.Event; /** - * @see me.retucio.camtweaks.mixin.ClientPlayNetworkHandlerMixin#onSendMessage + * @see me.retucio.sputnik.mixin.ClientPlayNetworkHandlerMixin#onSendMessage */ public class SendMessageEvent extends Event { diff --git a/src/main/java/me/retucio/sputnik/event/events/ShutdownEvent.java b/src/main/java/me/retucio/sputnik/event/events/ShutdownEvent.java new file mode 100644 index 0000000..df92039 --- /dev/null +++ b/src/main/java/me/retucio/sputnik/event/events/ShutdownEvent.java @@ -0,0 +1,12 @@ +package me.retucio.sputnik.event.events; + +import me.retucio.sputnik.event.Event; + + +/** + * @see me.retucio.sputnik.mixin.MinecraftClientMixin#onStop + */ +public class ShutdownEvent extends Event { + + public ShutdownEvent() {} +} diff --git a/src/main/java/me/retucio/sputnik/event/events/TickEvent.java b/src/main/java/me/retucio/sputnik/event/events/TickEvent.java new file mode 100644 index 0000000..fb08bad --- /dev/null +++ b/src/main/java/me/retucio/sputnik/event/events/TickEvent.java @@ -0,0 +1,14 @@ +package me.retucio.sputnik.event.events; + +import me.retucio.sputnik.event.Event; + + +/** + * @see me.retucio.sputnik.mixin.MinecraftClientMixin#onTickPre + * @see me.retucio.sputnik.mixin.MinecraftClientMixin#onTickPost + */ +public class TickEvent { + + public static class Pre extends Event {} + public static class Post extends Event {} +} diff --git a/src/main/java/me/retucio/camtweaks/event/events/UseItemEvent.java b/src/main/java/me/retucio/sputnik/event/events/UseItemEvent.java similarity index 78% rename from src/main/java/me/retucio/camtweaks/event/events/UseItemEvent.java rename to src/main/java/me/retucio/sputnik/event/events/UseItemEvent.java index 961593c..1bc572d 100644 --- a/src/main/java/me/retucio/camtweaks/event/events/UseItemEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/UseItemEvent.java @@ -1,12 +1,12 @@ -package me.retucio.camtweaks.event.events; +package me.retucio.sputnik.event.events; -import me.retucio.camtweaks.event.Event; +import me.retucio.sputnik.event.Event; import net.minecraft.item.ItemStack; import net.minecraft.util.Hand; /** - * @see me.retucio.camtweaks.mixin.MinecraftClientMixin#onUseItem + * @see me.retucio.sputnik.mixin.MinecraftClientMixin#onUseItem */ public class UseItemEvent extends Event { diff --git a/src/main/java/me/retucio/camtweaks/event/events/camtweaks/GUISettingsFrameEvent.java b/src/main/java/me/retucio/sputnik/event/events/sputnik/GUISettingsFrameEvent.java similarity index 74% rename from src/main/java/me/retucio/camtweaks/event/events/camtweaks/GUISettingsFrameEvent.java rename to src/main/java/me/retucio/sputnik/event/events/sputnik/GUISettingsFrameEvent.java index f1fdf22..d6cd9c8 100644 --- a/src/main/java/me/retucio/camtweaks/event/events/camtweaks/GUISettingsFrameEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/sputnik/GUISettingsFrameEvent.java @@ -1,6 +1,6 @@ -package me.retucio.camtweaks.event.events.camtweaks; +package me.retucio.sputnik.event.events.sputnik; -import me.retucio.camtweaks.event.Event; +import me.retucio.sputnik.event.Event; // se genera cada que se interactúa con el marco de ajustes de la interfaz public class GUISettingsFrameEvent { diff --git a/src/main/java/me/retucio/camtweaks/event/events/camtweaks/LoadClickGUIEvent.java b/src/main/java/me/retucio/sputnik/event/events/sputnik/LoadClickGUIEvent.java similarity index 50% rename from src/main/java/me/retucio/camtweaks/event/events/camtweaks/LoadClickGUIEvent.java rename to src/main/java/me/retucio/sputnik/event/events/sputnik/LoadClickGUIEvent.java index 341a685..63dfd3c 100644 --- a/src/main/java/me/retucio/camtweaks/event/events/camtweaks/LoadClickGUIEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/sputnik/LoadClickGUIEvent.java @@ -1,6 +1,6 @@ -package me.retucio.camtweaks.event.events.camtweaks; +package me.retucio.sputnik.event.events.sputnik; -import me.retucio.camtweaks.event.Event; +import me.retucio.sputnik.event.Event; // se genera cuando carga la interfaz del mod public class LoadClickGUIEvent extends Event {} \ No newline at end of file diff --git a/src/main/java/me/retucio/camtweaks/event/events/camtweaks/LoadCommandManagerEvent.java b/src/main/java/me/retucio/sputnik/event/events/sputnik/LoadCommandManagerEvent.java similarity index 52% rename from src/main/java/me/retucio/camtweaks/event/events/camtweaks/LoadCommandManagerEvent.java rename to src/main/java/me/retucio/sputnik/event/events/sputnik/LoadCommandManagerEvent.java index ed748ba..39e8b1c 100644 --- a/src/main/java/me/retucio/camtweaks/event/events/camtweaks/LoadCommandManagerEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/sputnik/LoadCommandManagerEvent.java @@ -1,6 +1,6 @@ -package me.retucio.camtweaks.event.events.camtweaks; +package me.retucio.sputnik.event.events.sputnik; -import me.retucio.camtweaks.event.Event; +import me.retucio.sputnik.event.Event; // se genera cuando carga el gestor de comandos public class LoadCommandManagerEvent extends Event {} diff --git a/src/main/java/me/retucio/sputnik/event/events/sputnik/LoadConfigEvent.java b/src/main/java/me/retucio/sputnik/event/events/sputnik/LoadConfigEvent.java new file mode 100644 index 0000000..80c43f7 --- /dev/null +++ b/src/main/java/me/retucio/sputnik/event/events/sputnik/LoadConfigEvent.java @@ -0,0 +1,23 @@ +package me.retucio.sputnik.event.events.sputnik; + +import me.retucio.sputnik.event.Event; + +public class LoadConfigEvent extends Event { + + private final boolean failed; + private final boolean fileExisted; + + + public LoadConfigEvent(boolean failed, boolean fileExisted) { + this.failed = failed; + this.fileExisted = fileExisted; + } + + public boolean hasFailed() { + return failed; + } + + public boolean didFileExist() { + return fileExisted; + } +} diff --git a/src/main/java/me/retucio/camtweaks/event/events/camtweaks/LoadModuleManagerEvent.java b/src/main/java/me/retucio/sputnik/event/events/sputnik/LoadModuleManagerEvent.java similarity index 52% rename from src/main/java/me/retucio/camtweaks/event/events/camtweaks/LoadModuleManagerEvent.java rename to src/main/java/me/retucio/sputnik/event/events/sputnik/LoadModuleManagerEvent.java index 57ea59b..ef6ec0e 100644 --- a/src/main/java/me/retucio/camtweaks/event/events/camtweaks/LoadModuleManagerEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/sputnik/LoadModuleManagerEvent.java @@ -1,6 +1,6 @@ -package me.retucio.camtweaks.event.events.camtweaks; +package me.retucio.sputnik.event.events.sputnik; -import me.retucio.camtweaks.event.Event; +import me.retucio.sputnik.event.Event; // se genera cuando carga el gestor de módulos public class LoadModuleManagerEvent extends Event {} \ No newline at end of file diff --git a/src/main/java/me/retucio/camtweaks/event/events/camtweaks/ModuleFrameEvent.java b/src/main/java/me/retucio/sputnik/event/events/sputnik/ModuleFrameEvent.java similarity index 72% rename from src/main/java/me/retucio/camtweaks/event/events/camtweaks/ModuleFrameEvent.java rename to src/main/java/me/retucio/sputnik/event/events/sputnik/ModuleFrameEvent.java index 154b341..febec77 100644 --- a/src/main/java/me/retucio/camtweaks/event/events/camtweaks/ModuleFrameEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/sputnik/ModuleFrameEvent.java @@ -1,6 +1,6 @@ -package me.retucio.camtweaks.event.events.camtweaks; +package me.retucio.sputnik.event.events.sputnik; -import me.retucio.camtweaks.event.Event; +import me.retucio.sputnik.event.Event; // se genera cada que se interactúa con el marco de módulos public class ModuleFrameEvent { diff --git a/src/main/java/me/retucio/camtweaks/event/events/camtweaks/SettingsFrameEvent.java b/src/main/java/me/retucio/sputnik/event/events/sputnik/SettingsFrameEvent.java similarity index 84% rename from src/main/java/me/retucio/camtweaks/event/events/camtweaks/SettingsFrameEvent.java rename to src/main/java/me/retucio/sputnik/event/events/sputnik/SettingsFrameEvent.java index b4c6601..0de7814 100644 --- a/src/main/java/me/retucio/camtweaks/event/events/camtweaks/SettingsFrameEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/sputnik/SettingsFrameEvent.java @@ -1,7 +1,7 @@ -package me.retucio.camtweaks.event.events.camtweaks; +package me.retucio.sputnik.event.events.sputnik; -import me.retucio.camtweaks.event.Event; -import me.retucio.camtweaks.ui.widgets.frames.SettingsFrame; +import me.retucio.sputnik.event.Event; +import me.retucio.sputnik.ui.widgets.frames.SettingsFrame; // se genera cada que se interactúa con un marco de ajustes de un módulo public class SettingsFrameEvent { diff --git a/src/main/java/me/retucio/camtweaks/event/events/camtweaks/ToggleModuleEvent.java b/src/main/java/me/retucio/sputnik/event/events/sputnik/ToggleModuleEvent.java similarity index 67% rename from src/main/java/me/retucio/camtweaks/event/events/camtweaks/ToggleModuleEvent.java rename to src/main/java/me/retucio/sputnik/event/events/sputnik/ToggleModuleEvent.java index 8670ba2..f5dd665 100644 --- a/src/main/java/me/retucio/camtweaks/event/events/camtweaks/ToggleModuleEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/sputnik/ToggleModuleEvent.java @@ -1,7 +1,7 @@ -package me.retucio.camtweaks.event.events.camtweaks; +package me.retucio.sputnik.event.events.sputnik; -import me.retucio.camtweaks.event.Event; -import me.retucio.camtweaks.module.Module; +import me.retucio.sputnik.event.Event; +import me.retucio.sputnik.module.Module; // se genera cada que se enciende o apaga un módulo public class ToggleModuleEvent extends Event { diff --git a/src/main/java/me/retucio/camtweaks/event/events/camtweaks/UpdateSettingEvent.java b/src/main/java/me/retucio/sputnik/event/events/sputnik/UpdateSettingEvent.java similarity index 78% rename from src/main/java/me/retucio/camtweaks/event/events/camtweaks/UpdateSettingEvent.java rename to src/main/java/me/retucio/sputnik/event/events/sputnik/UpdateSettingEvent.java index 3a9d18d..1eed2f0 100644 --- a/src/main/java/me/retucio/camtweaks/event/events/camtweaks/UpdateSettingEvent.java +++ b/src/main/java/me/retucio/sputnik/event/events/sputnik/UpdateSettingEvent.java @@ -1,7 +1,7 @@ -package me.retucio.camtweaks.event.events.camtweaks; +package me.retucio.sputnik.event.events.sputnik; -import me.retucio.camtweaks.event.Event; -import me.retucio.camtweaks.module.settings.Setting; +import me.retucio.sputnik.event.Event; +import me.retucio.sputnik.module.settings.Setting; // se genera cada que se cambia el valor de un ajuste public class UpdateSettingEvent extends Event { diff --git a/src/main/java/me/retucio/camtweaks/mixin/BossBarHudMixin.java b/src/main/java/me/retucio/sputnik/mixin/BossBarHudMixin.java similarity index 91% rename from src/main/java/me/retucio/camtweaks/mixin/BossBarHudMixin.java rename to src/main/java/me/retucio/sputnik/mixin/BossBarHudMixin.java index ff9a0ba..9eb94b7 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/BossBarHudMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/BossBarHudMixin.java @@ -1,8 +1,8 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import com.llamalad7.mixinextras.sugar.Local; -import me.retucio.camtweaks.event.events.RenderBossbarEvent; +import me.retucio.sputnik.event.events.RenderBossbarEvent; import net.minecraft.client.gui.hud.BossBarHud; import net.minecraft.client.gui.hud.ClientBossBar; import net.minecraft.text.Text; @@ -13,7 +13,7 @@ import org.spongepowered.asm.mixin.injection.ModifyConstant; import java.util.Iterator; -import static me.retucio.camtweaks.CameraTweaks.EVENT_BUS; +import static me.retucio.sputnik.Sputnik.EVENT_BUS; @Mixin(BossBarHud.class) public abstract class BossBarHudMixin { diff --git a/src/main/java/me/retucio/camtweaks/mixin/BufferStorageMixin.java b/src/main/java/me/retucio/sputnik/mixin/BufferStorageMixin.java similarity index 89% rename from src/main/java/me/retucio/camtweaks/mixin/BufferStorageMixin.java rename to src/main/java/me/retucio/sputnik/mixin/BufferStorageMixin.java index c5241a6..984fe1f 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/BufferStorageMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/BufferStorageMixin.java @@ -1,7 +1,7 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; import it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenHashMap; -import me.retucio.camtweaks.util.render.GlintRenderLayer; +import me.retucio.sputnik.util.render.GlintRenderLayer; import net.minecraft.client.render.BufferBuilderStorage; import net.minecraft.client.render.RenderLayer; import net.minecraft.client.util.BufferAllocator; diff --git a/src/main/java/me/retucio/camtweaks/mixin/CameraMixin.java b/src/main/java/me/retucio/sputnik/mixin/CameraMixin.java similarity index 92% rename from src/main/java/me/retucio/camtweaks/mixin/CameraMixin.java rename to src/main/java/me/retucio/sputnik/mixin/CameraMixin.java index 02d743d..65cbe03 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/CameraMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/CameraMixin.java @@ -1,9 +1,9 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.camera.Freelook; -import me.retucio.camtweaks.module.modules.camera.Freecam; -import me.retucio.camtweaks.module.modules.camera.PerspectivePlus; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.camera.Freelook; +import me.retucio.sputnik.module.modules.camera.Freecam; +import me.retucio.sputnik.module.modules.camera.PerspectivePlus; import net.minecraft.client.render.Camera; import net.minecraft.entity.Entity; import net.minecraft.world.World; diff --git a/src/main/java/me/retucio/camtweaks/mixin/ChatHudLineMixin.java b/src/main/java/me/retucio/sputnik/mixin/ChatHudLineMixin.java similarity index 90% rename from src/main/java/me/retucio/camtweaks/mixin/ChatHudLineMixin.java rename to src/main/java/me/retucio/sputnik/mixin/ChatHudLineMixin.java index 5eaf08e..b183d64 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/ChatHudLineMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/ChatHudLineMixin.java @@ -1,7 +1,7 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; import com.mojang.authlib.GameProfile; -import me.retucio.camtweaks.util.interfaces.IChatHudLine; +import me.retucio.sputnik.util.interfaces.IChatHudLine; import net.minecraft.client.gui.hud.ChatHudLine; import net.minecraft.text.Text; import org.spongepowered.asm.mixin.Final; diff --git a/src/main/java/me/retucio/camtweaks/mixin/ChatHudLineVisibleMixin.java b/src/main/java/me/retucio/sputnik/mixin/ChatHudLineVisibleMixin.java similarity index 92% rename from src/main/java/me/retucio/camtweaks/mixin/ChatHudLineVisibleMixin.java rename to src/main/java/me/retucio/sputnik/mixin/ChatHudLineVisibleMixin.java index 1e99861..669023e 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/ChatHudLineVisibleMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/ChatHudLineVisibleMixin.java @@ -1,7 +1,7 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; import com.mojang.authlib.GameProfile; -import me.retucio.camtweaks.util.interfaces.IChatHudLineVisible; +import me.retucio.sputnik.util.interfaces.IChatHudLineVisible; import net.minecraft.client.gui.hud.ChatHudLine; import net.minecraft.text.OrderedText; import org.spongepowered.asm.mixin.Final; diff --git a/src/main/java/me/retucio/camtweaks/mixin/ChatHudMixin.java b/src/main/java/me/retucio/sputnik/mixin/ChatHudMixin.java similarity index 93% rename from src/main/java/me/retucio/camtweaks/mixin/ChatHudMixin.java rename to src/main/java/me/retucio/sputnik/mixin/ChatHudMixin.java index b97c329..79b0d46 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/ChatHudMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/ChatHudMixin.java @@ -1,14 +1,14 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import com.llamalad7.mixinextras.sugar.Local; -import me.retucio.camtweaks.event.events.ReceiveMessageEvent; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.misc.ChatPlus; -import me.retucio.camtweaks.util.interfaces.IChatHud; -import me.retucio.camtweaks.util.interfaces.IChatHudLine; -import me.retucio.camtweaks.util.interfaces.IChatHudLineVisible; -import me.retucio.camtweaks.util.interfaces.IMessageHandler; +import me.retucio.sputnik.event.events.ReceiveMessageEvent; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.misc.ChatPlus; +import me.retucio.sputnik.util.interfaces.IChatHud; +import me.retucio.sputnik.util.interfaces.IChatHudLine; +import me.retucio.sputnik.util.interfaces.IChatHudLineVisible; +import me.retucio.sputnik.util.interfaces.IMessageHandler; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.hud.ChatHud; import net.minecraft.client.gui.hud.ChatHudLine; @@ -27,7 +27,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import java.util.List; -import static me.retucio.camtweaks.CameraTweaks.*; +import static me.retucio.sputnik.Sputnik.*; @Mixin(ChatHud.class) public abstract class ChatHudMixin implements IChatHud { diff --git a/src/main/java/me/retucio/camtweaks/mixin/ChatInputSuggestorMixin.java b/src/main/java/me/retucio/sputnik/mixin/ChatInputSuggestorMixin.java similarity index 94% rename from src/main/java/me/retucio/camtweaks/mixin/ChatInputSuggestorMixin.java rename to src/main/java/me/retucio/sputnik/mixin/ChatInputSuggestorMixin.java index 4dce8d1..85e07cd 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/ChatInputSuggestorMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/ChatInputSuggestorMixin.java @@ -1,10 +1,10 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; import com.llamalad7.mixinextras.sugar.Local; import com.mojang.brigadier.ParseResults; import com.mojang.brigadier.StringReader; import com.mojang.brigadier.suggestion.Suggestions; -import me.retucio.camtweaks.command.CommandManager; +import me.retucio.sputnik.command.CommandManager; import net.minecraft.client.gui.screen.ChatInputSuggestor; import net.minecraft.client.gui.widget.TextFieldWidget; import net.minecraft.command.CommandSource; @@ -17,7 +17,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import java.util.concurrent.CompletableFuture; -import static me.retucio.camtweaks.CameraTweaks.mc; +import static me.retucio.sputnik.Sputnik.mc; @Mixin(ChatInputSuggestor.class) public abstract class ChatInputSuggestorMixin { diff --git a/src/main/java/me/retucio/camtweaks/mixin/ChatScreenMixin.java b/src/main/java/me/retucio/sputnik/mixin/ChatScreenMixin.java similarity index 85% rename from src/main/java/me/retucio/camtweaks/mixin/ChatScreenMixin.java rename to src/main/java/me/retucio/sputnik/mixin/ChatScreenMixin.java index 72e8ed3..45cffe7 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/ChatScreenMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/ChatScreenMixin.java @@ -1,7 +1,7 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.misc.ChatPlus; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.misc.ChatPlus; import net.minecraft.client.gui.screen.ChatScreen; import net.minecraft.client.gui.widget.TextFieldWidget; import org.spongepowered.asm.mixin.Mixin; diff --git a/src/main/java/me/retucio/camtweaks/mixin/ChunkBorderDebugRendererMixin.java b/src/main/java/me/retucio/sputnik/mixin/ChunkBorderDebugRendererMixin.java similarity index 90% rename from src/main/java/me/retucio/camtweaks/mixin/ChunkBorderDebugRendererMixin.java rename to src/main/java/me/retucio/sputnik/mixin/ChunkBorderDebugRendererMixin.java index 6df8189..fe41215 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/ChunkBorderDebugRendererMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/ChunkBorderDebugRendererMixin.java @@ -1,8 +1,8 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; import com.llamalad7.mixinextras.injector.ModifyExpressionValue; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.camera.Freecam; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.camera.Freecam; import net.minecraft.client.MinecraftClient; import net.minecraft.client.render.debug.ChunkBorderDebugRenderer; import net.minecraft.util.math.ChunkSectionPos; diff --git a/src/main/java/me/retucio/camtweaks/mixin/ChunkOcclusionDataBuilderMixin.java b/src/main/java/me/retucio/sputnik/mixin/ChunkOcclusionDataBuilderMixin.java similarity index 81% rename from src/main/java/me/retucio/camtweaks/mixin/ChunkOcclusionDataBuilderMixin.java rename to src/main/java/me/retucio/sputnik/mixin/ChunkOcclusionDataBuilderMixin.java index 32b2c37..b966192 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/ChunkOcclusionDataBuilderMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/ChunkOcclusionDataBuilderMixin.java @@ -1,6 +1,6 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; -import me.retucio.camtweaks.event.events.ChunkOcclusionEvent; +import me.retucio.sputnik.event.events.ChunkOcclusionEvent; import net.minecraft.client.render.chunk.ChunkOcclusionDataBuilder; import net.minecraft.util.math.BlockPos; import org.spongepowered.asm.mixin.Mixin; @@ -8,7 +8,7 @@ import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -import static me.retucio.camtweaks.CameraTweaks.EVENT_BUS; +import static me.retucio.sputnik.Sputnik.EVENT_BUS; @Mixin(ChunkOcclusionDataBuilder.class) public abstract class ChunkOcclusionDataBuilderMixin { diff --git a/src/main/java/me/retucio/camtweaks/mixin/ClientCommonNetworkHandlerMixin.java b/src/main/java/me/retucio/sputnik/mixin/ClientCommonNetworkHandlerMixin.java similarity index 89% rename from src/main/java/me/retucio/camtweaks/mixin/ClientCommonNetworkHandlerMixin.java rename to src/main/java/me/retucio/sputnik/mixin/ClientCommonNetworkHandlerMixin.java index 58cc9e5..b149d79 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/ClientCommonNetworkHandlerMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/ClientCommonNetworkHandlerMixin.java @@ -1,10 +1,10 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; -import me.retucio.camtweaks.mixin.accessor.ConfirmServerResourcePackScreenAccessor; -import me.retucio.camtweaks.mixin.accessor.PackAccessor; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.network.RPackBypass; -import me.retucio.camtweaks.util.interfaces.IConfirmScreen; +import me.retucio.sputnik.mixin.accessor.ConfirmServerResourcePackScreenAccessor; +import me.retucio.sputnik.mixin.accessor.PackAccessor; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.network.RPackBypass; +import me.retucio.sputnik.util.interfaces.IConfirmScreen; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.network.ClientCommonNetworkHandler; diff --git a/src/main/java/me/retucio/camtweaks/mixin/ClientConnectionMixin.java b/src/main/java/me/retucio/sputnik/mixin/ClientConnectionMixin.java similarity index 87% rename from src/main/java/me/retucio/camtweaks/mixin/ClientConnectionMixin.java rename to src/main/java/me/retucio/sputnik/mixin/ClientConnectionMixin.java index 950789c..bdfbb17 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/ClientConnectionMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/ClientConnectionMixin.java @@ -1,10 +1,10 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; import io.netty.channel.ChannelFutureListener; import io.netty.channel.ChannelHandlerContext; -import me.retucio.camtweaks.event.Stage; -import me.retucio.camtweaks.event.events.DisconnectEvent; -import me.retucio.camtweaks.event.events.PacketEvent; +import me.retucio.sputnik.event.Stage; +import me.retucio.sputnik.event.events.DisconnectEvent; +import me.retucio.sputnik.event.events.PacketEvent; import net.minecraft.network.ClientConnection; import net.minecraft.network.DisconnectionInfo; import net.minecraft.network.packet.Packet; @@ -13,8 +13,8 @@ import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -import static me.retucio.camtweaks.CameraTweaks.EVENT_BUS; -import static me.retucio.camtweaks.CameraTweaks.mc; +import static me.retucio.sputnik.Sputnik.EVENT_BUS; +import static me.retucio.sputnik.Sputnik.mc; @Mixin(ClientConnection.class) public abstract class ClientConnectionMixin { diff --git a/src/main/java/me/retucio/camtweaks/mixin/ClientPlayNetworkHandlerMixin.java b/src/main/java/me/retucio/sputnik/mixin/ClientPlayNetworkHandlerMixin.java similarity index 86% rename from src/main/java/me/retucio/camtweaks/mixin/ClientPlayNetworkHandlerMixin.java rename to src/main/java/me/retucio/sputnik/mixin/ClientPlayNetworkHandlerMixin.java index 4ab20f9..b449c80 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/ClientPlayNetworkHandlerMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/ClientPlayNetworkHandlerMixin.java @@ -1,11 +1,11 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; import com.mojang.brigadier.exceptions.CommandSyntaxException; -import me.retucio.camtweaks.command.CommandManager; -import me.retucio.camtweaks.event.events.SendMessageEvent; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.render.NoRender; -import me.retucio.camtweaks.util.ChatUtil; +import me.retucio.sputnik.command.CommandManager; +import me.retucio.sputnik.event.events.SendMessageEvent; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.render.NoRender; +import me.retucio.sputnik.util.ChatUtil; import net.minecraft.client.network.ClientPlayNetworkHandler; import net.minecraft.client.render.GameRenderer; import net.minecraft.item.ItemStack; @@ -17,7 +17,7 @@ import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.Redirect; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -import static me.retucio.camtweaks.CameraTweaks.*; +import static me.retucio.sputnik.Sputnik.*; @Mixin(ClientPlayNetworkHandler.class) public abstract class ClientPlayNetworkHandlerMixin { diff --git a/src/main/java/me/retucio/camtweaks/mixin/ClientPlayerEntityMixin.java b/src/main/java/me/retucio/sputnik/mixin/ClientPlayerEntityMixin.java similarity index 87% rename from src/main/java/me/retucio/camtweaks/mixin/ClientPlayerEntityMixin.java rename to src/main/java/me/retucio/sputnik/mixin/ClientPlayerEntityMixin.java index b66d921..037a5f0 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/ClientPlayerEntityMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/ClientPlayerEntityMixin.java @@ -1,11 +1,11 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import com.llamalad7.mixinextras.injector.ModifyReturnValue; import com.llamalad7.mixinextras.sugar.Local; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.world.NoMiningInterruptions; -import me.retucio.camtweaks.module.modules.player.PortalGUI; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.world.NoMiningInterruptions; +import me.retucio.sputnik.module.modules.player.PortalGUI; import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.network.ClientPlayerEntity; import net.minecraft.util.hit.EntityHitResult; @@ -16,7 +16,7 @@ import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; -import static me.retucio.camtweaks.CameraTweaks.mc; +import static me.retucio.sputnik.Sputnik.mc; @Mixin(ClientPlayerEntity.class) public abstract class ClientPlayerEntityMixin { diff --git a/src/main/java/me/retucio/camtweaks/mixin/ClientPlayerInteractionManagerMixin.java b/src/main/java/me/retucio/sputnik/mixin/ClientPlayerInteractionManagerMixin.java similarity index 84% rename from src/main/java/me/retucio/camtweaks/mixin/ClientPlayerInteractionManagerMixin.java rename to src/main/java/me/retucio/sputnik/mixin/ClientPlayerInteractionManagerMixin.java index 43489c9..03d38c6 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/ClientPlayerInteractionManagerMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/ClientPlayerInteractionManagerMixin.java @@ -1,11 +1,11 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; -import me.retucio.camtweaks.event.events.AttackEntityEvent; -import me.retucio.camtweaks.event.events.BreakBlockEvent; -import me.retucio.camtweaks.event.events.InteractEntityEvent; -import me.retucio.camtweaks.event.events.PlaceBlockEvent; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.camera.Freecam; +import me.retucio.sputnik.event.events.AttackEntityEvent; +import me.retucio.sputnik.event.events.BreakBlockEvent; +import me.retucio.sputnik.event.events.InteractEntityEvent; +import me.retucio.sputnik.event.events.PlaceBlockEvent; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.camera.Freecam; import net.minecraft.client.MinecraftClient; import net.minecraft.client.network.ClientPlayNetworkHandler; import net.minecraft.client.network.ClientPlayerEntity; @@ -25,8 +25,8 @@ import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; -import static me.retucio.camtweaks.CameraTweaks.EVENT_BUS; -import static me.retucio.camtweaks.CameraTweaks.mc; +import static me.retucio.sputnik.Sputnik.EVENT_BUS; +import static me.retucio.sputnik.Sputnik.mc; @Mixin(ClientPlayerInteractionManager.class) public abstract class ClientPlayerInteractionManagerMixin { diff --git a/src/main/java/me/retucio/camtweaks/mixin/ClientWorldMixin.java b/src/main/java/me/retucio/sputnik/mixin/ClientWorldMixin.java similarity index 82% rename from src/main/java/me/retucio/camtweaks/mixin/ClientWorldMixin.java rename to src/main/java/me/retucio/sputnik/mixin/ClientWorldMixin.java index d93e515..4e73df7 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/ClientWorldMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/ClientWorldMixin.java @@ -1,7 +1,7 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; -import me.retucio.camtweaks.event.events.AddEntityEvent; -import me.retucio.camtweaks.event.events.RemoveEntityEvent; +import me.retucio.sputnik.event.events.AddEntityEvent; +import me.retucio.sputnik.event.events.RemoveEntityEvent; import net.minecraft.client.world.ClientWorld; import net.minecraft.entity.Entity; import org.jetbrains.annotations.Nullable; @@ -11,7 +11,7 @@ import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -import static me.retucio.camtweaks.CameraTweaks.EVENT_BUS; +import static me.retucio.sputnik.Sputnik.EVENT_BUS; @Mixin(ClientWorld.class) public abstract class ClientWorldMixin { diff --git a/src/main/java/me/retucio/camtweaks/mixin/ClientWorldPropertiesMixin.java b/src/main/java/me/retucio/sputnik/mixin/ClientWorldPropertiesMixin.java similarity index 83% rename from src/main/java/me/retucio/camtweaks/mixin/ClientWorldPropertiesMixin.java rename to src/main/java/me/retucio/sputnik/mixin/ClientWorldPropertiesMixin.java index 4c25534..70d0509 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/ClientWorldPropertiesMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/ClientWorldPropertiesMixin.java @@ -1,7 +1,7 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.world.TimeChanger; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.world.TimeChanger; import net.minecraft.client.world.ClientWorld; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; diff --git a/src/main/java/me/retucio/camtweaks/mixin/ConfirmScreenMixin.java b/src/main/java/me/retucio/sputnik/mixin/ConfirmScreenMixin.java similarity index 87% rename from src/main/java/me/retucio/camtweaks/mixin/ConfirmScreenMixin.java rename to src/main/java/me/retucio/sputnik/mixin/ConfirmScreenMixin.java index 04155bf..e20f826 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/ConfirmScreenMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/ConfirmScreenMixin.java @@ -1,8 +1,8 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.network.RPackBypass; -import me.retucio.camtweaks.util.interfaces.IConfirmScreen; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.network.RPackBypass; +import me.retucio.sputnik.util.interfaces.IConfirmScreen; import net.minecraft.client.gui.screen.ConfirmScreen; import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.widget.ButtonWidget; diff --git a/src/main/java/me/retucio/camtweaks/mixin/DamageParticleMixin.java b/src/main/java/me/retucio/sputnik/mixin/DamageParticleMixin.java similarity index 88% rename from src/main/java/me/retucio/camtweaks/mixin/DamageParticleMixin.java rename to src/main/java/me/retucio/sputnik/mixin/DamageParticleMixin.java index 47efdb9..6a34d7e 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/DamageParticleMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/DamageParticleMixin.java @@ -1,8 +1,8 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; import com.llamalad7.mixinextras.injector.ModifyReturnValue; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.render.CritsPlus; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.render.CritsPlus; import net.minecraft.client.particle.BillboardParticle; import net.minecraft.client.particle.DamageParticle; import org.spongepowered.asm.mixin.Mixin; @@ -14,7 +14,9 @@ public abstract class DamageParticleMixin { @ModifyReturnValue(method = "getRenderType", at = @At("RETURN")) private BillboardParticle.RenderType makeCritsTranslucent(BillboardParticle.RenderType original) { - if (ModuleManager.INSTANCE.getModuleByClass(CritsPlus.class).isEnabled()) return BillboardParticle.RenderType.PARTICLE_ATLAS_TRANSLUCENT; + if (ModuleManager.INSTANCE.getModuleByClass(CritsPlus.class).isEnabled()) + return BillboardParticle.RenderType.PARTICLE_ATLAS_TRANSLUCENT; + return original; } } diff --git a/src/main/java/me/retucio/camtweaks/mixin/DisconnectedScreenMixin.java b/src/main/java/me/retucio/sputnik/mixin/DisconnectedScreenMixin.java similarity index 89% rename from src/main/java/me/retucio/camtweaks/mixin/DisconnectedScreenMixin.java rename to src/main/java/me/retucio/sputnik/mixin/DisconnectedScreenMixin.java index 647b0b5..48dab23 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/DisconnectedScreenMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/DisconnectedScreenMixin.java @@ -1,7 +1,7 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.network.Reconnect; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.network.Reconnect; import net.minecraft.client.gui.screen.DisconnectedScreen; import net.minecraft.client.gui.widget.ButtonWidget; diff --git a/src/main/java/me/retucio/sputnik/mixin/EmitterParticleMixin.java b/src/main/java/me/retucio/sputnik/mixin/EmitterParticleMixin.java new file mode 100644 index 0000000..211b55b --- /dev/null +++ b/src/main/java/me/retucio/sputnik/mixin/EmitterParticleMixin.java @@ -0,0 +1,56 @@ +package me.retucio.sputnik.mixin; + +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.render.CritsPlus; +import net.minecraft.client.particle.EmitterParticle; +import net.minecraft.client.particle.NoRenderParticle; +import net.minecraft.client.world.ClientWorld; +import net.minecraft.entity.Entity; +import net.minecraft.particle.ParticleEffect; +import org.spongepowered.asm.mixin.Final; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Overwrite; +import org.spongepowered.asm.mixin.Shadow; + +@Mixin(EmitterParticle.class) +public abstract class EmitterParticleMixin extends NoRenderParticle { + + @Final @Shadow private Entity entity; + @Final @Shadow private ParticleEffect parameters; + @Final @Shadow private int maxEmitterAge; + @Shadow private int emitterAge; + + protected EmitterParticleMixin(ClientWorld clientWorld, double d, double e, double f) { + super(clientWorld, d, e, f); + } + + /** + * @author retucio + * @reason porque no hay otra manera más fácil + */ + @Overwrite + public void tick() { + CritsPlus critsPlus = ModuleManager.INSTANCE.getModuleByClass(CritsPlus.class); + + double amount = 16 * (critsPlus.isEnabled() + ? critsPlus.multiplier.getValue() + : 1); + + for (int i = 0; i < amount; i++) { + double d = this.random.nextFloat() * 2.0F - 1.0F; + double e = this.random.nextFloat() * 2.0F - 1.0F; + double f = this.random.nextFloat() * 2.0F - 1.0F; + if (!(d * d + e * e + f * f > 1.0)) { + double g = this.entity.getBodyX(d / 4.0); + double h = this.entity.getBodyY(0.5 + e / 4.0); + double j = this.entity.getBodyZ(f / 4.0); + this.world.addParticleClient(this.parameters, g, h, j, d, e + 0.2, f); + } + } + + this.emitterAge++; + if (this.emitterAge >= this.maxEmitterAge) { + this.markDead(); + } + } +} diff --git a/src/main/java/me/retucio/camtweaks/mixin/EntityMixin.java b/src/main/java/me/retucio/sputnik/mixin/EntityMixin.java similarity index 91% rename from src/main/java/me/retucio/camtweaks/mixin/EntityMixin.java rename to src/main/java/me/retucio/sputnik/mixin/EntityMixin.java index dab1099..87e2142 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/EntityMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/EntityMixin.java @@ -1,13 +1,13 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; import com.llamalad7.mixinextras.injector.ModifyReturnValue; -import me.retucio.camtweaks.event.events.ChangeRotationEvent; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.camera.Freecam; -import me.retucio.camtweaks.module.modules.camera.Freelook; -import me.retucio.camtweaks.module.modules.camera.Rotations; -import me.retucio.camtweaks.module.modules.misc.AntiInvis; -import me.retucio.camtweaks.module.modules.render.Nametags; +import me.retucio.sputnik.event.events.ChangeRotationEvent; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.camera.Freecam; +import me.retucio.sputnik.module.modules.camera.Freelook; +import me.retucio.sputnik.module.modules.camera.Rotations; +import me.retucio.sputnik.module.modules.misc.AntiInvis; +import me.retucio.sputnik.module.modules.render.Nametags; import net.minecraft.entity.*; import net.minecraft.entity.passive.TameableEntity; import net.minecraft.entity.player.PlayerEntity; @@ -23,8 +23,8 @@ import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; -import static me.retucio.camtweaks.CameraTweaks.EVENT_BUS; -import static me.retucio.camtweaks.CameraTweaks.mc; +import static me.retucio.sputnik.Sputnik.EVENT_BUS; +import static me.retucio.sputnik.Sputnik.mc; @Mixin(Entity.class) public abstract class EntityMixin { diff --git a/src/main/java/me/retucio/camtweaks/mixin/EquipmentRendererMixin.java b/src/main/java/me/retucio/sputnik/mixin/EquipmentRendererMixin.java similarity index 87% rename from src/main/java/me/retucio/camtweaks/mixin/EquipmentRendererMixin.java rename to src/main/java/me/retucio/sputnik/mixin/EquipmentRendererMixin.java index 32e47e7..22a52c9 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/EquipmentRendererMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/EquipmentRendererMixin.java @@ -1,7 +1,7 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.render.GlintPlus; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.render.GlintPlus; import net.minecraft.client.render.RenderLayer; import net.minecraft.client.render.entity.equipment.EquipmentRenderer; import org.spongepowered.asm.mixin.Mixin; diff --git a/src/main/java/me/retucio/camtweaks/mixin/FogRendererMixin.java b/src/main/java/me/retucio/sputnik/mixin/FogRendererMixin.java similarity index 95% rename from src/main/java/me/retucio/camtweaks/mixin/FogRendererMixin.java rename to src/main/java/me/retucio/sputnik/mixin/FogRendererMixin.java index 9b62bc4..0967b5d 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/FogRendererMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/FogRendererMixin.java @@ -1,9 +1,9 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import com.llamalad7.mixinextras.injector.ModifyReturnValue; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.render.NoRender; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.render.NoRender; import net.minecraft.block.enums.CameraSubmersionType; import net.minecraft.client.render.Camera; import net.minecraft.client.render.fog.FogModifier; diff --git a/src/main/java/me/retucio/camtweaks/mixin/GameOptionsMixin.java b/src/main/java/me/retucio/sputnik/mixin/GameOptionsMixin.java similarity index 77% rename from src/main/java/me/retucio/camtweaks/mixin/GameOptionsMixin.java rename to src/main/java/me/retucio/sputnik/mixin/GameOptionsMixin.java index fd51ee9..5a36265 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/GameOptionsMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/GameOptionsMixin.java @@ -1,8 +1,8 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; -import me.retucio.camtweaks.event.events.PerspectiveChangeEvent; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.camera.Freecam; +import me.retucio.sputnik.event.events.PerspectiveChangeEvent; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.camera.Freecam; import net.minecraft.client.option.GameOptions; import net.minecraft.client.option.Perspective; import org.spongepowered.asm.mixin.Mixin; @@ -11,7 +11,7 @@ import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -import static me.retucio.camtweaks.CameraTweaks.EVENT_BUS; +import static me.retucio.sputnik.Sputnik.EVENT_BUS; @Mixin(GameOptions.class) public abstract class GameOptionsMixin { diff --git a/src/main/java/me/retucio/camtweaks/mixin/GameRendererMixin.java b/src/main/java/me/retucio/sputnik/mixin/GameRendererMixin.java similarity index 91% rename from src/main/java/me/retucio/camtweaks/mixin/GameRendererMixin.java rename to src/main/java/me/retucio/sputnik/mixin/GameRendererMixin.java index 4dd909b..8d57889 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/GameRendererMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/GameRendererMixin.java @@ -1,12 +1,12 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; -import me.retucio.camtweaks.event.events.GetFOVEvent; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.camera.Freecam; -import me.retucio.camtweaks.module.modules.render.NoRender; -import me.retucio.camtweaks.module.modules.camera.Zoom; -import me.retucio.camtweaks.util.interfaces.IVec3d; +import me.retucio.sputnik.event.events.GetFOVEvent; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.camera.Freecam; +import me.retucio.sputnik.module.modules.render.NoRender; +import me.retucio.sputnik.module.modules.camera.Zoom; +import me.retucio.sputnik.util.interfaces.IVec3d; import net.minecraft.client.MinecraftClient; import net.minecraft.client.render.BufferBuilderStorage; @@ -28,7 +28,7 @@ import org.spongepowered.asm.mixin.injection.ModifyVariable; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import com.llamalad7.mixinextras.injector.ModifyReturnValue; -import static me.retucio.camtweaks.CameraTweaks.EVENT_BUS; +import static me.retucio.sputnik.Sputnik.EVENT_BUS; @Mixin(GameRenderer.class) diff --git a/src/main/java/me/retucio/camtweaks/mixin/HandshakeC2SPacketMixin.java b/src/main/java/me/retucio/sputnik/mixin/HandshakeC2SPacketMixin.java similarity index 88% rename from src/main/java/me/retucio/camtweaks/mixin/HandshakeC2SPacketMixin.java rename to src/main/java/me/retucio/sputnik/mixin/HandshakeC2SPacketMixin.java index 0b666ab..7a0fb20 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/HandshakeC2SPacketMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/HandshakeC2SPacketMixin.java @@ -1,11 +1,10 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; import com.google.gson.Gson; import com.google.gson.JsonObject; import com.google.gson.JsonParser; -import me.retucio.camtweaks.CameraTweaks; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.network.BungeecordSpoofer; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.network.BungeecordSpoofer; import net.minecraft.network.packet.c2s.handshake.ConnectionIntent; import net.minecraft.network.packet.c2s.handshake.HandshakeC2SPacket; import org.spongepowered.asm.mixin.*; @@ -19,7 +18,7 @@ import java.net.URL; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; -import static me.retucio.camtweaks.CameraTweaks.mc; +import static me.retucio.sputnik.Sputnik.mc; @Mixin(HandshakeC2SPacket.class) public abstract class HandshakeC2SPacketMixin { @@ -44,7 +43,7 @@ public abstract class HandshakeC2SPacketMixin { if (this.intendedState() != ConnectionIntent.LOGIN) return; - final String[] spoofedUUID = {CameraTweaks.mc.getSession().getUuidOrNull().toString()}; + final String[] spoofedUUID = {me.retucio.sputnik.Sputnik.mc.getSession().getUuidOrNull().toString()}; String URL = "https://api.mojang.com/users/profiles/minecraft/" + mc.getSession().getUsername(); executor.execute(() -> { diff --git a/src/main/java/me/retucio/camtweaks/mixin/HeldItemRendererMixin.java b/src/main/java/me/retucio/sputnik/mixin/HeldItemRendererMixin.java similarity index 93% rename from src/main/java/me/retucio/camtweaks/mixin/HeldItemRendererMixin.java rename to src/main/java/me/retucio/sputnik/mixin/HeldItemRendererMixin.java index 191704a..3bb314e 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/HeldItemRendererMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/HeldItemRendererMixin.java @@ -1,10 +1,10 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; import com.llamalad7.mixinextras.injector.ModifyReturnValue; -import me.retucio.camtweaks.event.events.RenderHeldItemEvent; -import me.retucio.camtweaks.event.events.RenderArmEvent; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.player.HandView; +import me.retucio.sputnik.event.events.RenderHeldItemEvent; +import me.retucio.sputnik.event.events.RenderArmEvent; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.player.HandView; import net.minecraft.client.MinecraftClient; import net.minecraft.client.item.ItemModelManager; import net.minecraft.client.network.AbstractClientPlayerEntity; @@ -24,7 +24,7 @@ import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.ModifyArg; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -import static me.retucio.camtweaks.CameraTweaks.*; +import static me.retucio.sputnik.Sputnik.*; @Mixin(HeldItemRenderer.class) public abstract class HeldItemRendererMixin { diff --git a/src/main/java/me/retucio/camtweaks/mixin/InGameHudMixin.java b/src/main/java/me/retucio/sputnik/mixin/InGameHudMixin.java similarity index 91% rename from src/main/java/me/retucio/camtweaks/mixin/InGameHudMixin.java rename to src/main/java/me/retucio/sputnik/mixin/InGameHudMixin.java index e1ba41f..b7e7d30 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/InGameHudMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/InGameHudMixin.java @@ -1,11 +1,11 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; import com.llamalad7.mixinextras.injector.ModifyExpressionValue; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.misc.ChatPlus; -import me.retucio.camtweaks.module.modules.camera.Freecam; -import me.retucio.camtweaks.module.modules.render.NoRender; -import me.retucio.camtweaks.ui.hud.HudRenderer; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.misc.ChatPlus; +import me.retucio.sputnik.module.modules.camera.Freecam; +import me.retucio.sputnik.module.modules.render.NoRender; +import me.retucio.sputnik.ui.hud.HudRenderer; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.DrawContext; import net.minecraft.client.gui.hud.InGameHud; diff --git a/src/main/java/me/retucio/camtweaks/mixin/InGameOverlayRendererMixin.java b/src/main/java/me/retucio/sputnik/mixin/InGameOverlayRendererMixin.java similarity index 91% rename from src/main/java/me/retucio/camtweaks/mixin/InGameOverlayRendererMixin.java rename to src/main/java/me/retucio/sputnik/mixin/InGameOverlayRendererMixin.java index 7d7e25c..63569bb 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/InGameOverlayRendererMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/InGameOverlayRendererMixin.java @@ -1,7 +1,7 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.render.NoRender; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.render.NoRender; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.hud.InGameOverlayRenderer; import net.minecraft.client.render.VertexConsumerProvider; diff --git a/src/main/java/me/retucio/camtweaks/mixin/ItemEntityMixin.java b/src/main/java/me/retucio/sputnik/mixin/ItemEntityMixin.java similarity index 89% rename from src/main/java/me/retucio/camtweaks/mixin/ItemEntityMixin.java rename to src/main/java/me/retucio/sputnik/mixin/ItemEntityMixin.java index 49baf66..8b876ec 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/ItemEntityMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/ItemEntityMixin.java @@ -1,8 +1,8 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; import com.llamalad7.mixinextras.injector.ModifyReturnValue; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.render.Nametags; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.render.Nametags; import net.minecraft.entity.ItemEntity; import net.minecraft.item.ItemStack; import net.minecraft.text.MutableText; diff --git a/src/main/java/me/retucio/camtweaks/mixin/ItemMixin.java b/src/main/java/me/retucio/sputnik/mixin/ItemMixin.java similarity index 92% rename from src/main/java/me/retucio/camtweaks/mixin/ItemMixin.java rename to src/main/java/me/retucio/sputnik/mixin/ItemMixin.java index 82f3499..76319f8 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/ItemMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/ItemMixin.java @@ -1,7 +1,7 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.misc.ShulkerPeek; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.misc.ShulkerPeek; import net.minecraft.block.ShulkerBoxBlock; import net.minecraft.component.type.TooltipDisplayComponent; import net.minecraft.item.BlockItem; diff --git a/src/main/java/me/retucio/camtweaks/mixin/ItemRendererMixin.java b/src/main/java/me/retucio/sputnik/mixin/ItemRendererMixin.java similarity index 89% rename from src/main/java/me/retucio/camtweaks/mixin/ItemRendererMixin.java rename to src/main/java/me/retucio/sputnik/mixin/ItemRendererMixin.java index 9d622a5..cb62ceb 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/ItemRendererMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/ItemRendererMixin.java @@ -1,7 +1,7 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.render.GlintPlus; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.render.GlintPlus; import net.minecraft.client.render.RenderLayer; import net.minecraft.client.render.item.ItemRenderer; import org.spongepowered.asm.mixin.Mixin; diff --git a/src/main/java/me/retucio/camtweaks/mixin/ItemStackMixin.java b/src/main/java/me/retucio/sputnik/mixin/ItemStackMixin.java similarity index 84% rename from src/main/java/me/retucio/camtweaks/mixin/ItemStackMixin.java rename to src/main/java/me/retucio/sputnik/mixin/ItemStackMixin.java index 61a9cbf..292190d 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/ItemStackMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/ItemStackMixin.java @@ -1,6 +1,6 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; -import me.retucio.camtweaks.event.events.DamageItemEvent; +import me.retucio.sputnik.event.events.DamageItemEvent; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.server.network.ServerPlayerEntity; @@ -12,7 +12,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import java.util.function.Consumer; -import static me.retucio.camtweaks.CameraTweaks.EVENT_BUS; +import static me.retucio.sputnik.Sputnik.EVENT_BUS; @Mixin(ItemStack.class) public abstract class ItemStackMixin { diff --git a/src/main/java/me/retucio/camtweaks/mixin/KeyInputMixin.java b/src/main/java/me/retucio/sputnik/mixin/KeyInputMixin.java similarity index 86% rename from src/main/java/me/retucio/camtweaks/mixin/KeyInputMixin.java rename to src/main/java/me/retucio/sputnik/mixin/KeyInputMixin.java index 08433b7..d0ed554 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/KeyInputMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/KeyInputMixin.java @@ -1,7 +1,7 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.camera.Freecam; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.camera.Freecam; import net.minecraft.client.input.Input; import net.minecraft.client.input.KeyboardInput; import net.minecraft.util.PlayerInput; diff --git a/src/main/java/me/retucio/camtweaks/mixin/KeyboardMixin.java b/src/main/java/me/retucio/sputnik/mixin/KeyboardMixin.java similarity index 70% rename from src/main/java/me/retucio/camtweaks/mixin/KeyboardMixin.java rename to src/main/java/me/retucio/sputnik/mixin/KeyboardMixin.java index c78afd6..7db7543 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/KeyboardMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/KeyboardMixin.java @@ -1,8 +1,6 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; -import me.retucio.camtweaks.CameraTweaks; -import me.retucio.camtweaks.event.events.KeyEvent; -import me.retucio.camtweaks.util.ChatUtil; +import me.retucio.sputnik.event.events.KeyEvent; import net.minecraft.client.Keyboard; import net.minecraft.client.input.KeyInput; import org.spongepowered.asm.mixin.Mixin; @@ -10,7 +8,7 @@ import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -import static me.retucio.camtweaks.CameraTweaks.EVENT_BUS; +import static me.retucio.sputnik.Sputnik.EVENT_BUS; @Mixin(Keyboard.class) public abstract class KeyboardMixin { @@ -18,7 +16,7 @@ public abstract class KeyboardMixin { @Inject(method = "onKey", at = @At("HEAD"), cancellable = true) private void onKeyPress(long window, int action, KeyInput input, CallbackInfo ci) { if (input.key() == -1) return; - CameraTweaks.INSTANCE.onKeyPress(input.key(), action); + me.retucio.sputnik.Sputnik.INSTANCE.onKey(input.key(), action); KeyEvent event = EVENT_BUS.post(new KeyEvent(input.key(), input.scancode(), action)); if (event.isCancelled()) ci.cancel(); } diff --git a/src/main/java/me/retucio/camtweaks/mixin/LightmapTextureManagerMixin.java b/src/main/java/me/retucio/sputnik/mixin/LightmapTextureManagerMixin.java similarity index 92% rename from src/main/java/me/retucio/camtweaks/mixin/LightmapTextureManagerMixin.java rename to src/main/java/me/retucio/sputnik/mixin/LightmapTextureManagerMixin.java index 36d2870..e462f04 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/LightmapTextureManagerMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/LightmapTextureManagerMixin.java @@ -1,11 +1,11 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; import com.llamalad7.mixinextras.sugar.Local; import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.textures.GpuTexture; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.camera.Fullbright; -import me.retucio.camtweaks.module.modules.render.NoRender; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.camera.Fullbright; +import me.retucio.sputnik.module.modules.render.NoRender; import net.minecraft.client.MinecraftClient; import net.minecraft.client.render.GameRenderer; import net.minecraft.client.render.LightmapTextureManager; diff --git a/src/main/java/me/retucio/camtweaks/mixin/LivingEntityMixin.java b/src/main/java/me/retucio/sputnik/mixin/LivingEntityMixin.java similarity index 88% rename from src/main/java/me/retucio/camtweaks/mixin/LivingEntityMixin.java rename to src/main/java/me/retucio/sputnik/mixin/LivingEntityMixin.java index 18c65b9..d7478ed 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/LivingEntityMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/LivingEntityMixin.java @@ -1,7 +1,7 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.player.ElytraBounce; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.player.ElytraBounce; import net.minecraft.client.network.ClientPlayerEntity; import net.minecraft.entity.LivingEntity; import net.minecraft.sound.SoundCategory; @@ -13,7 +13,7 @@ import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -import static me.retucio.camtweaks.CameraTweaks.mc; +import static me.retucio.sputnik.Sputnik.mc; @Mixin(LivingEntity.class) public abstract class LivingEntityMixin { diff --git a/src/main/java/me/retucio/camtweaks/mixin/LivingEntityRendererMixin.java b/src/main/java/me/retucio/sputnik/mixin/LivingEntityRendererMixin.java similarity index 92% rename from src/main/java/me/retucio/camtweaks/mixin/LivingEntityRendererMixin.java rename to src/main/java/me/retucio/sputnik/mixin/LivingEntityRendererMixin.java index d2f18c5..313dab7 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/LivingEntityRendererMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/LivingEntityRendererMixin.java @@ -1,11 +1,11 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import com.llamalad7.mixinextras.injector.ModifyReturnValue; import com.llamalad7.mixinextras.sugar.Local; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.camera.Freecam; -import me.retucio.camtweaks.module.modules.render.Nametags; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.camera.Freecam; +import me.retucio.sputnik.module.modules.render.Nametags; import net.minecraft.client.render.entity.EntityRendererFactory; import net.minecraft.client.render.entity.LivingEntityRenderer; import net.minecraft.client.render.entity.model.EntityModel; @@ -20,7 +20,7 @@ import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; -import static me.retucio.camtweaks.CameraTweaks.mc; +import static me.retucio.sputnik.Sputnik.mc; @Mixin(LivingEntityRenderer.class) public abstract class LivingEntityRendererMixin { diff --git a/src/main/java/me/retucio/camtweaks/mixin/MessageHandlerMixin.java b/src/main/java/me/retucio/sputnik/mixin/MessageHandlerMixin.java similarity index 95% rename from src/main/java/me/retucio/camtweaks/mixin/MessageHandlerMixin.java rename to src/main/java/me/retucio/sputnik/mixin/MessageHandlerMixin.java index 09029d7..09a2dcd 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/MessageHandlerMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/MessageHandlerMixin.java @@ -1,7 +1,7 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; import com.mojang.authlib.GameProfile; -import me.retucio.camtweaks.util.interfaces.IMessageHandler; +import me.retucio.sputnik.util.interfaces.IMessageHandler; import net.minecraft.client.network.message.MessageHandler; import net.minecraft.network.message.MessageType; import net.minecraft.network.message.SignedMessage; diff --git a/src/main/java/me/retucio/camtweaks/mixin/MinecraftClientMixin.java b/src/main/java/me/retucio/sputnik/mixin/MinecraftClientMixin.java similarity index 82% rename from src/main/java/me/retucio/camtweaks/mixin/MinecraftClientMixin.java rename to src/main/java/me/retucio/sputnik/mixin/MinecraftClientMixin.java index 46f4ea2..9d888cf 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/MinecraftClientMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/MinecraftClientMixin.java @@ -1,14 +1,13 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; import com.llamalad7.mixinextras.sugar.Local; -import me.retucio.camtweaks.CameraTweaks; -import me.retucio.camtweaks.event.JoinWorldEvent; -import me.retucio.camtweaks.event.events.OpenScreenEvent; -import me.retucio.camtweaks.event.events.ShutdownEvent; -import me.retucio.camtweaks.event.events.TickEvent; -import me.retucio.camtweaks.event.events.UseItemEvent; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.player.FastUse; +import me.retucio.sputnik.event.JoinWorldEvent; +import me.retucio.sputnik.event.events.OpenScreenEvent; +import me.retucio.sputnik.event.events.ShutdownEvent; +import me.retucio.sputnik.event.events.TickEvent; +import me.retucio.sputnik.event.events.UseItemEvent; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.player.FastUse; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.world.ClientWorld; @@ -21,8 +20,8 @@ import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; -import static me.retucio.camtweaks.CameraTweaks.EVENT_BUS; -import static me.retucio.camtweaks.CameraTweaks.mc; +import static me.retucio.sputnik.Sputnik.EVENT_BUS; +import static me.retucio.sputnik.Sputnik.mc; @Mixin(MinecraftClient.class) public abstract class MinecraftClientMixin { @@ -32,7 +31,7 @@ public abstract class MinecraftClientMixin { @Inject(method = "tick", at = @At("HEAD")) private void onTickPre(CallbackInfo ci) { - CameraTweaks.INSTANCE.onTick(); + me.retucio.sputnik.Sputnik.INSTANCE.onTick(); EVENT_BUS.post(new TickEvent.Pre()); } diff --git a/src/main/java/me/retucio/camtweaks/mixin/MouseMixin.java b/src/main/java/me/retucio/sputnik/mixin/MouseMixin.java similarity index 79% rename from src/main/java/me/retucio/camtweaks/mixin/MouseMixin.java rename to src/main/java/me/retucio/sputnik/mixin/MouseMixin.java index 3176d1a..c78e97f 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/MouseMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/MouseMixin.java @@ -1,8 +1,7 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; -import me.retucio.camtweaks.CameraTweaks; -import me.retucio.camtweaks.event.events.MouseClickEvent; -import me.retucio.camtweaks.event.events.MouseScrollEvent; +import me.retucio.sputnik.event.events.MouseClickEvent; +import me.retucio.sputnik.event.events.MouseScrollEvent; import net.minecraft.client.Mouse; import net.minecraft.client.input.MouseInput; import org.spongepowered.asm.mixin.Mixin; @@ -10,7 +9,7 @@ import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -import static me.retucio.camtweaks.CameraTweaks.EVENT_BUS; +import static me.retucio.sputnik.Sputnik.EVENT_BUS; @Mixin(Mouse.class) public abstract class MouseMixin { diff --git a/src/main/java/me/retucio/camtweaks/mixin/OverlayTextureMixin.java b/src/main/java/me/retucio/sputnik/mixin/OverlayTextureMixin.java similarity index 83% rename from src/main/java/me/retucio/camtweaks/mixin/OverlayTextureMixin.java rename to src/main/java/me/retucio/sputnik/mixin/OverlayTextureMixin.java index 380ecb9..237033f 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/OverlayTextureMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/OverlayTextureMixin.java @@ -1,7 +1,7 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.render.DamageOverlay; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.render.DamageOverlay; import net.minecraft.client.render.OverlayTexture; import net.minecraft.client.texture.NativeImageBackedTexture; import org.spongepowered.asm.mixin.Final; diff --git a/src/main/java/me/retucio/camtweaks/mixin/ParticleManagerMixin.java b/src/main/java/me/retucio/sputnik/mixin/ParticleManagerMixin.java similarity index 87% rename from src/main/java/me/retucio/camtweaks/mixin/ParticleManagerMixin.java rename to src/main/java/me/retucio/sputnik/mixin/ParticleManagerMixin.java index e3ec3ce..a745873 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/ParticleManagerMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/ParticleManagerMixin.java @@ -1,7 +1,7 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.render.NoRender; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.render.NoRender; import net.minecraft.client.particle.Particle; import net.minecraft.client.particle.ParticleManager; import net.minecraft.particle.ParticleEffect; diff --git a/src/main/java/me/retucio/camtweaks/mixin/PlayerEntityMixin.java b/src/main/java/me/retucio/sputnik/mixin/PlayerEntityMixin.java similarity index 88% rename from src/main/java/me/retucio/camtweaks/mixin/PlayerEntityMixin.java rename to src/main/java/me/retucio/sputnik/mixin/PlayerEntityMixin.java index f61f904..a5bf87f 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/PlayerEntityMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/PlayerEntityMixin.java @@ -1,10 +1,9 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; import com.llamalad7.mixinextras.injector.ModifyReturnValue; -import me.retucio.camtweaks.CameraTweaks; -import me.retucio.camtweaks.event.events.ClipAtLedgeEvent; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.render.Nametags; +import me.retucio.sputnik.event.events.ClipAtLedgeEvent; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.render.Nametags; import net.minecraft.entity.EntityType; import net.minecraft.entity.LivingEntity; import net.minecraft.entity.player.PlayerEntity; @@ -57,7 +56,7 @@ public abstract class PlayerEntityMixin extends LivingEntity { @Inject(method = "clipAtLedge", at = @At("HEAD"), cancellable = true) private void clipAtLedge(CallbackInfoReturnable cir) { if (!getEntityWorld().isClient()) return; - ClipAtLedgeEvent event = CameraTweaks.EVENT_BUS.post(new ClipAtLedgeEvent(isSneaking())); + ClipAtLedgeEvent event = me.retucio.sputnik.Sputnik.EVENT_BUS.post(new ClipAtLedgeEvent(isSneaking())); cir.setReturnValue(event.isClipping()); } } \ No newline at end of file diff --git a/src/main/java/me/retucio/camtweaks/mixin/ResourcePackPolicyMixin.java b/src/main/java/me/retucio/sputnik/mixin/ResourcePackPolicyMixin.java similarity index 91% rename from src/main/java/me/retucio/camtweaks/mixin/ResourcePackPolicyMixin.java rename to src/main/java/me/retucio/sputnik/mixin/ResourcePackPolicyMixin.java index 1b2023f..edccaee 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/ResourcePackPolicyMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/ResourcePackPolicyMixin.java @@ -1,7 +1,7 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.network.RPackBypass; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.network.RPackBypass; import net.minecraft.client.network.ServerInfo; import net.minecraft.text.Text; import org.spongepowered.asm.mixin.Mixin; diff --git a/src/main/java/me/retucio/camtweaks/mixin/ScreenMixin.java b/src/main/java/me/retucio/sputnik/mixin/ScreenMixin.java similarity index 84% rename from src/main/java/me/retucio/camtweaks/mixin/ScreenMixin.java rename to src/main/java/me/retucio/sputnik/mixin/ScreenMixin.java index 177ef49..efad3b8 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/ScreenMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/ScreenMixin.java @@ -1,10 +1,10 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; import com.mojang.brigadier.exceptions.CommandSyntaxException; -import me.retucio.camtweaks.command.CommandManager; -import me.retucio.camtweaks.config.ConfigManager; -import me.retucio.camtweaks.event.events.ClientClickEvent; -import me.retucio.camtweaks.ui.widgets.frames.settings.ClientSettingsFrame; +import me.retucio.sputnik.command.CommandManager; +import me.retucio.sputnik.config.ConfigManager; +import me.retucio.sputnik.event.events.ClientClickEvent; +import me.retucio.sputnik.ui.widgets.frames.settings.ClientSettingsFrame; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.DrawContext; import net.minecraft.client.gui.screen.Screen; @@ -14,7 +14,7 @@ import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -import static me.retucio.camtweaks.CameraTweaks.mc; +import static me.retucio.sputnik.Sputnik.mc; @Mixin(Screen.class) public class ScreenMixin { diff --git a/src/main/java/me/retucio/camtweaks/mixin/ScreenshotRecorderMixin.java b/src/main/java/me/retucio/sputnik/mixin/ScreenshotRecorderMixin.java similarity index 91% rename from src/main/java/me/retucio/camtweaks/mixin/ScreenshotRecorderMixin.java rename to src/main/java/me/retucio/sputnik/mixin/ScreenshotRecorderMixin.java index 5fc0035..2f72493 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/ScreenshotRecorderMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/ScreenshotRecorderMixin.java @@ -1,7 +1,7 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.misc.ScreenshotPlus; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.misc.ScreenshotPlus; import net.minecraft.client.texture.NativeImage; import net.minecraft.client.util.ScreenshotRecorder; import net.minecraft.text.Text; @@ -15,7 +15,7 @@ import java.io.File; import java.io.IOException; import java.util.function.Consumer; -import static me.retucio.camtweaks.CameraTweaks.mc; +import static me.retucio.sputnik.Sputnik.mc; @Mixin(ScreenshotRecorder.class) public abstract class ScreenshotRecorderMixin { diff --git a/src/main/java/me/retucio/camtweaks/mixin/ServerConnectorMixin.java b/src/main/java/me/retucio/sputnik/mixin/ServerConnectorMixin.java similarity index 86% rename from src/main/java/me/retucio/camtweaks/mixin/ServerConnectorMixin.java rename to src/main/java/me/retucio/sputnik/mixin/ServerConnectorMixin.java index b614e9e..ccb527c 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/ServerConnectorMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/ServerConnectorMixin.java @@ -1,7 +1,7 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.network.RPackBypass; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.network.RPackBypass; import net.minecraft.client.network.ServerInfo; import net.minecraft.client.resource.server.ServerResourcePackManager; import org.spongepowered.asm.mixin.Mixin; diff --git a/src/main/java/me/retucio/camtweaks/mixin/ServerInfoMixin.java b/src/main/java/me/retucio/sputnik/mixin/ServerInfoMixin.java similarity index 93% rename from src/main/java/me/retucio/camtweaks/mixin/ServerInfoMixin.java rename to src/main/java/me/retucio/sputnik/mixin/ServerInfoMixin.java index 121c049..82f7b2d 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/ServerInfoMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/ServerInfoMixin.java @@ -1,7 +1,7 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.network.RPackBypass; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.network.RPackBypass; import net.minecraft.client.network.ServerInfo; import net.minecraft.nbt.NbtCompound; import org.spongepowered.asm.mixin.Mixin; diff --git a/src/main/java/me/retucio/camtweaks/mixin/SkyRendererMixin.java b/src/main/java/me/retucio/sputnik/mixin/SkyRendererMixin.java similarity index 92% rename from src/main/java/me/retucio/camtweaks/mixin/SkyRendererMixin.java rename to src/main/java/me/retucio/sputnik/mixin/SkyRendererMixin.java index a8146d6..5ea089b 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/SkyRendererMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/SkyRendererMixin.java @@ -1,8 +1,8 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.render.NoRender; -import me.retucio.camtweaks.module.modules.world.TimeChanger; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.render.NoRender; +import me.retucio.sputnik.module.modules.world.TimeChanger; import net.minecraft.client.render.SkyRendering; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.world.MoonPhase; diff --git a/src/main/java/me/retucio/camtweaks/mixin/StatusEffectFogModifierMixin.java b/src/main/java/me/retucio/sputnik/mixin/StatusEffectFogModifierMixin.java similarity index 88% rename from src/main/java/me/retucio/camtweaks/mixin/StatusEffectFogModifierMixin.java rename to src/main/java/me/retucio/sputnik/mixin/StatusEffectFogModifierMixin.java index fd0e50c..9d6dcab 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/StatusEffectFogModifierMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/StatusEffectFogModifierMixin.java @@ -1,8 +1,8 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; import com.llamalad7.mixinextras.injector.ModifyReturnValue; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.render.NoRender; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.render.NoRender; import net.minecraft.client.render.fog.StatusEffectFogModifier; import net.minecraft.entity.effect.StatusEffect; import net.minecraft.entity.effect.StatusEffects; diff --git a/src/main/java/me/retucio/camtweaks/mixin/StringHelperMixin.java b/src/main/java/me/retucio/sputnik/mixin/StringHelperMixin.java similarity index 82% rename from src/main/java/me/retucio/camtweaks/mixin/StringHelperMixin.java rename to src/main/java/me/retucio/sputnik/mixin/StringHelperMixin.java index b191f50..4be214e 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/StringHelperMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/StringHelperMixin.java @@ -1,7 +1,7 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.misc.ChatPlus; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.misc.ChatPlus; import net.minecraft.util.StringHelper; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; diff --git a/src/main/java/me/retucio/camtweaks/mixin/StuckArrowsFeatureRendererMixin.java b/src/main/java/me/retucio/sputnik/mixin/StuckArrowsFeatureRendererMixin.java similarity index 81% rename from src/main/java/me/retucio/camtweaks/mixin/StuckArrowsFeatureRendererMixin.java rename to src/main/java/me/retucio/sputnik/mixin/StuckArrowsFeatureRendererMixin.java index 1e71ae9..aba9ad1 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/StuckArrowsFeatureRendererMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/StuckArrowsFeatureRendererMixin.java @@ -1,8 +1,8 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; import com.llamalad7.mixinextras.injector.ModifyReturnValue; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.render.NoRender; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.render.NoRender; import net.minecraft.client.render.entity.feature.StuckArrowsFeatureRenderer; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; diff --git a/src/main/java/me/retucio/camtweaks/mixin/TelemetryManagerMixin.java b/src/main/java/me/retucio/sputnik/mixin/TelemetryManagerMixin.java similarity index 94% rename from src/main/java/me/retucio/camtweaks/mixin/TelemetryManagerMixin.java rename to src/main/java/me/retucio/sputnik/mixin/TelemetryManagerMixin.java index eb0a5d7..88700a2 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/TelemetryManagerMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/TelemetryManagerMixin.java @@ -1,4 +1,4 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; import net.minecraft.client.session.telemetry.TelemetryManager; import org.spongepowered.asm.mixin.Mixin; diff --git a/src/main/java/me/retucio/camtweaks/mixin/TextRendererDrawerMixin.java b/src/main/java/me/retucio/sputnik/mixin/TextRendererDrawerMixin.java similarity index 94% rename from src/main/java/me/retucio/camtweaks/mixin/TextRendererDrawerMixin.java rename to src/main/java/me/retucio/sputnik/mixin/TextRendererDrawerMixin.java index a8df198..b893ad5 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/TextRendererDrawerMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/TextRendererDrawerMixin.java @@ -1,7 +1,7 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.render.NoRender; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.render.NoRender; import net.minecraft.client.font.TextRenderer; import net.minecraft.text.Style; import net.minecraft.text.TextColor; diff --git a/src/main/java/me/retucio/camtweaks/mixin/TextRendererMixin.java b/src/main/java/me/retucio/sputnik/mixin/TextRendererMixin.java similarity index 81% rename from src/main/java/me/retucio/camtweaks/mixin/TextRendererMixin.java rename to src/main/java/me/retucio/sputnik/mixin/TextRendererMixin.java index 5f74056..598182a 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/TextRendererMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/TextRendererMixin.java @@ -1,8 +1,8 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; import com.llamalad7.mixinextras.injector.ModifyExpressionValue; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.render.NoRender; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.render.NoRender; import net.minecraft.client.font.TextRenderer; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; diff --git a/src/main/java/me/retucio/camtweaks/mixin/Vec3dMixin.java b/src/main/java/me/retucio/sputnik/mixin/Vec3dMixin.java similarity index 89% rename from src/main/java/me/retucio/camtweaks/mixin/Vec3dMixin.java rename to src/main/java/me/retucio/sputnik/mixin/Vec3dMixin.java index 5549be6..52cb8ac 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/Vec3dMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/Vec3dMixin.java @@ -1,6 +1,6 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; -import me.retucio.camtweaks.util.interfaces.IVec3d; +import me.retucio.sputnik.util.interfaces.IVec3d; import net.minecraft.util.math.Vec3d; import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; diff --git a/src/main/java/me/retucio/camtweaks/mixin/WeatherRenderingMixin.java b/src/main/java/me/retucio/sputnik/mixin/WeatherRenderingMixin.java similarity index 92% rename from src/main/java/me/retucio/camtweaks/mixin/WeatherRenderingMixin.java rename to src/main/java/me/retucio/sputnik/mixin/WeatherRenderingMixin.java index 06628e3..2e2d209 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/WeatherRenderingMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/WeatherRenderingMixin.java @@ -1,7 +1,7 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.render.NoRender; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.render.NoRender; import net.minecraft.client.render.Camera; import net.minecraft.client.render.VertexConsumerProvider; import net.minecraft.client.render.WeatherRendering; diff --git a/src/main/java/me/retucio/camtweaks/mixin/WorldRendererMixin.java b/src/main/java/me/retucio/sputnik/mixin/WorldRendererMixin.java similarity index 86% rename from src/main/java/me/retucio/camtweaks/mixin/WorldRendererMixin.java rename to src/main/java/me/retucio/sputnik/mixin/WorldRendererMixin.java index 0b5f154..f384c83 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/WorldRendererMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/WorldRendererMixin.java @@ -1,13 +1,12 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; import com.llamalad7.mixinextras.sugar.Local; import com.mojang.blaze3d.buffers.GpuBufferSlice; -import me.retucio.camtweaks.CameraTweaks; -import me.retucio.camtweaks.event.events.RenderWorldEvent; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.render.BlockOutline; -import me.retucio.camtweaks.module.modules.camera.Freecam; -import me.retucio.camtweaks.module.modules.render.NoRender; +import me.retucio.sputnik.event.events.RenderWorldEvent; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.render.BlockOutline; +import me.retucio.sputnik.module.modules.camera.Freecam; +import me.retucio.sputnik.module.modules.render.NoRender; import net.minecraft.client.render.*; import net.minecraft.client.render.state.WorldRenderState; import net.minecraft.client.util.ObjectAllocator; @@ -25,8 +24,8 @@ import org.spongepowered.asm.mixin.injection.Redirect; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; -import static me.retucio.camtweaks.CameraTweaks.EVENT_BUS; -import static me.retucio.camtweaks.CameraTweaks.mc; +import static me.retucio.sputnik.Sputnik.EVENT_BUS; +import static me.retucio.sputnik.Sputnik.mc; @Mixin(WorldRenderer.class) public abstract class WorldRendererMixin { @@ -46,7 +45,7 @@ public abstract class WorldRendererMixin { matrices.multiply(RotationAxis.POSITIVE_X.rotationDegrees(camera.getPitch())); matrices.multiply(RotationAxis.POSITIVE_Y.rotationDegrees(camera.getYaw() + 180f)); - profiler.push(CameraTweaks.MOD_ID + "-3d"); + profiler.push(me.retucio.sputnik.Sputnik.MOD_ID + "-3d"); EVENT_BUS.post(new RenderWorldEvent(matrices, tickCounter, camera)); profiler.pop(); diff --git a/src/main/java/me/retucio/camtweaks/mixin/YggdrasilUserApiServiceMixin.java b/src/main/java/me/retucio/sputnik/mixin/YggdrasilUserApiServiceMixin.java similarity index 95% rename from src/main/java/me/retucio/camtweaks/mixin/YggdrasilUserApiServiceMixin.java rename to src/main/java/me/retucio/sputnik/mixin/YggdrasilUserApiServiceMixin.java index c26907d..2abaaa2 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/YggdrasilUserApiServiceMixin.java +++ b/src/main/java/me/retucio/sputnik/mixin/YggdrasilUserApiServiceMixin.java @@ -1,4 +1,4 @@ -package me.retucio.camtweaks.mixin; +package me.retucio.sputnik.mixin; import com.mojang.authlib.yggdrasil.YggdrasilUserApiService; import com.mojang.authlib.yggdrasil.response.UserAttributesResponse; diff --git a/src/main/java/me/retucio/camtweaks/mixin/accessor/AbstractSignEditScreenAccessor.java b/src/main/java/me/retucio/sputnik/mixin/accessor/AbstractSignEditScreenAccessor.java similarity index 89% rename from src/main/java/me/retucio/camtweaks/mixin/accessor/AbstractSignEditScreenAccessor.java rename to src/main/java/me/retucio/sputnik/mixin/accessor/AbstractSignEditScreenAccessor.java index bbd75ad..e3a0a71 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/accessor/AbstractSignEditScreenAccessor.java +++ b/src/main/java/me/retucio/sputnik/mixin/accessor/AbstractSignEditScreenAccessor.java @@ -1,4 +1,4 @@ -package me.retucio.camtweaks.mixin.accessor; +package me.retucio.sputnik.mixin.accessor; import net.minecraft.block.entity.SignBlockEntity; import net.minecraft.client.gui.screen.ingame.AbstractSignEditScreen; diff --git a/src/main/java/me/retucio/camtweaks/mixin/accessor/AnvilScreenAccessor.java b/src/main/java/me/retucio/sputnik/mixin/accessor/AnvilScreenAccessor.java similarity index 90% rename from src/main/java/me/retucio/camtweaks/mixin/accessor/AnvilScreenAccessor.java rename to src/main/java/me/retucio/sputnik/mixin/accessor/AnvilScreenAccessor.java index ca99837..b68ac1d 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/accessor/AnvilScreenAccessor.java +++ b/src/main/java/me/retucio/sputnik/mixin/accessor/AnvilScreenAccessor.java @@ -1,4 +1,4 @@ -package me.retucio.camtweaks.mixin.accessor; +package me.retucio.sputnik.mixin.accessor; import net.minecraft.client.gui.screen.ingame.AnvilScreen; import net.minecraft.client.gui.widget.TextFieldWidget; diff --git a/src/main/java/me/retucio/camtweaks/mixin/accessor/ClientPlayNetworkHandlerAccessor.java b/src/main/java/me/retucio/sputnik/mixin/accessor/ClientPlayNetworkHandlerAccessor.java similarity index 92% rename from src/main/java/me/retucio/camtweaks/mixin/accessor/ClientPlayNetworkHandlerAccessor.java rename to src/main/java/me/retucio/sputnik/mixin/accessor/ClientPlayNetworkHandlerAccessor.java index b01662e..93f0963 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/accessor/ClientPlayNetworkHandlerAccessor.java +++ b/src/main/java/me/retucio/sputnik/mixin/accessor/ClientPlayNetworkHandlerAccessor.java @@ -1,4 +1,4 @@ -package me.retucio.camtweaks.mixin.accessor; +package me.retucio.sputnik.mixin.accessor; import net.minecraft.client.network.ClientPlayNetworkHandler; import net.minecraft.network.message.LastSeenMessagesCollector; diff --git a/src/main/java/me/retucio/camtweaks/mixin/accessor/ConfirmServerResourcePackScreenAccessor.java b/src/main/java/me/retucio/sputnik/mixin/accessor/ConfirmServerResourcePackScreenAccessor.java similarity index 91% rename from src/main/java/me/retucio/camtweaks/mixin/accessor/ConfirmServerResourcePackScreenAccessor.java rename to src/main/java/me/retucio/sputnik/mixin/accessor/ConfirmServerResourcePackScreenAccessor.java index 59ed28a..7531a05 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/accessor/ConfirmServerResourcePackScreenAccessor.java +++ b/src/main/java/me/retucio/sputnik/mixin/accessor/ConfirmServerResourcePackScreenAccessor.java @@ -1,4 +1,4 @@ -package me.retucio.camtweaks.mixin.accessor; +package me.retucio.sputnik.mixin.accessor; import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.network.ClientCommonNetworkHandler; diff --git a/src/main/java/me/retucio/camtweaks/mixin/accessor/HandledScreenAccessor.java b/src/main/java/me/retucio/sputnik/mixin/accessor/HandledScreenAccessor.java similarity index 90% rename from src/main/java/me/retucio/camtweaks/mixin/accessor/HandledScreenAccessor.java rename to src/main/java/me/retucio/sputnik/mixin/accessor/HandledScreenAccessor.java index 459aa3f..9f0f4cd 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/accessor/HandledScreenAccessor.java +++ b/src/main/java/me/retucio/sputnik/mixin/accessor/HandledScreenAccessor.java @@ -1,4 +1,4 @@ -package me.retucio.camtweaks.mixin.accessor; +package me.retucio.sputnik.mixin.accessor; import net.minecraft.client.gui.screen.ingame.HandledScreen; import net.minecraft.screen.slot.Slot; diff --git a/src/main/java/me/retucio/camtweaks/mixin/accessor/KeyBindingAccessor.java b/src/main/java/me/retucio/sputnik/mixin/accessor/KeyBindingAccessor.java similarity index 76% rename from src/main/java/me/retucio/camtweaks/mixin/accessor/KeyBindingAccessor.java rename to src/main/java/me/retucio/sputnik/mixin/accessor/KeyBindingAccessor.java index d851546..66bf727 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/accessor/KeyBindingAccessor.java +++ b/src/main/java/me/retucio/sputnik/mixin/accessor/KeyBindingAccessor.java @@ -1,10 +1,9 @@ -package me.retucio.camtweaks.mixin.accessor; +package me.retucio.sputnik.mixin.accessor; import net.minecraft.client.option.KeyBinding; import net.minecraft.client.util.InputUtil; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.gen.Accessor; -import org.spongepowered.asm.mixin.gen.Invoker; @Mixin(KeyBinding.class) public interface KeyBindingAccessor { diff --git a/src/main/java/me/retucio/camtweaks/mixin/accessor/OverlayTextureAccessor.java b/src/main/java/me/retucio/sputnik/mixin/accessor/OverlayTextureAccessor.java similarity index 90% rename from src/main/java/me/retucio/camtweaks/mixin/accessor/OverlayTextureAccessor.java rename to src/main/java/me/retucio/sputnik/mixin/accessor/OverlayTextureAccessor.java index ec383ec..b711d01 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/accessor/OverlayTextureAccessor.java +++ b/src/main/java/me/retucio/sputnik/mixin/accessor/OverlayTextureAccessor.java @@ -1,4 +1,4 @@ -package me.retucio.camtweaks.mixin.accessor; +package me.retucio.sputnik.mixin.accessor; import net.minecraft.client.render.OverlayTexture; import net.minecraft.client.texture.NativeImageBackedTexture; diff --git a/src/main/java/me/retucio/camtweaks/mixin/accessor/PackAccessor.java b/src/main/java/me/retucio/sputnik/mixin/accessor/PackAccessor.java similarity index 87% rename from src/main/java/me/retucio/camtweaks/mixin/accessor/PackAccessor.java rename to src/main/java/me/retucio/sputnik/mixin/accessor/PackAccessor.java index 9767164..993f63d 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/accessor/PackAccessor.java +++ b/src/main/java/me/retucio/sputnik/mixin/accessor/PackAccessor.java @@ -1,4 +1,4 @@ -package me.retucio.camtweaks.mixin.accessor; +package me.retucio.sputnik.mixin.accessor; import net.minecraft.client.network.ClientCommonNetworkHandler; import org.spongepowered.asm.mixin.Mixin; diff --git a/src/main/java/me/retucio/camtweaks/mixin/accessor/StatusEffectInstanceAccessor.java b/src/main/java/me/retucio/sputnik/mixin/accessor/StatusEffectInstanceAccessor.java similarity index 86% rename from src/main/java/me/retucio/camtweaks/mixin/accessor/StatusEffectInstanceAccessor.java rename to src/main/java/me/retucio/sputnik/mixin/accessor/StatusEffectInstanceAccessor.java index 4882be7..263b6a7 100644 --- a/src/main/java/me/retucio/camtweaks/mixin/accessor/StatusEffectInstanceAccessor.java +++ b/src/main/java/me/retucio/sputnik/mixin/accessor/StatusEffectInstanceAccessor.java @@ -1,4 +1,4 @@ -package me.retucio.camtweaks.mixin.accessor; +package me.retucio.sputnik.mixin.accessor; import net.minecraft.entity.effect.StatusEffectInstance; import org.spongepowered.asm.mixin.Mixin; diff --git a/src/main/java/me/retucio/camtweaks/module/Category.java b/src/main/java/me/retucio/sputnik/module/Category.java similarity index 89% rename from src/main/java/me/retucio/camtweaks/module/Category.java rename to src/main/java/me/retucio/sputnik/module/Category.java index 0093693..d256fc3 100644 --- a/src/main/java/me/retucio/camtweaks/module/Category.java +++ b/src/main/java/me/retucio/sputnik/module/Category.java @@ -1,4 +1,4 @@ -package me.retucio.camtweaks.module; +package me.retucio.sputnik.module; public enum Category { diff --git a/src/main/java/me/retucio/camtweaks/module/Module.java b/src/main/java/me/retucio/sputnik/module/Module.java similarity index 83% rename from src/main/java/me/retucio/camtweaks/module/Module.java rename to src/main/java/me/retucio/sputnik/module/Module.java index 7be92c1..83fa144 100644 --- a/src/main/java/me/retucio/camtweaks/module/Module.java +++ b/src/main/java/me/retucio/sputnik/module/Module.java @@ -1,15 +1,13 @@ -package me.retucio.camtweaks.module; +package me.retucio.sputnik.module; -import me.retucio.camtweaks.CameraTweaks; -import me.retucio.camtweaks.config.ClientConfig; -import me.retucio.camtweaks.config.ConfigManager; -import me.retucio.camtweaks.event.SubscribeEvent; -import me.retucio.camtweaks.event.events.camtweaks.ToggleModuleEvent; -import me.retucio.camtweaks.module.settings.BooleanSetting; -import me.retucio.camtweaks.module.settings.EnumSetting; -import me.retucio.camtweaks.module.settings.KeySetting; -import me.retucio.camtweaks.module.settings.Setting; -import me.retucio.camtweaks.util.ChatUtil; +import me.retucio.sputnik.config.ConfigManager; +import me.retucio.sputnik.event.SubscribeEvent; +import me.retucio.sputnik.event.events.sputnik.ToggleModuleEvent; +import me.retucio.sputnik.module.settings.BooleanSetting; +import me.retucio.sputnik.module.settings.EnumSetting; +import me.retucio.sputnik.module.settings.KeySetting; +import me.retucio.sputnik.module.settings.Setting; +import me.retucio.sputnik.util.ChatUtil; import net.minecraft.client.MinecraftClient; import org.lwjgl.glfw.GLFW; @@ -80,24 +78,24 @@ public class Module { enabled = !enabled; if (enabled) onEnable(); else onDisable(); - CameraTweaks.EVENT_BUS.post(new ToggleModuleEvent(this)); + me.retucio.sputnik.Sputnik.EVENT_BUS.post(new ToggleModuleEvent(this)); } public void onEnable() { if (notify.isEnabled()) ChatUtil.info(getName() + " fue activado"); for (Method method : getClass().getDeclaredMethods()) if (method.isAnnotationPresent(SubscribeEvent.class)) { - CameraTweaks.EVENT_BUS.register(this); + me.retucio.sputnik.Sputnik.EVENT_BUS.register(this); break; } - CameraTweaks.EVENT_BUS.post(new ToggleModuleEvent(this)); + me.retucio.sputnik.Sputnik.EVENT_BUS.post(new ToggleModuleEvent(this)); } public void onDisable() { if (notify.isEnabled()) ChatUtil.info(getName() + " fue desactivado"); - if (CameraTweaks.EVENT_BUS.isRegistered(this)) - CameraTweaks.EVENT_BUS.unregister(this); - CameraTweaks.EVENT_BUS.post(new ToggleModuleEvent(this)); + if (me.retucio.sputnik.Sputnik.EVENT_BUS.isRegistered(this)) + me.retucio.sputnik.Sputnik.EVENT_BUS.unregister(this); + me.retucio.sputnik.Sputnik.EVENT_BUS.post(new ToggleModuleEvent(this)); } diff --git a/src/main/java/me/retucio/camtweaks/module/ModuleManager.java b/src/main/java/me/retucio/sputnik/module/ModuleManager.java similarity index 84% rename from src/main/java/me/retucio/camtweaks/module/ModuleManager.java rename to src/main/java/me/retucio/sputnik/module/ModuleManager.java index 79ce845..06c6684 100644 --- a/src/main/java/me/retucio/camtweaks/module/ModuleManager.java +++ b/src/main/java/me/retucio/sputnik/module/ModuleManager.java @@ -1,15 +1,14 @@ -package me.retucio.camtweaks.module; +package me.retucio.sputnik.module; -import me.retucio.camtweaks.CameraTweaks; -import me.retucio.camtweaks.event.SubscribeEvent; -import me.retucio.camtweaks.module.modules.camera.*; -import me.retucio.camtweaks.module.modules.client.HUD; -import me.retucio.camtweaks.module.modules.misc.*; -import me.retucio.camtweaks.module.modules.network.*; -import me.retucio.camtweaks.module.modules.player.*; -import me.retucio.camtweaks.module.modules.render.*; -import me.retucio.camtweaks.module.modules.render.CritsPlus; -import me.retucio.camtweaks.module.modules.world.*; +import me.retucio.sputnik.event.SubscribeEvent; +import me.retucio.sputnik.module.modules.camera.*; +import me.retucio.sputnik.module.modules.client.HUD; +import me.retucio.sputnik.module.modules.misc.*; +import me.retucio.sputnik.module.modules.network.*; +import me.retucio.sputnik.module.modules.player.*; +import me.retucio.sputnik.module.modules.render.*; +import me.retucio.sputnik.module.modules.render.CritsPlus; +import me.retucio.sputnik.module.modules.world.*; import java.lang.reflect.Method; import java.util.ArrayList; @@ -81,7 +80,7 @@ public class ModuleManager { for (Module module : getEnabledModules()) { for (Method method : module.getClass().getDeclaredMethods()) { if (method.isAnnotationPresent(SubscribeEvent.class)) { - CameraTweaks.EVENT_BUS.register(module); + me.retucio.sputnik.Sputnik.EVENT_BUS.register(module); break; } } diff --git a/src/main/java/me/retucio/camtweaks/module/modules/camera/Freecam.java b/src/main/java/me/retucio/sputnik/module/modules/camera/Freecam.java similarity index 93% rename from src/main/java/me/retucio/camtweaks/module/modules/camera/Freecam.java rename to src/main/java/me/retucio/sputnik/module/modules/camera/Freecam.java index 65da008..654f723 100644 --- a/src/main/java/me/retucio/camtweaks/module/modules/camera/Freecam.java +++ b/src/main/java/me/retucio/sputnik/module/modules/camera/Freecam.java @@ -1,16 +1,16 @@ -package me.retucio.camtweaks.module.modules.camera; +package me.retucio.sputnik.module.modules.camera; -import me.retucio.camtweaks.event.Stage; -import me.retucio.camtweaks.event.SubscribeEvent; -import me.retucio.camtweaks.event.events.*; -import me.retucio.camtweaks.module.Category; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.module.settings.BooleanSetting; -import me.retucio.camtweaks.module.settings.KeySetting; -import me.retucio.camtweaks.module.settings.NumberSetting; -import me.retucio.camtweaks.util.ChatUtil; -import me.retucio.camtweaks.util.KeyUtil; -import me.retucio.camtweaks.util.MiscUtil; +import me.retucio.sputnik.event.Stage; +import me.retucio.sputnik.event.SubscribeEvent; +import me.retucio.sputnik.event.events.*; +import me.retucio.sputnik.module.Category; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.module.settings.BooleanSetting; +import me.retucio.sputnik.module.settings.KeySetting; +import me.retucio.sputnik.module.settings.NumberSetting; +import me.retucio.sputnik.util.ChatUtil; +import me.retucio.sputnik.util.KeyUtil; +import me.retucio.sputnik.util.MiscUtil; import net.minecraft.client.gui.Click; import net.minecraft.client.input.KeyInput; import net.minecraft.client.input.MouseInput; @@ -28,14 +28,14 @@ import org.joml.Vector3d; import org.lwjgl.glfw.GLFW; /** continúa en: - * @see me.retucio.camtweaks.mixin.CameraMixin - * @see me.retucio.camtweaks.mixin.ChunkBorderDebugRendererMixin - * @see me.retucio.camtweaks.mixin.ClientPlayerInteractionManagerMixin - * @see me.retucio.camtweaks.mixin.EntityMixin - * @see me.retucio.camtweaks.mixin.GameRendererMixin - * @see me.retucio.camtweaks.mixin.KeyInputMixin - * @see me.retucio.camtweaks.mixin.LivingEntityRendererMixin - * @see me.retucio.camtweaks.mixin.WorldRendererMixin + * @see me.retucio.sputnik.mixin.CameraMixin + * @see me.retucio.sputnik.mixin.ChunkBorderDebugRendererMixin + * @see me.retucio.sputnik.mixin.ClientPlayerInteractionManagerMixin + * @see me.retucio.sputnik.mixin.EntityMixin + * @see me.retucio.sputnik.mixin.GameRendererMixin + * @see me.retucio.sputnik.mixin.KeyInputMixin + * @see me.retucio.sputnik.mixin.LivingEntityRendererMixin + * @see me.retucio.sputnik.mixin.WorldRendererMixin */ public class Freecam extends Module { diff --git a/src/main/java/me/retucio/camtweaks/module/modules/camera/Freelook.java b/src/main/java/me/retucio/sputnik/module/modules/camera/Freelook.java similarity index 90% rename from src/main/java/me/retucio/camtweaks/module/modules/camera/Freelook.java rename to src/main/java/me/retucio/sputnik/module/modules/camera/Freelook.java index 48ffb52..318dd35 100644 --- a/src/main/java/me/retucio/camtweaks/module/modules/camera/Freelook.java +++ b/src/main/java/me/retucio/sputnik/module/modules/camera/Freelook.java @@ -1,17 +1,17 @@ -package me.retucio.camtweaks.module.modules.camera; +package me.retucio.sputnik.module.modules.camera; -import me.retucio.camtweaks.module.Category; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.module.settings.EnumSetting; -import me.retucio.camtweaks.module.settings.NumberSetting; -import me.retucio.camtweaks.util.KeyUtil; +import me.retucio.sputnik.module.Category; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.module.settings.EnumSetting; +import me.retucio.sputnik.module.settings.NumberSetting; +import me.retucio.sputnik.util.KeyUtil; import net.minecraft.client.option.Perspective; import net.minecraft.util.math.MathHelper; import org.lwjgl.glfw.GLFW; /** continúa en: - * @see me.retucio.camtweaks.mixin.CameraMixin - * @see me.retucio.camtweaks.mixin.EntityMixin + * @see me.retucio.sputnik.mixin.CameraMixin + * @see me.retucio.sputnik.mixin.EntityMixin */ public class Freelook extends Module { diff --git a/src/main/java/me/retucio/camtweaks/module/modules/camera/Fullbright.java b/src/main/java/me/retucio/sputnik/module/modules/camera/Fullbright.java similarity index 85% rename from src/main/java/me/retucio/camtweaks/module/modules/camera/Fullbright.java rename to src/main/java/me/retucio/sputnik/module/modules/camera/Fullbright.java index 142b3c6..ab0dc93 100644 --- a/src/main/java/me/retucio/camtweaks/module/modules/camera/Fullbright.java +++ b/src/main/java/me/retucio/sputnik/module/modules/camera/Fullbright.java @@ -1,10 +1,10 @@ -package me.retucio.camtweaks.module.modules.camera; +package me.retucio.sputnik.module.modules.camera; -import me.retucio.camtweaks.mixin.accessor.StatusEffectInstanceAccessor; -import me.retucio.camtweaks.module.Category; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.module.settings.ColorSetting; -import me.retucio.camtweaks.module.settings.EnumSetting; +import me.retucio.sputnik.mixin.accessor.StatusEffectInstanceAccessor; +import me.retucio.sputnik.module.Category; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.module.settings.ColorSetting; +import me.retucio.sputnik.module.settings.EnumSetting; import net.minecraft.entity.effect.StatusEffectInstance; import net.minecraft.entity.effect.StatusEffects; import net.minecraft.registry.Registries; @@ -13,7 +13,7 @@ import org.lwjgl.glfw.GLFW; import java.awt.*; /** continúa en: - * @see me.retucio.camtweaks.mixin.LightmapTextureManagerMixin + * @see me.retucio.sputnik.mixin.LightmapTextureManagerMixin */ public class Fullbright extends Module { diff --git a/src/main/java/me/retucio/camtweaks/module/modules/camera/PerspectivePlus.java b/src/main/java/me/retucio/sputnik/module/modules/camera/PerspectivePlus.java similarity index 81% rename from src/main/java/me/retucio/camtweaks/module/modules/camera/PerspectivePlus.java rename to src/main/java/me/retucio/sputnik/module/modules/camera/PerspectivePlus.java index 4d7005c..15fd09d 100644 --- a/src/main/java/me/retucio/camtweaks/module/modules/camera/PerspectivePlus.java +++ b/src/main/java/me/retucio/sputnik/module/modules/camera/PerspectivePlus.java @@ -1,12 +1,12 @@ -package me.retucio.camtweaks.module.modules.camera; +package me.retucio.sputnik.module.modules.camera; -import me.retucio.camtweaks.event.SubscribeEvent; -import me.retucio.camtweaks.event.events.MouseScrollEvent; -import me.retucio.camtweaks.event.events.PerspectiveChangeEvent; -import me.retucio.camtweaks.module.Category; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.module.settings.*; -import me.retucio.camtweaks.util.KeyUtil; +import me.retucio.sputnik.event.SubscribeEvent; +import me.retucio.sputnik.event.events.MouseScrollEvent; +import me.retucio.sputnik.event.events.PerspectiveChangeEvent; +import me.retucio.sputnik.module.Category; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.module.settings.*; +import me.retucio.sputnik.util.KeyUtil; import org.lwjgl.glfw.GLFW; // continúa en CameraMixin diff --git a/src/main/java/me/retucio/camtweaks/module/modules/camera/Rotations.java b/src/main/java/me/retucio/sputnik/module/modules/camera/Rotations.java similarity index 80% rename from src/main/java/me/retucio/camtweaks/module/modules/camera/Rotations.java rename to src/main/java/me/retucio/sputnik/module/modules/camera/Rotations.java index a5de9c4..3c315e8 100644 --- a/src/main/java/me/retucio/camtweaks/module/modules/camera/Rotations.java +++ b/src/main/java/me/retucio/sputnik/module/modules/camera/Rotations.java @@ -1,11 +1,11 @@ -package me.retucio.camtweaks.module.modules.camera; +package me.retucio.sputnik.module.modules.camera; -import me.retucio.camtweaks.event.SubscribeEvent; -import me.retucio.camtweaks.event.events.ChangeRotationEvent; -import me.retucio.camtweaks.module.Category; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.module.settings.BooleanSetting; -import me.retucio.camtweaks.module.settings.NumberSetting; +import me.retucio.sputnik.event.SubscribeEvent; +import me.retucio.sputnik.event.events.ChangeRotationEvent; +import me.retucio.sputnik.module.Category; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.module.settings.BooleanSetting; +import me.retucio.sputnik.module.settings.NumberSetting; import net.minecraft.network.packet.c2s.play.PlayerMoveC2SPacket; public class Rotations extends Module { diff --git a/src/main/java/me/retucio/camtweaks/module/modules/camera/Zoom.java b/src/main/java/me/retucio/sputnik/module/modules/camera/Zoom.java similarity index 86% rename from src/main/java/me/retucio/camtweaks/module/modules/camera/Zoom.java rename to src/main/java/me/retucio/sputnik/module/modules/camera/Zoom.java index 680ed9d..33bebf3 100644 --- a/src/main/java/me/retucio/camtweaks/module/modules/camera/Zoom.java +++ b/src/main/java/me/retucio/sputnik/module/modules/camera/Zoom.java @@ -1,14 +1,14 @@ -package me.retucio.camtweaks.module.modules.camera; +package me.retucio.sputnik.module.modules.camera; -import me.retucio.camtweaks.event.SubscribeEvent; -import me.retucio.camtweaks.event.events.GetFOVEvent; -import me.retucio.camtweaks.event.events.MouseScrollEvent; -import me.retucio.camtweaks.module.Category; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.module.settings.BooleanSetting; -import me.retucio.camtweaks.module.settings.KeySetting; -import me.retucio.camtweaks.module.settings.NumberSetting; -import me.retucio.camtweaks.util.KeyUtil; +import me.retucio.sputnik.event.SubscribeEvent; +import me.retucio.sputnik.event.events.GetFOVEvent; +import me.retucio.sputnik.event.events.MouseScrollEvent; +import me.retucio.sputnik.module.Category; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.module.settings.BooleanSetting; +import me.retucio.sputnik.module.settings.KeySetting; +import me.retucio.sputnik.module.settings.NumberSetting; +import me.retucio.sputnik.util.KeyUtil; import org.lwjgl.glfw.GLFW; // continúa en GameRendererMixin diff --git a/src/main/java/me/retucio/camtweaks/module/modules/client/GUI.java b/src/main/java/me/retucio/sputnik/module/modules/client/GUI.java similarity index 76% rename from src/main/java/me/retucio/camtweaks/module/modules/client/GUI.java rename to src/main/java/me/retucio/sputnik/module/modules/client/GUI.java index 53ae1d6..6260450 100644 --- a/src/main/java/me/retucio/camtweaks/module/modules/client/GUI.java +++ b/src/main/java/me/retucio/sputnik/module/modules/client/GUI.java @@ -1,21 +1,20 @@ -package me.retucio.camtweaks.module.modules.client; +package me.retucio.sputnik.module.modules.client; -import me.retucio.camtweaks.CameraTweaks; -import me.retucio.camtweaks.command.CommandManager; -import me.retucio.camtweaks.event.SubscribeEvent; -import me.retucio.camtweaks.event.events.TickEvent; -import me.retucio.camtweaks.event.events.camtweaks.LoadClickGUIEvent; -import me.retucio.camtweaks.event.events.camtweaks.LoadCommandManagerEvent; -import me.retucio.camtweaks.module.Category; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.misc.ChatPlus; -import me.retucio.camtweaks.module.settings.BooleanSetting; -import me.retucio.camtweaks.module.settings.ColorSetting; -import me.retucio.camtweaks.module.settings.NumberSetting; -import me.retucio.camtweaks.module.settings.StringSetting; -import me.retucio.camtweaks.util.ChatUtil; -import me.retucio.camtweaks.util.Colors; +import me.retucio.sputnik.command.CommandManager; +import me.retucio.sputnik.event.SubscribeEvent; +import me.retucio.sputnik.event.events.TickEvent; +import me.retucio.sputnik.event.events.sputnik.LoadClickGUIEvent; +import me.retucio.sputnik.event.events.sputnik.LoadCommandManagerEvent; +import me.retucio.sputnik.module.Category; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.misc.ChatPlus; +import me.retucio.sputnik.module.settings.BooleanSetting; +import me.retucio.sputnik.module.settings.ColorSetting; +import me.retucio.sputnik.module.settings.NumberSetting; +import me.retucio.sputnik.module.settings.StringSetting; +import me.retucio.sputnik.util.ChatUtil; +import me.retucio.sputnik.util.Colors; import org.lwjgl.glfw.GLFW; import java.awt.*; @@ -36,7 +35,7 @@ public class GUI extends Module { // ^^^ no sé de qué sirve porque está todo en minúsculas pero bueno public BooleanSetting blur = addSetting(new BooleanSetting("desenfoque", "desenfocar el fondo mientras la interfaz está abierta", true)); - public StringSetting watermark = addSetting(new StringSetting("marca de agua", "marca de agua para interfaces (dejar vacío para desactivar)", CameraTweaks.getVersionName(), 40)); + public StringSetting watermark = addSetting(new StringSetting("marca de agua", "marca de agua para interfaces (dejar vacío para desactivar)", me.retucio.sputnik.Sputnik.getVersionName(), 40)); public StringSetting commandPrefix = addSetting(new StringSetting("prefijo", "prefijo de los comandos", "$", 10)); public StringSetting chatName = addSetting(new StringSetting("nombre", "qué nombre usar en notificaciones por el chat", "smegma", 20)); @@ -49,7 +48,7 @@ public class GUI extends Module { Category.CLIENT, GLFW.GLFW_KEY_RIGHT_SHIFT); - CameraTweaks.EVENT_BUS.register(this); + me.retucio.sputnik.Sputnik.EVENT_BUS.register(this); keyMode.setVisible(false); notify.setVisible(false); searchBar.onUpdate(v -> matchCase.setVisible(v)); diff --git a/src/main/java/me/retucio/camtweaks/module/modules/client/HUD.java b/src/main/java/me/retucio/sputnik/module/modules/client/HUD.java similarity index 87% rename from src/main/java/me/retucio/camtweaks/module/modules/client/HUD.java rename to src/main/java/me/retucio/sputnik/module/modules/client/HUD.java index 61bec28..f50f699 100644 --- a/src/main/java/me/retucio/camtweaks/module/modules/client/HUD.java +++ b/src/main/java/me/retucio/sputnik/module/modules/client/HUD.java @@ -1,13 +1,12 @@ -package me.retucio.camtweaks.module.modules.client; +package me.retucio.sputnik.module.modules.client; -import me.retucio.camtweaks.CameraTweaks; -import me.retucio.camtweaks.module.Category; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.module.settings.*; -import me.retucio.camtweaks.ui.hud.HudElement; -import me.retucio.camtweaks.ui.hud.HudRenderer; -import me.retucio.camtweaks.ui.hud.HudEditorScreen; -import me.retucio.camtweaks.ui.hud.elements.DynoElement; +import me.retucio.sputnik.module.Category; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.module.settings.*; +import me.retucio.sputnik.ui.hud.HudElement; +import me.retucio.sputnik.ui.hud.HudRenderer; +import me.retucio.sputnik.ui.hud.HudEditorScreen; +import me.retucio.sputnik.ui.hud.elements.DynoElement; import org.lwjgl.glfw.GLFW; import java.awt.*; diff --git a/src/main/java/me/retucio/camtweaks/module/modules/misc/AntiInvis.java b/src/main/java/me/retucio/sputnik/module/modules/misc/AntiInvis.java similarity index 54% rename from src/main/java/me/retucio/camtweaks/module/modules/misc/AntiInvis.java rename to src/main/java/me/retucio/sputnik/module/modules/misc/AntiInvis.java index a7d1cac..cae386e 100644 --- a/src/main/java/me/retucio/camtweaks/module/modules/misc/AntiInvis.java +++ b/src/main/java/me/retucio/sputnik/module/modules/misc/AntiInvis.java @@ -1,10 +1,10 @@ -package me.retucio.camtweaks.module.modules.misc; +package me.retucio.sputnik.module.modules.misc; -import me.retucio.camtweaks.module.Category; -import me.retucio.camtweaks.module.Module; +import me.retucio.sputnik.module.Category; +import me.retucio.sputnik.module.Module; /** continúa en: - * @see me.retucio.camtweaks.mixin.EntityMixin + * @see me.retucio.sputnik.mixin.EntityMixin */ public class AntiInvis extends Module { diff --git a/src/main/java/me/retucio/camtweaks/module/modules/misc/AnvilFont.java b/src/main/java/me/retucio/sputnik/module/modules/misc/AnvilFont.java similarity index 95% rename from src/main/java/me/retucio/camtweaks/module/modules/misc/AnvilFont.java rename to src/main/java/me/retucio/sputnik/module/modules/misc/AnvilFont.java index d3d7002..e3df1cf 100644 --- a/src/main/java/me/retucio/camtweaks/module/modules/misc/AnvilFont.java +++ b/src/main/java/me/retucio/sputnik/module/modules/misc/AnvilFont.java @@ -1,13 +1,13 @@ -package me.retucio.camtweaks.module.modules.misc; +package me.retucio.sputnik.module.modules.misc; -import me.retucio.camtweaks.mixin.accessor.AnvilScreenAccessor; -import me.retucio.camtweaks.module.Category; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.module.settings.EnumSetting; +import me.retucio.sputnik.mixin.accessor.AnvilScreenAccessor; +import me.retucio.sputnik.module.Category; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.module.settings.EnumSetting; import net.minecraft.client.gui.screen.ingame.AnvilScreen; import net.minecraft.client.gui.widget.TextFieldWidget; -import me.retucio.camtweaks.module.modules.misc.AnvilFont.CustomFont.CharMap; +import me.retucio.sputnik.module.modules.misc.AnvilFont.CustomFont.CharMap; import java.util.Arrays; import java.util.HashMap; diff --git a/src/main/java/me/retucio/camtweaks/module/modules/misc/BossbarStack.java b/src/main/java/me/retucio/sputnik/module/modules/misc/BossbarStack.java similarity index 85% rename from src/main/java/me/retucio/camtweaks/module/modules/misc/BossbarStack.java rename to src/main/java/me/retucio/sputnik/module/modules/misc/BossbarStack.java index dfecf6f..f4b39e2 100644 --- a/src/main/java/me/retucio/camtweaks/module/modules/misc/BossbarStack.java +++ b/src/main/java/me/retucio/sputnik/module/modules/misc/BossbarStack.java @@ -1,11 +1,11 @@ -package me.retucio.camtweaks.module.modules.misc; +package me.retucio.sputnik.module.modules.misc; -import me.retucio.camtweaks.event.events.RenderBossbarEvent; -import me.retucio.camtweaks.event.SubscribeEvent; -import me.retucio.camtweaks.module.Category; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.module.settings.BooleanSetting; -import me.retucio.camtweaks.module.settings.NumberSetting; +import me.retucio.sputnik.event.events.RenderBossbarEvent; +import me.retucio.sputnik.event.SubscribeEvent; +import me.retucio.sputnik.module.Category; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.module.settings.BooleanSetting; +import me.retucio.sputnik.module.settings.NumberSetting; import net.minecraft.client.gui.hud.ClientBossBar; import net.minecraft.text.Text; diff --git a/src/main/java/me/retucio/camtweaks/module/modules/misc/ChatPlus.java b/src/main/java/me/retucio/sputnik/module/modules/misc/ChatPlus.java similarity index 88% rename from src/main/java/me/retucio/camtweaks/module/modules/misc/ChatPlus.java rename to src/main/java/me/retucio/sputnik/module/modules/misc/ChatPlus.java index 904483b..c4d35c1 100644 --- a/src/main/java/me/retucio/camtweaks/module/modules/misc/ChatPlus.java +++ b/src/main/java/me/retucio/sputnik/module/modules/misc/ChatPlus.java @@ -1,22 +1,21 @@ -package me.retucio.camtweaks.module.modules.misc; +package me.retucio.sputnik.module.modules.misc; import com.mojang.authlib.GameProfile; import it.unimi.dsi.fastutil.ints.IntArrayList; import it.unimi.dsi.fastutil.ints.IntList; -import me.retucio.camtweaks.CameraTweaks; -import me.retucio.camtweaks.command.CommandManager; -import me.retucio.camtweaks.event.SubscribeEvent; -import me.retucio.camtweaks.event.events.ClientClickEvent; -import me.retucio.camtweaks.event.events.ReceiveMessageEvent; -import me.retucio.camtweaks.event.events.SendMessageEvent; -import me.retucio.camtweaks.module.Category; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.module.settings.BooleanSetting; -import me.retucio.camtweaks.module.settings.NumberSetting; -import me.retucio.camtweaks.util.ChatUtil; -import me.retucio.camtweaks.util.interfaces.IChatHudLine; -import me.retucio.camtweaks.util.interfaces.IChatHudLineVisible; -import me.retucio.camtweaks.util.interfaces.TextVisitor; +import me.retucio.sputnik.command.CommandManager; +import me.retucio.sputnik.event.SubscribeEvent; +import me.retucio.sputnik.event.events.ClientClickEvent; +import me.retucio.sputnik.event.events.ReceiveMessageEvent; +import me.retucio.sputnik.event.events.SendMessageEvent; +import me.retucio.sputnik.module.Category; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.module.settings.BooleanSetting; +import me.retucio.sputnik.module.settings.NumberSetting; +import me.retucio.sputnik.util.ChatUtil; +import me.retucio.sputnik.util.interfaces.IChatHudLine; +import me.retucio.sputnik.util.interfaces.IChatHudLineVisible; +import me.retucio.sputnik.util.interfaces.TextVisitor; import net.minecraft.client.gl.RenderPipelines; import net.minecraft.client.gui.DrawContext; import net.minecraft.client.gui.PlayerSkinDrawer; @@ -35,10 +34,10 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; /** continúa en: - * @see me.retucio.camtweaks.mixin.ChatHudMixin - * @see me.retucio.camtweaks.mixin.ChatScreenMixin - * @see me.retucio.camtweaks.mixin.InGameHudMixin - * @see me.retucio.camtweaks.mixin.StringHelperMixin + * @see me.retucio.sputnik.mixin.ChatHudMixin + * @see me.retucio.sputnik.mixin.ChatScreenMixin + * @see me.retucio.sputnik.mixin.InGameHudMixin + * @see me.retucio.sputnik.mixin.StringHelperMixin */ public class ChatPlus extends Module { @@ -119,8 +118,8 @@ public class ChatPlus extends Module { } public void updateClientName() { - CUSTOM_HEAD_ENTRIES.add(new CustomHeadEntry(ChatUtil.getPrefixNoFormatting(), Identifier.of(CameraTweaks.MOD_ID, "icon_chat.png"))); // no funciona con formato de colores - CUSTOM_HEAD_ENTRIES.add(new CustomHeadEntry("[Debug]", Identifier.of(CameraTweaks.MOD_ID, "icon_mc.png"))); + CUSTOM_HEAD_ENTRIES.add(new CustomHeadEntry(ChatUtil.getPrefixNoFormatting(), Identifier.of(me.retucio.sputnik.Sputnik.MOD_ID, "icon_chat.png"))); // no funciona con formato de colores + CUSTOM_HEAD_ENTRIES.add(new CustomHeadEntry("[Debug]", Identifier.of(me.retucio.sputnik.Sputnik.MOD_ID, "icon_mc.png"))); } @SuppressWarnings("DataFlowIssue") diff --git a/src/main/java/me/retucio/camtweaks/module/modules/misc/FakePlayer.java b/src/main/java/me/retucio/sputnik/module/modules/misc/FakePlayer.java similarity index 89% rename from src/main/java/me/retucio/camtweaks/module/modules/misc/FakePlayer.java rename to src/main/java/me/retucio/sputnik/module/modules/misc/FakePlayer.java index 2ff2d38..8d29728 100644 --- a/src/main/java/me/retucio/camtweaks/module/modules/misc/FakePlayer.java +++ b/src/main/java/me/retucio/sputnik/module/modules/misc/FakePlayer.java @@ -1,9 +1,9 @@ -package me.retucio.camtweaks.module.modules.misc; +package me.retucio.sputnik.module.modules.misc; import com.mojang.authlib.GameProfile; -import me.retucio.camtweaks.module.Category; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.module.settings.StringSetting; +import me.retucio.sputnik.module.Category; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.module.settings.StringSetting; import net.minecraft.client.network.OtherClientPlayerEntity; import net.minecraft.entity.Entity; import net.minecraft.entity.player.PlayerEntity; diff --git a/src/main/java/me/retucio/camtweaks/module/modules/misc/ScreenshotPlus.java b/src/main/java/me/retucio/sputnik/module/modules/misc/ScreenshotPlus.java similarity index 94% rename from src/main/java/me/retucio/camtweaks/module/modules/misc/ScreenshotPlus.java rename to src/main/java/me/retucio/sputnik/module/modules/misc/ScreenshotPlus.java index 710e2bb..9f0f981 100644 --- a/src/main/java/me/retucio/camtweaks/module/modules/misc/ScreenshotPlus.java +++ b/src/main/java/me/retucio/sputnik/module/modules/misc/ScreenshotPlus.java @@ -1,12 +1,12 @@ -package me.retucio.camtweaks.module.modules.misc; +package me.retucio.sputnik.module.modules.misc; -import me.retucio.camtweaks.command.CommandManager; -import me.retucio.camtweaks.event.events.ClientClickEvent; -import me.retucio.camtweaks.module.Category; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.module.settings.BooleanSetting; -import me.retucio.camtweaks.module.settings.EnumSetting; -import me.retucio.camtweaks.util.ChatUtil; +import me.retucio.sputnik.command.CommandManager; +import me.retucio.sputnik.event.events.ClientClickEvent; +import me.retucio.sputnik.module.Category; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.module.settings.BooleanSetting; +import me.retucio.sputnik.module.settings.EnumSetting; +import me.retucio.sputnik.util.ChatUtil; import net.minecraft.client.texture.NativeImage; import net.minecraft.text.ClickEvent; import net.minecraft.text.HoverEvent; @@ -25,7 +25,7 @@ import java.io.IOException; /** continúa en: - * @see me.retucio.camtweaks.mixin.ScreenshotRecorderMixin + * @see me.retucio.sputnik.mixin.ScreenshotRecorderMixin */ public class ScreenshotPlus extends Module { diff --git a/src/main/java/me/retucio/camtweaks/module/modules/misc/ShulkerPeek.java b/src/main/java/me/retucio/sputnik/module/modules/misc/ShulkerPeek.java similarity index 87% rename from src/main/java/me/retucio/camtweaks/module/modules/misc/ShulkerPeek.java rename to src/main/java/me/retucio/sputnik/module/modules/misc/ShulkerPeek.java index 654cdb3..89cee67 100644 --- a/src/main/java/me/retucio/camtweaks/module/modules/misc/ShulkerPeek.java +++ b/src/main/java/me/retucio/sputnik/module/modules/misc/ShulkerPeek.java @@ -1,17 +1,17 @@ -package me.retucio.camtweaks.module.modules.misc; +package me.retucio.sputnik.module.modules.misc; -import me.retucio.camtweaks.event.SubscribeEvent; -import me.retucio.camtweaks.event.events.KeyEvent; -import me.retucio.camtweaks.mixin.accessor.HandledScreenAccessor; -import me.retucio.camtweaks.module.Category; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.module.settings.BooleanSetting; -import me.retucio.camtweaks.module.settings.KeySetting; -import me.retucio.camtweaks.ui.screen.PreviewScreen; -import me.retucio.camtweaks.util.ChatUtil; -import me.retucio.camtweaks.util.Colors; +import me.retucio.sputnik.event.SubscribeEvent; +import me.retucio.sputnik.event.events.KeyEvent; +import me.retucio.sputnik.mixin.accessor.HandledScreenAccessor; +import me.retucio.sputnik.module.Category; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.module.settings.BooleanSetting; +import me.retucio.sputnik.module.settings.KeySetting; +import me.retucio.sputnik.ui.screen.PreviewScreen; +import me.retucio.sputnik.util.ChatUtil; +import me.retucio.sputnik.util.Colors; -import me.retucio.camtweaks.util.InventoryUtil; +import me.retucio.sputnik.util.InventoryUtil; import net.minecraft.block.ShulkerBoxBlock; import net.minecraft.client.gui.screen.ingame.HandledScreen; import net.minecraft.component.DataComponentTypes; diff --git a/src/main/java/me/retucio/camtweaks/module/modules/network/BungeecordSpoofer.java b/src/main/java/me/retucio/sputnik/module/modules/network/BungeecordSpoofer.java similarity index 73% rename from src/main/java/me/retucio/camtweaks/module/modules/network/BungeecordSpoofer.java rename to src/main/java/me/retucio/sputnik/module/modules/network/BungeecordSpoofer.java index f383b47..d18c995 100644 --- a/src/main/java/me/retucio/camtweaks/module/modules/network/BungeecordSpoofer.java +++ b/src/main/java/me/retucio/sputnik/module/modules/network/BungeecordSpoofer.java @@ -1,9 +1,9 @@ -package me.retucio.camtweaks.module.modules.network; +package me.retucio.sputnik.module.modules.network; -import me.retucio.camtweaks.module.Category; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.module.settings.StringSetting; -import me.retucio.camtweaks.util.ChatUtil; +import me.retucio.sputnik.module.Category; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.module.settings.StringSetting; +import me.retucio.sputnik.util.ChatUtil; public class BungeecordSpoofer extends Module { diff --git a/src/main/java/me/retucio/camtweaks/module/modules/network/LogoutSpots.java b/src/main/java/me/retucio/sputnik/module/modules/network/LogoutSpots.java similarity index 93% rename from src/main/java/me/retucio/camtweaks/module/modules/network/LogoutSpots.java rename to src/main/java/me/retucio/sputnik/module/modules/network/LogoutSpots.java index 541cad9..b02391e 100644 --- a/src/main/java/me/retucio/camtweaks/module/modules/network/LogoutSpots.java +++ b/src/main/java/me/retucio/sputnik/module/modules/network/LogoutSpots.java @@ -1,17 +1,17 @@ -package me.retucio.camtweaks.module.modules.network; +package me.retucio.sputnik.module.modules.network; -import me.retucio.camtweaks.event.SubscribeEvent; -import me.retucio.camtweaks.event.events.AddEntityEvent; -import me.retucio.camtweaks.event.events.RenderWorldEvent; -import me.retucio.camtweaks.module.Category; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.misc.FakePlayer; -import me.retucio.camtweaks.module.settings.BooleanSetting; -import me.retucio.camtweaks.module.settings.ColorSetting; -import me.retucio.camtweaks.module.settings.NumberSetting; -import me.retucio.camtweaks.util.MiscUtil; -import me.retucio.camtweaks.util.render.RenderUtil; +import me.retucio.sputnik.event.SubscribeEvent; +import me.retucio.sputnik.event.events.AddEntityEvent; +import me.retucio.sputnik.event.events.RenderWorldEvent; +import me.retucio.sputnik.module.Category; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.misc.FakePlayer; +import me.retucio.sputnik.module.settings.BooleanSetting; +import me.retucio.sputnik.module.settings.ColorSetting; +import me.retucio.sputnik.module.settings.NumberSetting; +import me.retucio.sputnik.util.MiscUtil; +import me.retucio.sputnik.util.render.RenderUtil; import net.minecraft.client.network.OtherClientPlayerEntity; import net.minecraft.client.network.PlayerListEntry; import net.minecraft.client.util.math.MatrixStack; diff --git a/src/main/java/me/retucio/camtweaks/module/modules/network/PacketDelay.java b/src/main/java/me/retucio/sputnik/module/modules/network/PacketDelay.java similarity index 90% rename from src/main/java/me/retucio/camtweaks/module/modules/network/PacketDelay.java rename to src/main/java/me/retucio/sputnik/module/modules/network/PacketDelay.java index 0c40f29..cd75406 100644 --- a/src/main/java/me/retucio/camtweaks/module/modules/network/PacketDelay.java +++ b/src/main/java/me/retucio/sputnik/module/modules/network/PacketDelay.java @@ -1,14 +1,14 @@ -package me.retucio.camtweaks.module.modules.network; +package me.retucio.sputnik.module.modules.network; -import me.retucio.camtweaks.event.JoinWorldEvent; -import me.retucio.camtweaks.event.SubscribeEvent; -import me.retucio.camtweaks.event.events.PacketEvent; -import me.retucio.camtweaks.module.Category; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.module.settings.EnumSetting; -import me.retucio.camtweaks.module.settings.NumberSetting; -import me.retucio.camtweaks.util.ChatUtil; -import me.retucio.camtweaks.util.NetworkUtil; +import me.retucio.sputnik.event.JoinWorldEvent; +import me.retucio.sputnik.event.SubscribeEvent; +import me.retucio.sputnik.event.events.PacketEvent; +import me.retucio.sputnik.module.Category; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.module.settings.EnumSetting; +import me.retucio.sputnik.module.settings.NumberSetting; +import me.retucio.sputnik.util.ChatUtil; +import me.retucio.sputnik.util.NetworkUtil; import net.minecraft.network.ClientConnection; import net.minecraft.network.listener.PacketListener; diff --git a/src/main/java/me/retucio/camtweaks/module/modules/network/RPackBypass.java b/src/main/java/me/retucio/sputnik/module/modules/network/RPackBypass.java similarity index 58% rename from src/main/java/me/retucio/camtweaks/module/modules/network/RPackBypass.java rename to src/main/java/me/retucio/sputnik/module/modules/network/RPackBypass.java index 4b06fbb..230ff21 100644 --- a/src/main/java/me/retucio/camtweaks/module/modules/network/RPackBypass.java +++ b/src/main/java/me/retucio/sputnik/module/modules/network/RPackBypass.java @@ -1,17 +1,17 @@ -package me.retucio.camtweaks.module.modules.network; +package me.retucio.sputnik.module.modules.network; -import me.retucio.camtweaks.module.Category; -import me.retucio.camtweaks.module.Module; +import me.retucio.sputnik.module.Category; +import me.retucio.sputnik.module.Module; import net.minecraft.client.network.ServerInfo; import net.minecraft.text.Text; /** continúa en: - * @see me.retucio.camtweaks.mixin.ClientCommonNetworkHandlerMixin - * @see me.retucio.camtweaks.mixin.ConfirmScreenMixin - * @see me.retucio.camtweaks.mixin.ResourcePackPolicyMixin - * @see me.retucio.camtweaks.mixin.ServerConnectorMixin - * @see me.retucio.camtweaks.mixin.ServerInfoMixin + * @see me.retucio.sputnik.mixin.ClientCommonNetworkHandlerMixin + * @see me.retucio.sputnik.mixin.ConfirmScreenMixin + * @see me.retucio.sputnik.mixin.ResourcePackPolicyMixin + * @see me.retucio.sputnik.mixin.ServerConnectorMixin + * @see me.retucio.sputnik.mixin.ServerInfoMixin */ public class RPackBypass extends Module { diff --git a/src/main/java/me/retucio/camtweaks/module/modules/network/Reconnect.java b/src/main/java/me/retucio/sputnik/module/modules/network/Reconnect.java similarity index 77% rename from src/main/java/me/retucio/camtweaks/module/modules/network/Reconnect.java rename to src/main/java/me/retucio/sputnik/module/modules/network/Reconnect.java index 7c7f168..9484bb3 100644 --- a/src/main/java/me/retucio/camtweaks/module/modules/network/Reconnect.java +++ b/src/main/java/me/retucio/sputnik/module/modules/network/Reconnect.java @@ -1,9 +1,9 @@ -package me.retucio.camtweaks.module.modules.network; +package me.retucio.sputnik.module.modules.network; -import me.retucio.camtweaks.event.SubscribeEvent; -import me.retucio.camtweaks.event.events.DisconnectEvent; -import me.retucio.camtweaks.module.Category; -import me.retucio.camtweaks.module.Module; +import me.retucio.sputnik.event.SubscribeEvent; +import me.retucio.sputnik.event.events.DisconnectEvent; +import me.retucio.sputnik.module.Category; +import me.retucio.sputnik.module.Module; import net.minecraft.client.gui.screen.multiplayer.ConnectScreen; import net.minecraft.client.network.ServerAddress; import net.minecraft.client.network.ServerInfo; diff --git a/src/main/java/me/retucio/camtweaks/module/modules/player/AttributeSwapper.java b/src/main/java/me/retucio/sputnik/module/modules/player/AttributeSwapper.java similarity index 78% rename from src/main/java/me/retucio/camtweaks/module/modules/player/AttributeSwapper.java rename to src/main/java/me/retucio/sputnik/module/modules/player/AttributeSwapper.java index 4d2f51d..7b9516d 100644 --- a/src/main/java/me/retucio/camtweaks/module/modules/player/AttributeSwapper.java +++ b/src/main/java/me/retucio/sputnik/module/modules/player/AttributeSwapper.java @@ -1,11 +1,11 @@ -package me.retucio.camtweaks.module.modules.player; +package me.retucio.sputnik.module.modules.player; -import me.retucio.camtweaks.event.SubscribeEvent; -import me.retucio.camtweaks.event.events.AttackEntityEvent; -import me.retucio.camtweaks.module.Category; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.module.settings.BooleanSetting; -import me.retucio.camtweaks.module.settings.NumberSetting; +import me.retucio.sputnik.event.SubscribeEvent; +import me.retucio.sputnik.event.events.AttackEntityEvent; +import me.retucio.sputnik.module.Category; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.module.settings.BooleanSetting; +import me.retucio.sputnik.module.settings.NumberSetting; public class AttributeSwapper extends Module { diff --git a/src/main/java/me/retucio/camtweaks/module/modules/player/ElytraBounce.java b/src/main/java/me/retucio/sputnik/module/modules/player/ElytraBounce.java similarity index 93% rename from src/main/java/me/retucio/camtweaks/module/modules/player/ElytraBounce.java rename to src/main/java/me/retucio/sputnik/module/modules/player/ElytraBounce.java index 471a993..c14d3c1 100644 --- a/src/main/java/me/retucio/camtweaks/module/modules/player/ElytraBounce.java +++ b/src/main/java/me/retucio/sputnik/module/modules/player/ElytraBounce.java @@ -1,7 +1,7 @@ -package me.retucio.camtweaks.module.modules.player; +package me.retucio.sputnik.module.modules.player; -import me.retucio.camtweaks.module.Category; -import me.retucio.camtweaks.module.Module; +import me.retucio.sputnik.module.Category; +import me.retucio.sputnik.module.Module; import net.minecraft.entity.EquipmentSlot; import net.minecraft.entity.LivingEntity; import net.minecraft.entity.effect.StatusEffects; diff --git a/src/main/java/me/retucio/camtweaks/module/modules/player/FastUse.java b/src/main/java/me/retucio/sputnik/module/modules/player/FastUse.java similarity index 82% rename from src/main/java/me/retucio/camtweaks/module/modules/player/FastUse.java rename to src/main/java/me/retucio/sputnik/module/modules/player/FastUse.java index a44bb1e..ef66e6b 100644 --- a/src/main/java/me/retucio/camtweaks/module/modules/player/FastUse.java +++ b/src/main/java/me/retucio/sputnik/module/modules/player/FastUse.java @@ -1,9 +1,9 @@ -package me.retucio.camtweaks.module.modules.player; +package me.retucio.sputnik.module.modules.player; -import me.retucio.camtweaks.module.Category; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.module.settings.BooleanSetting; -import me.retucio.camtweaks.module.settings.NumberSetting; +import me.retucio.sputnik.module.Category; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.module.settings.BooleanSetting; +import me.retucio.sputnik.module.settings.NumberSetting; import net.minecraft.item.BlockItem; import net.minecraft.item.ItemStack; diff --git a/src/main/java/me/retucio/camtweaks/module/modules/player/HandView.java b/src/main/java/me/retucio/sputnik/module/modules/player/HandView.java similarity index 93% rename from src/main/java/me/retucio/camtweaks/module/modules/player/HandView.java rename to src/main/java/me/retucio/sputnik/module/modules/player/HandView.java index 2b97ae0..82299d5 100644 --- a/src/main/java/me/retucio/camtweaks/module/modules/player/HandView.java +++ b/src/main/java/me/retucio/sputnik/module/modules/player/HandView.java @@ -1,19 +1,19 @@ -package me.retucio.camtweaks.module.modules.player; +package me.retucio.sputnik.module.modules.player; -import me.retucio.camtweaks.event.SubscribeEvent; -import me.retucio.camtweaks.event.events.RenderHeldItemEvent; -import me.retucio.camtweaks.event.events.RenderArmEvent; -import me.retucio.camtweaks.module.Category; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.module.settings.BooleanSetting; -import me.retucio.camtweaks.module.settings.NumberSetting; +import me.retucio.sputnik.event.SubscribeEvent; +import me.retucio.sputnik.event.events.RenderHeldItemEvent; +import me.retucio.sputnik.event.events.RenderArmEvent; +import me.retucio.sputnik.module.Category; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.module.settings.BooleanSetting; +import me.retucio.sputnik.module.settings.NumberSetting; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.util.Hand; import net.minecraft.util.math.RotationAxis; import org.joml.Vector3d; /** continúa en: - * @see me.retucio.camtweaks.mixin.HeldItemRendererMixin + * @see me.retucio.sputnik.mixin.HeldItemRendererMixin */ public class HandView extends Module { diff --git a/src/main/java/me/retucio/camtweaks/module/modules/player/Headhitters.java b/src/main/java/me/retucio/sputnik/module/modules/player/Headhitters.java similarity index 70% rename from src/main/java/me/retucio/camtweaks/module/modules/player/Headhitters.java rename to src/main/java/me/retucio/sputnik/module/modules/player/Headhitters.java index c04e390..b46e219 100644 --- a/src/main/java/me/retucio/camtweaks/module/modules/player/Headhitters.java +++ b/src/main/java/me/retucio/sputnik/module/modules/player/Headhitters.java @@ -1,8 +1,8 @@ -package me.retucio.camtweaks.module.modules.player; +package me.retucio.sputnik.module.modules.player; -import me.retucio.camtweaks.module.Category; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.module.settings.NumberSetting; +import me.retucio.sputnik.module.Category; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.module.settings.NumberSetting; public class Headhitters extends Module { diff --git a/src/main/java/me/retucio/camtweaks/module/modules/player/InventoryPlus.java b/src/main/java/me/retucio/sputnik/module/modules/player/InventoryPlus.java similarity index 81% rename from src/main/java/me/retucio/camtweaks/module/modules/player/InventoryPlus.java rename to src/main/java/me/retucio/sputnik/module/modules/player/InventoryPlus.java index fc351af..741a752 100644 --- a/src/main/java/me/retucio/camtweaks/module/modules/player/InventoryPlus.java +++ b/src/main/java/me/retucio/sputnik/module/modules/player/InventoryPlus.java @@ -1,15 +1,15 @@ -package me.retucio.camtweaks.module.modules.player; +package me.retucio.sputnik.module.modules.player; -import me.retucio.camtweaks.event.Event; -import me.retucio.camtweaks.event.SubscribeEvent; -import me.retucio.camtweaks.event.events.KeyEvent; -import me.retucio.camtweaks.event.events.MouseClickEvent; -import me.retucio.camtweaks.mixin.accessor.HandledScreenAccessor; -import me.retucio.camtweaks.module.Category; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.module.settings.KeySetting; -import me.retucio.camtweaks.util.InventoryUtil; -import me.retucio.camtweaks.util.KeyUtil; +import me.retucio.sputnik.event.Event; +import me.retucio.sputnik.event.SubscribeEvent; +import me.retucio.sputnik.event.events.KeyEvent; +import me.retucio.sputnik.event.events.MouseClickEvent; +import me.retucio.sputnik.mixin.accessor.HandledScreenAccessor; +import me.retucio.sputnik.module.Category; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.module.settings.KeySetting; +import me.retucio.sputnik.util.InventoryUtil; +import me.retucio.sputnik.util.KeyUtil; import net.minecraft.client.gui.screen.ingame.HandledScreen; import net.minecraft.screen.slot.Slot; import org.lwjgl.glfw.GLFW; diff --git a/src/main/java/me/retucio/camtweaks/module/modules/player/Offhand.java b/src/main/java/me/retucio/sputnik/module/modules/player/Offhand.java similarity index 90% rename from src/main/java/me/retucio/camtweaks/module/modules/player/Offhand.java rename to src/main/java/me/retucio/sputnik/module/modules/player/Offhand.java index b6441a5..c6af19e 100644 --- a/src/main/java/me/retucio/camtweaks/module/modules/player/Offhand.java +++ b/src/main/java/me/retucio/sputnik/module/modules/player/Offhand.java @@ -1,11 +1,11 @@ -package me.retucio.camtweaks.module.modules.player; +package me.retucio.sputnik.module.modules.player; -import me.retucio.camtweaks.module.Category; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.module.settings.BooleanSetting; -import me.retucio.camtweaks.module.settings.NumberSetting; -import me.retucio.camtweaks.module.settings.OptionSetting; -import me.retucio.camtweaks.util.Lists; +import me.retucio.sputnik.module.Category; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.module.settings.BooleanSetting; +import me.retucio.sputnik.module.settings.NumberSetting; +import me.retucio.sputnik.module.settings.OptionSetting; +import me.retucio.sputnik.util.Lists; import net.minecraft.item.Item; import net.minecraft.item.Items; import net.minecraft.network.packet.c2s.play.PlayerActionC2SPacket; diff --git a/src/main/java/me/retucio/camtweaks/module/modules/player/PortalGUI.java b/src/main/java/me/retucio/sputnik/module/modules/player/PortalGUI.java similarity index 57% rename from src/main/java/me/retucio/camtweaks/module/modules/player/PortalGUI.java rename to src/main/java/me/retucio/sputnik/module/modules/player/PortalGUI.java index 8da7ffd..6f901ca 100644 --- a/src/main/java/me/retucio/camtweaks/module/modules/player/PortalGUI.java +++ b/src/main/java/me/retucio/sputnik/module/modules/player/PortalGUI.java @@ -1,10 +1,10 @@ -package me.retucio.camtweaks.module.modules.player; +package me.retucio.sputnik.module.modules.player; -import me.retucio.camtweaks.module.Category; -import me.retucio.camtweaks.module.Module; +import me.retucio.sputnik.module.Category; +import me.retucio.sputnik.module.Module; /** continúa en: - * @see me.retucio.camtweaks.mixin.ClientPlayerEntityMixin + * @see me.retucio.sputnik.mixin.ClientPlayerEntityMixin */ public class PortalGUI extends Module { diff --git a/src/main/java/me/retucio/camtweaks/module/modules/player/SafeWalk.java b/src/main/java/me/retucio/sputnik/module/modules/player/SafeWalk.java similarity index 85% rename from src/main/java/me/retucio/camtweaks/module/modules/player/SafeWalk.java rename to src/main/java/me/retucio/sputnik/module/modules/player/SafeWalk.java index 1461e63..ebdc44b 100644 --- a/src/main/java/me/retucio/camtweaks/module/modules/player/SafeWalk.java +++ b/src/main/java/me/retucio/sputnik/module/modules/player/SafeWalk.java @@ -1,10 +1,10 @@ -package me.retucio.camtweaks.module.modules.player; +package me.retucio.sputnik.module.modules.player; -import me.retucio.camtweaks.event.SubscribeEvent; -import me.retucio.camtweaks.event.events.ClipAtLedgeEvent; -import me.retucio.camtweaks.module.Category; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.module.settings.NumberSetting; +import me.retucio.sputnik.event.SubscribeEvent; +import me.retucio.sputnik.event.events.ClipAtLedgeEvent; +import me.retucio.sputnik.module.Category; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.module.settings.NumberSetting; import net.minecraft.util.hit.BlockHitResult; import net.minecraft.util.hit.HitResult; import net.minecraft.util.math.Vec3d; diff --git a/src/main/java/me/retucio/camtweaks/module/modules/player/UIMove.java b/src/main/java/me/retucio/sputnik/module/modules/player/UIMove.java similarity index 87% rename from src/main/java/me/retucio/camtweaks/module/modules/player/UIMove.java rename to src/main/java/me/retucio/sputnik/module/modules/player/UIMove.java index fca1c60..59c53fa 100644 --- a/src/main/java/me/retucio/camtweaks/module/modules/player/UIMove.java +++ b/src/main/java/me/retucio/sputnik/module/modules/player/UIMove.java @@ -1,12 +1,12 @@ -package me.retucio.camtweaks.module.modules.player; +package me.retucio.sputnik.module.modules.player; -import me.retucio.camtweaks.mixin.accessor.KeyBindingAccessor; -import me.retucio.camtweaks.module.Category; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.module.settings.ListSetting; -import me.retucio.camtweaks.ui.screen.ClickGUI; -import me.retucio.camtweaks.util.KeyUtil; -import me.retucio.camtweaks.util.Lists; +import me.retucio.sputnik.mixin.accessor.KeyBindingAccessor; +import me.retucio.sputnik.module.Category; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.module.settings.ListSetting; +import me.retucio.sputnik.ui.screen.ClickGUI; +import me.retucio.sputnik.util.KeyUtil; +import me.retucio.sputnik.util.Lists; import net.minecraft.client.gui.screen.ingame.HandledScreen; import net.minecraft.client.option.KeyBinding; diff --git a/src/main/java/me/retucio/camtweaks/module/modules/player/WarnLowDurability.java b/src/main/java/me/retucio/sputnik/module/modules/player/WarnLowDurability.java similarity index 89% rename from src/main/java/me/retucio/camtweaks/module/modules/player/WarnLowDurability.java rename to src/main/java/me/retucio/sputnik/module/modules/player/WarnLowDurability.java index 604c066..0f4a673 100644 --- a/src/main/java/me/retucio/camtweaks/module/modules/player/WarnLowDurability.java +++ b/src/main/java/me/retucio/sputnik/module/modules/player/WarnLowDurability.java @@ -1,12 +1,12 @@ -package me.retucio.camtweaks.module.modules.player; +package me.retucio.sputnik.module.modules.player; -import me.retucio.camtweaks.module.Category; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.module.settings.BooleanSetting; -import me.retucio.camtweaks.module.settings.NumberSetting; -import me.retucio.camtweaks.module.settings.OptionSetting; -import me.retucio.camtweaks.util.ChatUtil; -import me.retucio.camtweaks.util.Lists; +import me.retucio.sputnik.module.Category; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.module.settings.BooleanSetting; +import me.retucio.sputnik.module.settings.NumberSetting; +import me.retucio.sputnik.module.settings.OptionSetting; +import me.retucio.sputnik.util.ChatUtil; +import me.retucio.sputnik.util.Lists; import net.minecraft.item.ItemStack; import net.minecraft.sound.SoundCategory; import net.minecraft.sound.SoundEvent; diff --git a/src/main/java/me/retucio/camtweaks/module/modules/render/BlockESP.java b/src/main/java/me/retucio/sputnik/module/modules/render/BlockESP.java similarity index 82% rename from src/main/java/me/retucio/camtweaks/module/modules/render/BlockESP.java rename to src/main/java/me/retucio/sputnik/module/modules/render/BlockESP.java index dc0b75b..128d756 100644 --- a/src/main/java/me/retucio/camtweaks/module/modules/render/BlockESP.java +++ b/src/main/java/me/retucio/sputnik/module/modules/render/BlockESP.java @@ -1,20 +1,17 @@ -package me.retucio.camtweaks.module.modules.render; +package me.retucio.sputnik.module.modules.render; -import me.retucio.camtweaks.event.SubscribeEvent; -import me.retucio.camtweaks.event.events.RenderWorldEvent; -import me.retucio.camtweaks.module.Category; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.module.settings.BooleanSetting; -import me.retucio.camtweaks.module.settings.ColorSetting; -import me.retucio.camtweaks.module.settings.ListSetting; -import me.retucio.camtweaks.module.settings.NumberSetting; -import me.retucio.camtweaks.util.ChatUtil; -import me.retucio.camtweaks.util.Colors; -import me.retucio.camtweaks.util.Lists; -import me.retucio.camtweaks.util.render.RenderUtil; +import me.retucio.sputnik.event.SubscribeEvent; +import me.retucio.sputnik.event.events.RenderWorldEvent; +import me.retucio.sputnik.module.Category; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.module.settings.BooleanSetting; +import me.retucio.sputnik.module.settings.ColorSetting; +import me.retucio.sputnik.module.settings.ListSetting; +import me.retucio.sputnik.module.settings.NumberSetting; +import me.retucio.sputnik.util.Colors; +import me.retucio.sputnik.util.Lists; +import me.retucio.sputnik.util.render.RenderUtil; import net.minecraft.block.Block; -import net.minecraft.client.render.OverlayTexture; -import net.minecraft.util.Identifier; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Vec3i; import net.minecraft.util.shape.VoxelShape; diff --git a/src/main/java/me/retucio/camtweaks/module/modules/render/BlockOutline.java b/src/main/java/me/retucio/sputnik/module/modules/render/BlockOutline.java similarity index 60% rename from src/main/java/me/retucio/camtweaks/module/modules/render/BlockOutline.java rename to src/main/java/me/retucio/sputnik/module/modules/render/BlockOutline.java index 49accb9..7303117 100644 --- a/src/main/java/me/retucio/camtweaks/module/modules/render/BlockOutline.java +++ b/src/main/java/me/retucio/sputnik/module/modules/render/BlockOutline.java @@ -1,13 +1,13 @@ -package me.retucio.camtweaks.module.modules.render; +package me.retucio.sputnik.module.modules.render; -import me.retucio.camtweaks.module.Category; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.module.settings.ColorSetting; +import me.retucio.sputnik.module.Category; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.module.settings.ColorSetting; import java.awt.*; /** continúa en: - * @see me.retucio.camtweaks.mixin.WorldRendererMixin + * @see me.retucio.sputnik.mixin.WorldRendererMixin */ public class BlockOutline extends Module { diff --git a/src/main/java/me/retucio/camtweaks/module/modules/render/BreakingProgress.java b/src/main/java/me/retucio/sputnik/module/modules/render/BreakingProgress.java similarity index 85% rename from src/main/java/me/retucio/camtweaks/module/modules/render/BreakingProgress.java rename to src/main/java/me/retucio/sputnik/module/modules/render/BreakingProgress.java index bdac511..c109396 100644 --- a/src/main/java/me/retucio/camtweaks/module/modules/render/BreakingProgress.java +++ b/src/main/java/me/retucio/sputnik/module/modules/render/BreakingProgress.java @@ -1,14 +1,14 @@ -package me.retucio.camtweaks.module.modules.render; +package me.retucio.sputnik.module.modules.render; -import me.retucio.camtweaks.event.SubscribeEvent; -import me.retucio.camtweaks.event.events.RenderWorldEvent; -import me.retucio.camtweaks.module.Category; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.module.settings.BooleanSetting; -import me.retucio.camtweaks.module.settings.ColorSetting; -import me.retucio.camtweaks.module.settings.EnumSetting; -import me.retucio.camtweaks.module.settings.NumberSetting; -import me.retucio.camtweaks.util.render.RenderUtil; +import me.retucio.sputnik.event.SubscribeEvent; +import me.retucio.sputnik.event.events.RenderWorldEvent; +import me.retucio.sputnik.module.Category; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.module.settings.BooleanSetting; +import me.retucio.sputnik.module.settings.ColorSetting; +import me.retucio.sputnik.module.settings.EnumSetting; +import me.retucio.sputnik.module.settings.NumberSetting; +import me.retucio.sputnik.util.render.RenderUtil; import net.minecraft.util.hit.BlockHitResult; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Box; diff --git a/src/main/java/me/retucio/camtweaks/module/modules/render/CritsPlus.java b/src/main/java/me/retucio/sputnik/module/modules/render/CritsPlus.java similarity index 63% rename from src/main/java/me/retucio/camtweaks/module/modules/render/CritsPlus.java rename to src/main/java/me/retucio/sputnik/module/modules/render/CritsPlus.java index 4228f9d..398a601 100644 --- a/src/main/java/me/retucio/camtweaks/module/modules/render/CritsPlus.java +++ b/src/main/java/me/retucio/sputnik/module/modules/render/CritsPlus.java @@ -1,16 +1,16 @@ -package me.retucio.camtweaks.module.modules.render; +package me.retucio.sputnik.module.modules.render; -import me.retucio.camtweaks.module.Category; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.module.settings.BooleanSetting; -import me.retucio.camtweaks.module.settings.ColorSetting; -import me.retucio.camtweaks.module.settings.NumberSetting; +import me.retucio.sputnik.module.Category; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.module.settings.BooleanSetting; +import me.retucio.sputnik.module.settings.ColorSetting; +import me.retucio.sputnik.module.settings.NumberSetting; import java.awt.*; /** continúa en: - * @see me.retucio.camtweaks.mixin.DamageParticleMixin - * @see me.retucio.camtweaks.mixin.DamageParticleFactoryMixin + * @see me.retucio.sputnik.mixin.DamageParticleMixin + * @see me.retucio.sputnik.mixin.DamageParticleFactoryMixin */ public class CritsPlus extends Module { @@ -18,7 +18,7 @@ public class CritsPlus extends Module { public ColorSetting color = addSetting(new ColorSetting("color", "color de las partículas", new Color(0, 0, 255, 255), false)); public NumberSetting scale = addSetting(new NumberSetting("escala", "tamaño", 1, 0, 2, 0.05)); - public NumberSetting multiplier; // no sé dónde se calcula cuántas partículas aparecen :/ + public NumberSetting multiplier = addSetting(new NumberSetting("múltiplo", "número por el que multiplicar la cantidad de partículas generadas", 1, 0, 10, 0.1)); public NumberSetting velocityMultipler = addSetting(new NumberSetting("dispersión", "multiplicador de la velocidad de dispersión", 1, 0, 10, 0.1)); public NumberSetting gravity = addSetting(new NumberSetting("gravedad", "multiplicador de fuerza de gravedad", 1, 0, 10, 0.1)); public NumberSetting maxAge = addSetting(new NumberSetting("vida máxima", "cuánto persiste la partícula", 10, 0, 50, 1)); diff --git a/src/main/java/me/retucio/camtweaks/module/modules/render/DamageOverlay.java b/src/main/java/me/retucio/sputnik/module/modules/render/DamageOverlay.java similarity index 86% rename from src/main/java/me/retucio/camtweaks/module/modules/render/DamageOverlay.java rename to src/main/java/me/retucio/sputnik/module/modules/render/DamageOverlay.java index a3fad24..4a1f3de 100644 --- a/src/main/java/me/retucio/camtweaks/module/modules/render/DamageOverlay.java +++ b/src/main/java/me/retucio/sputnik/module/modules/render/DamageOverlay.java @@ -1,9 +1,9 @@ -package me.retucio.camtweaks.module.modules.render; +package me.retucio.sputnik.module.modules.render; -import me.retucio.camtweaks.mixin.accessor.OverlayTextureAccessor; -import me.retucio.camtweaks.module.Category; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.module.settings.ColorSetting; +import me.retucio.sputnik.mixin.accessor.OverlayTextureAccessor; +import me.retucio.sputnik.module.Category; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.module.settings.ColorSetting; import net.minecraft.client.texture.NativeImage; import net.minecraft.client.texture.NativeImageBackedTexture; @@ -11,7 +11,7 @@ import net.minecraft.client.texture.NativeImageBackedTexture; import java.awt.*; /** continúa en: - * @see me.retucio.camtweaks.mixin.OverlayTextureMixin + * @see me.retucio.sputnik.mixin.OverlayTextureMixin */ public class DamageOverlay extends Module { diff --git a/src/main/java/me/retucio/camtweaks/module/modules/render/GlintPlus.java b/src/main/java/me/retucio/sputnik/module/modules/render/GlintPlus.java similarity index 84% rename from src/main/java/me/retucio/camtweaks/module/modules/render/GlintPlus.java rename to src/main/java/me/retucio/sputnik/module/modules/render/GlintPlus.java index 908f566..86e2512 100644 --- a/src/main/java/me/retucio/camtweaks/module/modules/render/GlintPlus.java +++ b/src/main/java/me/retucio/sputnik/module/modules/render/GlintPlus.java @@ -1,18 +1,18 @@ -package me.retucio.camtweaks.module.modules.render; +package me.retucio.sputnik.module.modules.render; -import me.retucio.camtweaks.module.Category; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.module.settings.BooleanSetting; -import me.retucio.camtweaks.module.settings.EnumSetting; -import me.retucio.camtweaks.util.render.GlintRenderLayer; +import me.retucio.sputnik.module.Category; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.module.settings.BooleanSetting; +import me.retucio.sputnik.module.settings.EnumSetting; +import me.retucio.sputnik.util.render.GlintRenderLayer; import net.minecraft.client.render.RenderLayer; import net.minecraft.client.render.RenderLayers; import net.minecraft.util.DyeColor; /** continúa en: - * @see me.retucio.camtweaks.mixin.BufferStorageMixin - * @see me.retucio.camtweaks.mixin.EquipmentRendererMixin - * @see me.retucio.camtweaks.mixin.ItemRendererMixin + * @see me.retucio.sputnik.mixin.BufferStorageMixin + * @see me.retucio.sputnik.mixin.EquipmentRendererMixin + * @see me.retucio.sputnik.mixin.ItemRendererMixin */ public class GlintPlus extends Module { diff --git a/src/main/java/me/retucio/camtweaks/module/modules/render/Nametags.java b/src/main/java/me/retucio/sputnik/module/modules/render/Nametags.java similarity index 92% rename from src/main/java/me/retucio/camtweaks/module/modules/render/Nametags.java rename to src/main/java/me/retucio/sputnik/module/modules/render/Nametags.java index fc60d5d..35d98b5 100644 --- a/src/main/java/me/retucio/camtweaks/module/modules/render/Nametags.java +++ b/src/main/java/me/retucio/sputnik/module/modules/render/Nametags.java @@ -1,13 +1,13 @@ -package me.retucio.camtweaks.module.modules.render; +package me.retucio.sputnik.module.modules.render; import com.google.gson.JsonObject; import com.google.gson.JsonParser; -import me.retucio.camtweaks.module.Category; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.module.settings.BooleanSetting; -import me.retucio.camtweaks.module.settings.EnumSetting; -import me.retucio.camtweaks.module.settings.ListSetting; -import me.retucio.camtweaks.util.Lists; +import me.retucio.sputnik.module.Category; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.module.settings.BooleanSetting; +import me.retucio.sputnik.module.settings.EnumSetting; +import me.retucio.sputnik.module.settings.ListSetting; +import me.retucio.sputnik.util.Lists; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.EntityType; import net.minecraft.entity.LazyEntityReference; @@ -30,10 +30,10 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; /** continúa en: - * @see me.retucio.camtweaks.mixin.EntityMixin - * @see me.retucio.camtweaks.mixin.ItemEntityMixin - * @see me.retucio.camtweaks.mixin.LivingEntityRendererMixin - * @see me.retucio.camtweaks.mixin.PlayerEntityMixin + * @see me.retucio.sputnik.mixin.EntityMixin + * @see me.retucio.sputnik.mixin.ItemEntityMixin + * @see me.retucio.sputnik.mixin.LivingEntityRendererMixin + * @see me.retucio.sputnik.mixin.PlayerEntityMixin */ public class Nametags extends Module { diff --git a/src/main/java/me/retucio/camtweaks/module/modules/render/NoRender.java b/src/main/java/me/retucio/sputnik/module/modules/render/NoRender.java similarity index 80% rename from src/main/java/me/retucio/camtweaks/module/modules/render/NoRender.java rename to src/main/java/me/retucio/sputnik/module/modules/render/NoRender.java index 3cd89f3..784a4eb 100644 --- a/src/main/java/me/retucio/camtweaks/module/modules/render/NoRender.java +++ b/src/main/java/me/retucio/sputnik/module/modules/render/NoRender.java @@ -1,25 +1,25 @@ -package me.retucio.camtweaks.module.modules.render; +package me.retucio.sputnik.module.modules.render; -import me.retucio.camtweaks.module.Category; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.module.settings.BooleanSetting; -import me.retucio.camtweaks.module.settings.EnumSetting; -import me.retucio.camtweaks.module.settings.ListSetting; -import me.retucio.camtweaks.util.Lists; +import me.retucio.sputnik.module.Category; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.module.settings.BooleanSetting; +import me.retucio.sputnik.module.settings.EnumSetting; +import me.retucio.sputnik.module.settings.ListSetting; +import me.retucio.sputnik.util.Lists; import net.minecraft.particle.ParticleType; import net.minecraft.util.Formatting; /** continúa en: - * @see me.retucio.camtweaks.mixin.ClientPlayNetworkHandlerMixin - * @see me.retucio.camtweaks.mixin.FogRendererMixin - * @see me.retucio.camtweaks.mixin.GameRendererMixin - * @see me.retucio.camtweaks.mixin.InGameHudMixin - * @see me.retucio.camtweaks.mixin.InGameOverlayRendererMixin - * @see me.retucio.camtweaks.mixin.ParticleManagerMixin - * @see me.retucio.camtweaks.mixin.StatusEffectFogModifierMixin - * @see me.retucio.camtweaks.mixin.StuckArrowsFeatureRendererMixin - * @see me.retucio.camtweaks.mixin.TextRendererDrawerMixin - * @see me.retucio.camtweaks.mixin.WeatherRenderingMixin + * @see me.retucio.sputnik.mixin.ClientPlayNetworkHandlerMixin + * @see me.retucio.sputnik.mixin.FogRendererMixin + * @see me.retucio.sputnik.mixin.GameRendererMixin + * @see me.retucio.sputnik.mixin.InGameHudMixin + * @see me.retucio.sputnik.mixin.InGameOverlayRendererMixin + * @see me.retucio.sputnik.mixin.ParticleManagerMixin + * @see me.retucio.sputnik.mixin.StatusEffectFogModifierMixin + * @see me.retucio.sputnik.mixin.StuckArrowsFeatureRendererMixin + * @see me.retucio.sputnik.mixin.TextRendererDrawerMixin + * @see me.retucio.sputnik.mixin.WeatherRenderingMixin */ public class NoRender extends Module { diff --git a/src/main/java/me/retucio/camtweaks/module/modules/world/AutoSign.java b/src/main/java/me/retucio/sputnik/module/modules/world/AutoSign.java similarity index 80% rename from src/main/java/me/retucio/camtweaks/module/modules/world/AutoSign.java rename to src/main/java/me/retucio/sputnik/module/modules/world/AutoSign.java index 88b8bb6..e8a047d 100644 --- a/src/main/java/me/retucio/camtweaks/module/modules/world/AutoSign.java +++ b/src/main/java/me/retucio/sputnik/module/modules/world/AutoSign.java @@ -1,12 +1,12 @@ -package me.retucio.camtweaks.module.modules.world; +package me.retucio.sputnik.module.modules.world; -import me.retucio.camtweaks.event.SubscribeEvent; -import me.retucio.camtweaks.event.events.OpenScreenEvent; -import me.retucio.camtweaks.event.events.PacketEvent; -import me.retucio.camtweaks.mixin.accessor.AbstractSignEditScreenAccessor; -import me.retucio.camtweaks.module.Category; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.util.ChatUtil; +import me.retucio.sputnik.event.SubscribeEvent; +import me.retucio.sputnik.event.events.OpenScreenEvent; +import me.retucio.sputnik.event.events.PacketEvent; +import me.retucio.sputnik.mixin.accessor.AbstractSignEditScreenAccessor; +import me.retucio.sputnik.module.Category; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.util.ChatUtil; import net.minecraft.block.entity.SignBlockEntity; import net.minecraft.client.gui.screen.ingame.AbstractSignEditScreen; import net.minecraft.network.packet.c2s.play.UpdateSignC2SPacket; diff --git a/src/main/java/me/retucio/camtweaks/module/modules/world/ColoredSigns.java b/src/main/java/me/retucio/sputnik/module/modules/world/ColoredSigns.java similarity index 71% rename from src/main/java/me/retucio/camtweaks/module/modules/world/ColoredSigns.java rename to src/main/java/me/retucio/sputnik/module/modules/world/ColoredSigns.java index 478a278..e206ef9 100644 --- a/src/main/java/me/retucio/camtweaks/module/modules/world/ColoredSigns.java +++ b/src/main/java/me/retucio/sputnik/module/modules/world/ColoredSigns.java @@ -1,10 +1,10 @@ -package me.retucio.camtweaks.module.modules.world; +package me.retucio.sputnik.module.modules.world; -import me.retucio.camtweaks.event.SubscribeEvent; -import me.retucio.camtweaks.event.events.PacketEvent; -import me.retucio.camtweaks.module.Category; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.module.settings.StringSetting; +import me.retucio.sputnik.event.SubscribeEvent; +import me.retucio.sputnik.event.events.PacketEvent; +import me.retucio.sputnik.module.Category; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.module.settings.StringSetting; import net.minecraft.network.packet.c2s.play.UpdateSignC2SPacket; public class ColoredSigns extends Module { diff --git a/src/main/java/me/retucio/camtweaks/module/modules/world/LightOverlay.java b/src/main/java/me/retucio/sputnik/module/modules/world/LightOverlay.java similarity index 91% rename from src/main/java/me/retucio/camtweaks/module/modules/world/LightOverlay.java rename to src/main/java/me/retucio/sputnik/module/modules/world/LightOverlay.java index faa5938..a842d9f 100644 --- a/src/main/java/me/retucio/camtweaks/module/modules/world/LightOverlay.java +++ b/src/main/java/me/retucio/sputnik/module/modules/world/LightOverlay.java @@ -1,16 +1,15 @@ -package me.retucio.camtweaks.module.modules.world; +package me.retucio.sputnik.module.modules.world; -import me.retucio.camtweaks.event.SubscribeEvent; -import me.retucio.camtweaks.event.events.RenderWorldEvent; -import me.retucio.camtweaks.module.Category; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.module.settings.BooleanSetting; -import me.retucio.camtweaks.module.settings.ColorSetting; -import me.retucio.camtweaks.module.settings.NumberSetting; -import me.retucio.camtweaks.util.render.RenderUtil; +import me.retucio.sputnik.event.SubscribeEvent; +import me.retucio.sputnik.event.events.RenderWorldEvent; +import me.retucio.sputnik.module.Category; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.module.settings.BooleanSetting; +import me.retucio.sputnik.module.settings.ColorSetting; +import me.retucio.sputnik.module.settings.NumberSetting; +import me.retucio.sputnik.util.render.RenderUtil; import net.minecraft.block.*; import net.minecraft.block.Blocks; -import net.minecraft.entity.EntityType; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Direction; import net.minecraft.world.LightType; diff --git a/src/main/java/me/retucio/camtweaks/module/modules/world/NoMiningInterruptions.java b/src/main/java/me/retucio/sputnik/module/modules/world/NoMiningInterruptions.java similarity index 77% rename from src/main/java/me/retucio/camtweaks/module/modules/world/NoMiningInterruptions.java rename to src/main/java/me/retucio/sputnik/module/modules/world/NoMiningInterruptions.java index a1666d8..c5c1f34 100644 --- a/src/main/java/me/retucio/camtweaks/module/modules/world/NoMiningInterruptions.java +++ b/src/main/java/me/retucio/sputnik/module/modules/world/NoMiningInterruptions.java @@ -1,11 +1,10 @@ -package me.retucio.camtweaks.module.modules.world; +package me.retucio.sputnik.module.modules.world; -import me.retucio.camtweaks.module.Category; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.module.settings.BooleanSetting; -import me.retucio.camtweaks.module.settings.ListSetting; -import me.retucio.camtweaks.util.ChatUtil; -import me.retucio.camtweaks.util.Lists; +import me.retucio.sputnik.module.Category; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.module.settings.BooleanSetting; +import me.retucio.sputnik.module.settings.ListSetting; +import me.retucio.sputnik.util.Lists; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityType; import net.minecraft.registry.tag.ItemTags; diff --git a/src/main/java/me/retucio/camtweaks/module/modules/world/Racist.java b/src/main/java/me/retucio/sputnik/module/modules/world/Racist.java similarity index 88% rename from src/main/java/me/retucio/camtweaks/module/modules/world/Racist.java rename to src/main/java/me/retucio/sputnik/module/modules/world/Racist.java index 6c7a279..36f1ceb 100644 --- a/src/main/java/me/retucio/camtweaks/module/modules/world/Racist.java +++ b/src/main/java/me/retucio/sputnik/module/modules/world/Racist.java @@ -1,8 +1,8 @@ -package me.retucio.camtweaks.module.modules.world; +package me.retucio.sputnik.module.modules.world; -import me.retucio.camtweaks.module.Category; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.util.EntityUtil; +import me.retucio.sputnik.module.Category; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.util.EntityUtil; import net.minecraft.entity.Entity; import net.minecraft.entity.mob.EndermanEntity; diff --git a/src/main/java/me/retucio/camtweaks/module/modules/world/TimeChanger.java b/src/main/java/me/retucio/sputnik/module/modules/world/TimeChanger.java similarity index 84% rename from src/main/java/me/retucio/camtweaks/module/modules/world/TimeChanger.java rename to src/main/java/me/retucio/sputnik/module/modules/world/TimeChanger.java index 370bd7a..e242c7f 100644 --- a/src/main/java/me/retucio/camtweaks/module/modules/world/TimeChanger.java +++ b/src/main/java/me/retucio/sputnik/module/modules/world/TimeChanger.java @@ -1,12 +1,12 @@ -package me.retucio.camtweaks.module.modules.world; +package me.retucio.sputnik.module.modules.world; -import me.retucio.camtweaks.event.SubscribeEvent; -import me.retucio.camtweaks.event.events.PacketEvent; -import me.retucio.camtweaks.module.Category; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.module.settings.BooleanSetting; -import me.retucio.camtweaks.module.settings.EnumSetting; -import me.retucio.camtweaks.module.settings.NumberSetting; +import me.retucio.sputnik.event.SubscribeEvent; +import me.retucio.sputnik.event.events.PacketEvent; +import me.retucio.sputnik.module.Category; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.module.settings.BooleanSetting; +import me.retucio.sputnik.module.settings.EnumSetting; +import me.retucio.sputnik.module.settings.NumberSetting; import net.minecraft.network.packet.s2c.play.WorldTimeUpdateS2CPacket; // continúa en ClientWorldPropertiesMixin, DimensionTypeMixin, diff --git a/src/main/java/me/retucio/camtweaks/module/settings/BooleanSetting.java b/src/main/java/me/retucio/sputnik/module/settings/BooleanSetting.java similarity index 96% rename from src/main/java/me/retucio/camtweaks/module/settings/BooleanSetting.java rename to src/main/java/me/retucio/sputnik/module/settings/BooleanSetting.java index 66bd66c..53b6207 100644 --- a/src/main/java/me/retucio/camtweaks/module/settings/BooleanSetting.java +++ b/src/main/java/me/retucio/sputnik/module/settings/BooleanSetting.java @@ -1,4 +1,4 @@ -package me.retucio.camtweaks.module.settings; +package me.retucio.sputnik.module.settings; import java.util.function.Consumer; diff --git a/src/main/java/me/retucio/camtweaks/module/settings/ColorSetting.java b/src/main/java/me/retucio/sputnik/module/settings/ColorSetting.java similarity index 98% rename from src/main/java/me/retucio/camtweaks/module/settings/ColorSetting.java rename to src/main/java/me/retucio/sputnik/module/settings/ColorSetting.java index 03c7c35..d9d5924 100644 --- a/src/main/java/me/retucio/camtweaks/module/settings/ColorSetting.java +++ b/src/main/java/me/retucio/sputnik/module/settings/ColorSetting.java @@ -1,6 +1,6 @@ -package me.retucio.camtweaks.module.settings; +package me.retucio.sputnik.module.settings; -import me.retucio.camtweaks.util.Colors; +import me.retucio.sputnik.util.Colors; import net.minecraft.text.Text; import java.awt.*; diff --git a/src/main/java/me/retucio/camtweaks/module/settings/EnumSetting.java b/src/main/java/me/retucio/sputnik/module/settings/EnumSetting.java similarity index 97% rename from src/main/java/me/retucio/camtweaks/module/settings/EnumSetting.java rename to src/main/java/me/retucio/sputnik/module/settings/EnumSetting.java index 1387a2a..421d08d 100644 --- a/src/main/java/me/retucio/camtweaks/module/settings/EnumSetting.java +++ b/src/main/java/me/retucio/sputnik/module/settings/EnumSetting.java @@ -1,4 +1,4 @@ -package me.retucio.camtweaks.module.settings; +package me.retucio.sputnik.module.settings; import java.util.Arrays; import java.util.List; diff --git a/src/main/java/me/retucio/camtweaks/module/settings/KeySetting.java b/src/main/java/me/retucio/sputnik/module/settings/KeySetting.java similarity index 85% rename from src/main/java/me/retucio/camtweaks/module/settings/KeySetting.java rename to src/main/java/me/retucio/sputnik/module/settings/KeySetting.java index 47160a6..395bfde 100644 --- a/src/main/java/me/retucio/camtweaks/module/settings/KeySetting.java +++ b/src/main/java/me/retucio/sputnik/module/settings/KeySetting.java @@ -1,10 +1,10 @@ -package me.retucio.camtweaks.module.settings; +package me.retucio.sputnik.module.settings; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.ui.widgets.frames.settings.ClientSettingsFrame; -import me.retucio.camtweaks.util.ChatUtil; -import me.retucio.camtweaks.util.KeyUtil; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.ui.widgets.frames.settings.ClientSettingsFrame; +import me.retucio.sputnik.util.ChatUtil; +import me.retucio.sputnik.util.KeyUtil; import org.lwjgl.glfw.GLFW; import java.util.function.Consumer; diff --git a/src/main/java/me/retucio/camtweaks/module/settings/ListSetting.java b/src/main/java/me/retucio/sputnik/module/settings/ListSetting.java similarity index 98% rename from src/main/java/me/retucio/camtweaks/module/settings/ListSetting.java rename to src/main/java/me/retucio/sputnik/module/settings/ListSetting.java index b7cbd3e..ef5d427 100644 --- a/src/main/java/me/retucio/camtweaks/module/settings/ListSetting.java +++ b/src/main/java/me/retucio/sputnik/module/settings/ListSetting.java @@ -1,4 +1,4 @@ -package me.retucio.camtweaks.module.settings; +package me.retucio.sputnik.module.settings; import java.util.ArrayList; import java.util.HashMap; diff --git a/src/main/java/me/retucio/camtweaks/module/settings/NumberSetting.java b/src/main/java/me/retucio/sputnik/module/settings/NumberSetting.java similarity index 98% rename from src/main/java/me/retucio/camtweaks/module/settings/NumberSetting.java rename to src/main/java/me/retucio/sputnik/module/settings/NumberSetting.java index bbe2aee..eca22fc 100644 --- a/src/main/java/me/retucio/camtweaks/module/settings/NumberSetting.java +++ b/src/main/java/me/retucio/sputnik/module/settings/NumberSetting.java @@ -1,4 +1,4 @@ -package me.retucio.camtweaks.module.settings; +package me.retucio.sputnik.module.settings; import java.util.function.Consumer; diff --git a/src/main/java/me/retucio/camtweaks/module/settings/OptionSetting.java b/src/main/java/me/retucio/sputnik/module/settings/OptionSetting.java similarity index 97% rename from src/main/java/me/retucio/camtweaks/module/settings/OptionSetting.java rename to src/main/java/me/retucio/sputnik/module/settings/OptionSetting.java index b2781f3..bd5efc9 100644 --- a/src/main/java/me/retucio/camtweaks/module/settings/OptionSetting.java +++ b/src/main/java/me/retucio/sputnik/module/settings/OptionSetting.java @@ -1,7 +1,6 @@ -package me.retucio.camtweaks.module.settings; +package me.retucio.sputnik.module.settings; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.function.Consumer; diff --git a/src/main/java/me/retucio/camtweaks/module/settings/Setting.java b/src/main/java/me/retucio/sputnik/module/settings/Setting.java similarity index 77% rename from src/main/java/me/retucio/camtweaks/module/settings/Setting.java rename to src/main/java/me/retucio/sputnik/module/settings/Setting.java index 59e17e8..51e670b 100644 --- a/src/main/java/me/retucio/camtweaks/module/settings/Setting.java +++ b/src/main/java/me/retucio/sputnik/module/settings/Setting.java @@ -1,8 +1,7 @@ -package me.retucio.camtweaks.module.settings; +package me.retucio.sputnik.module.settings; -import me.retucio.camtweaks.CameraTweaks; -import me.retucio.camtweaks.event.events.camtweaks.UpdateSettingEvent; -import me.retucio.camtweaks.module.Module; +import me.retucio.sputnik.event.events.sputnik.UpdateSettingEvent; +import me.retucio.sputnik.module.Module; // base para los tipos de ajustes public abstract class Setting { @@ -53,6 +52,6 @@ public abstract class Setting { } public void fireUpdateEvent() { - CameraTweaks.EVENT_BUS.post(new UpdateSettingEvent(this, module.shouldSaveSettings())); + me.retucio.sputnik.Sputnik.EVENT_BUS.post(new UpdateSettingEvent(this, module.shouldSaveSettings())); } } diff --git a/src/main/java/me/retucio/camtweaks/module/settings/StringSetting.java b/src/main/java/me/retucio/sputnik/module/settings/StringSetting.java similarity index 96% rename from src/main/java/me/retucio/camtweaks/module/settings/StringSetting.java rename to src/main/java/me/retucio/sputnik/module/settings/StringSetting.java index fad224c..9a0e621 100644 --- a/src/main/java/me/retucio/camtweaks/module/settings/StringSetting.java +++ b/src/main/java/me/retucio/sputnik/module/settings/StringSetting.java @@ -1,4 +1,4 @@ -package me.retucio.camtweaks.module.settings; +package me.retucio.sputnik.module.settings; import java.util.function.Consumer; diff --git a/src/main/java/me/retucio/camtweaks/ui/hud/HudEditorScreen.java b/src/main/java/me/retucio/sputnik/ui/hud/HudEditorScreen.java similarity index 96% rename from src/main/java/me/retucio/camtweaks/ui/hud/HudEditorScreen.java rename to src/main/java/me/retucio/sputnik/ui/hud/HudEditorScreen.java index fd962d0..f01b89b 100644 --- a/src/main/java/me/retucio/camtweaks/ui/hud/HudEditorScreen.java +++ b/src/main/java/me/retucio/sputnik/ui/hud/HudEditorScreen.java @@ -1,8 +1,8 @@ -package me.retucio.camtweaks.ui.hud; +package me.retucio.sputnik.ui.hud; -import me.retucio.camtweaks.config.ConfigManager; -import me.retucio.camtweaks.ui.widgets.frames.settings.ClientSettingsFrame; -import me.retucio.camtweaks.util.Colors; +import me.retucio.sputnik.config.ConfigManager; +import me.retucio.sputnik.ui.widgets.frames.settings.ClientSettingsFrame; +import me.retucio.sputnik.util.Colors; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.Click; import net.minecraft.client.gui.DrawContext; diff --git a/src/main/java/me/retucio/camtweaks/ui/hud/HudElement.java b/src/main/java/me/retucio/sputnik/ui/hud/HudElement.java similarity index 86% rename from src/main/java/me/retucio/camtweaks/ui/hud/HudElement.java rename to src/main/java/me/retucio/sputnik/ui/hud/HudElement.java index 87a0668..35c0dc6 100644 --- a/src/main/java/me/retucio/camtweaks/ui/hud/HudElement.java +++ b/src/main/java/me/retucio/sputnik/ui/hud/HudElement.java @@ -1,8 +1,7 @@ -package me.retucio.camtweaks.ui.hud; +package me.retucio.sputnik.ui.hud; -import me.retucio.camtweaks.module.modules.client.HUD; -import me.retucio.camtweaks.ui.widgets.Widget; -import net.minecraft.client.MinecraftClient; +import me.retucio.sputnik.module.modules.client.HUD; +import me.retucio.sputnik.ui.widgets.Widget; import net.minecraft.client.gui.DrawContext; import net.minecraft.text.Text; diff --git a/src/main/java/me/retucio/camtweaks/ui/hud/HudRenderer.java b/src/main/java/me/retucio/sputnik/ui/hud/HudRenderer.java similarity index 94% rename from src/main/java/me/retucio/camtweaks/ui/hud/HudRenderer.java rename to src/main/java/me/retucio/sputnik/ui/hud/HudRenderer.java index 8f84b7f..cf493e4 100644 --- a/src/main/java/me/retucio/camtweaks/ui/hud/HudRenderer.java +++ b/src/main/java/me/retucio/sputnik/ui/hud/HudRenderer.java @@ -1,9 +1,9 @@ -package me.retucio.camtweaks.ui.hud; +package me.retucio.sputnik.ui.hud; -import me.retucio.camtweaks.config.ConfigManager; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.client.HUD; -import me.retucio.camtweaks.ui.hud.elements.*; +import me.retucio.sputnik.config.ConfigManager; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.client.HUD; +import me.retucio.sputnik.ui.hud.elements.*; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.DrawContext; diff --git a/src/main/java/me/retucio/camtweaks/ui/hud/ImageHudElement.java b/src/main/java/me/retucio/sputnik/ui/hud/ImageHudElement.java similarity index 87% rename from src/main/java/me/retucio/camtweaks/ui/hud/ImageHudElement.java rename to src/main/java/me/retucio/sputnik/ui/hud/ImageHudElement.java index 635d2ad..99269b4 100644 --- a/src/main/java/me/retucio/camtweaks/ui/hud/ImageHudElement.java +++ b/src/main/java/me/retucio/sputnik/ui/hud/ImageHudElement.java @@ -1,8 +1,7 @@ -package me.retucio.camtweaks.ui.hud; +package me.retucio.sputnik.ui.hud; -import me.retucio.camtweaks.CameraTweaks; -import me.retucio.camtweaks.module.modules.client.HUD; -import me.retucio.camtweaks.util.Colors; +import me.retucio.sputnik.module.modules.client.HUD; +import me.retucio.sputnik.util.Colors; import net.minecraft.client.gl.RenderPipelines; import net.minecraft.client.gui.DrawContext; @@ -23,7 +22,7 @@ public abstract class ImageHudElement extends HudElement { public ImageHudElement(String id, int defaultX, int defaultY) { super(id, defaultX, defaultY); - this.textureId = Identifier.of(CameraTweaks.MOD_ID, "textures/" + id); + this.textureId = Identifier.of(me.retucio.sputnik.Sputnik.MOD_ID, "textures/" + id); this.w = imageWidth; this.h = imageHeight; } @@ -37,7 +36,7 @@ public abstract class ImageHudElement extends HudElement { try { // cargar - Identifier resourceId = Identifier.of(CameraTweaks.MOD_ID, imagePath); + Identifier resourceId = Identifier.of(me.retucio.sputnik.Sputnik.MOD_ID, imagePath); try (InputStream stream = mc.getResourceManager().getResource(resourceId).get().getInputStream()) { NativeImage image = NativeImage.read(stream); @@ -58,10 +57,10 @@ public abstract class ImageHudElement extends HudElement { mc.getTextureManager().registerTexture(textureId, texture); textureLoaded = true; - CameraTweaks.LOGGER.info("textura para el elemento del HUD {} cargada", getId()); + me.retucio.sputnik.Sputnik.LOGGER.info("textura para el elemento del HUD {} cargada", getId()); } } catch (Exception e) { - CameraTweaks.LOGGER.error("no se pudo cargar la textura para el elemento del HUD {}: {}", getId(), e.getMessage()); + me.retucio.sputnik.Sputnik.LOGGER.error("no se pudo cargar la textura para el elemento del HUD {}: {}", getId(), e.getMessage()); } } diff --git a/src/main/java/me/retucio/camtweaks/ui/hud/TextHudElement.java b/src/main/java/me/retucio/sputnik/ui/hud/TextHudElement.java similarity index 93% rename from src/main/java/me/retucio/camtweaks/ui/hud/TextHudElement.java rename to src/main/java/me/retucio/sputnik/ui/hud/TextHudElement.java index 70a76bd..ba53b68 100644 --- a/src/main/java/me/retucio/camtweaks/ui/hud/TextHudElement.java +++ b/src/main/java/me/retucio/sputnik/ui/hud/TextHudElement.java @@ -1,7 +1,7 @@ -package me.retucio.camtweaks.ui.hud; +package me.retucio.sputnik.ui.hud; -import me.retucio.camtweaks.module.modules.client.HUD; -import me.retucio.camtweaks.util.Colors; +import me.retucio.sputnik.module.modules.client.HUD; +import me.retucio.sputnik.util.Colors; import net.minecraft.client.gui.DrawContext; diff --git a/src/main/java/me/retucio/camtweaks/ui/hud/elements/CoordsElement.java b/src/main/java/me/retucio/sputnik/ui/hud/elements/CoordsElement.java similarity index 79% rename from src/main/java/me/retucio/camtweaks/ui/hud/elements/CoordsElement.java rename to src/main/java/me/retucio/sputnik/ui/hud/elements/CoordsElement.java index 815ad18..4bff08e 100644 --- a/src/main/java/me/retucio/camtweaks/ui/hud/elements/CoordsElement.java +++ b/src/main/java/me/retucio/sputnik/ui/hud/elements/CoordsElement.java @@ -1,12 +1,9 @@ -package me.retucio.camtweaks.ui.hud.elements; +package me.retucio.sputnik.ui.hud.elements; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.camera.Freecam; -import me.retucio.camtweaks.module.modules.client.HUD; -import me.retucio.camtweaks.ui.hud.HudElement; -import me.retucio.camtweaks.ui.hud.TextHudElement; -import net.minecraft.client.MinecraftClient; -import net.minecraft.client.gui.DrawContext; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.camera.Freecam; +import me.retucio.sputnik.module.modules.client.HUD; +import me.retucio.sputnik.ui.hud.TextHudElement; import net.minecraft.text.Text; import net.minecraft.util.math.Vec3d; diff --git a/src/main/java/me/retucio/camtweaks/ui/hud/elements/CustomTextElement.java b/src/main/java/me/retucio/sputnik/ui/hud/elements/CustomTextElement.java similarity index 78% rename from src/main/java/me/retucio/camtweaks/ui/hud/elements/CustomTextElement.java rename to src/main/java/me/retucio/sputnik/ui/hud/elements/CustomTextElement.java index 22590ab..567b2eb 100644 --- a/src/main/java/me/retucio/camtweaks/ui/hud/elements/CustomTextElement.java +++ b/src/main/java/me/retucio/sputnik/ui/hud/elements/CustomTextElement.java @@ -1,11 +1,10 @@ -package me.retucio.camtweaks.ui.hud.elements; +package me.retucio.sputnik.ui.hud.elements; -import me.retucio.camtweaks.event.SubscribeEvent; -import me.retucio.camtweaks.event.events.camtweaks.UpdateSettingEvent; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.client.HUD; -import me.retucio.camtweaks.ui.hud.HudElement; -import me.retucio.camtweaks.ui.hud.TextHudElement; +import me.retucio.sputnik.event.SubscribeEvent; +import me.retucio.sputnik.event.events.sputnik.UpdateSettingEvent; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.client.HUD; +import me.retucio.sputnik.ui.hud.TextHudElement; import net.minecraft.text.Text; import java.util.List; diff --git a/src/main/java/me/retucio/camtweaks/ui/hud/elements/DynoElement.java b/src/main/java/me/retucio/sputnik/ui/hud/elements/DynoElement.java similarity index 82% rename from src/main/java/me/retucio/camtweaks/ui/hud/elements/DynoElement.java rename to src/main/java/me/retucio/sputnik/ui/hud/elements/DynoElement.java index 7f76cf0..303b3d3 100644 --- a/src/main/java/me/retucio/camtweaks/ui/hud/elements/DynoElement.java +++ b/src/main/java/me/retucio/sputnik/ui/hud/elements/DynoElement.java @@ -1,8 +1,8 @@ -package me.retucio.camtweaks.ui.hud.elements; +package me.retucio.sputnik.ui.hud.elements; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.client.HUD; -import me.retucio.camtweaks.ui.hud.ImageHudElement; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.client.HUD; +import me.retucio.sputnik.ui.hud.ImageHudElement; import net.minecraft.text.Text; import java.util.List; diff --git a/src/main/java/me/retucio/camtweaks/ui/hud/elements/EchestElement.java b/src/main/java/me/retucio/sputnik/ui/hud/elements/EchestElement.java similarity index 93% rename from src/main/java/me/retucio/camtweaks/ui/hud/elements/EchestElement.java rename to src/main/java/me/retucio/sputnik/ui/hud/elements/EchestElement.java index b352f64..c79ee90 100644 --- a/src/main/java/me/retucio/camtweaks/ui/hud/elements/EchestElement.java +++ b/src/main/java/me/retucio/sputnik/ui/hud/elements/EchestElement.java @@ -1,9 +1,9 @@ -package me.retucio.camtweaks.ui.hud.elements; +package me.retucio.sputnik.ui.hud.elements; -import me.retucio.camtweaks.module.modules.client.HUD; -import me.retucio.camtweaks.ui.hud.ImageHudElement; -import me.retucio.camtweaks.util.Colors; -import me.retucio.camtweaks.util.InventoryUtil; +import me.retucio.sputnik.module.modules.client.HUD; +import me.retucio.sputnik.ui.hud.ImageHudElement; +import me.retucio.sputnik.util.Colors; +import me.retucio.sputnik.util.InventoryUtil; import net.minecraft.client.gl.RenderPipelines; import net.minecraft.client.gui.DrawContext; import net.minecraft.inventory.Inventory; diff --git a/src/main/java/me/retucio/camtweaks/ui/hud/elements/FpsElement.java b/src/main/java/me/retucio/sputnik/ui/hud/elements/FpsElement.java similarity index 78% rename from src/main/java/me/retucio/camtweaks/ui/hud/elements/FpsElement.java rename to src/main/java/me/retucio/sputnik/ui/hud/elements/FpsElement.java index c889a4f..be1bcca 100644 --- a/src/main/java/me/retucio/camtweaks/ui/hud/elements/FpsElement.java +++ b/src/main/java/me/retucio/sputnik/ui/hud/elements/FpsElement.java @@ -1,8 +1,7 @@ -package me.retucio.camtweaks.ui.hud.elements; +package me.retucio.sputnik.ui.hud.elements; -import me.retucio.camtweaks.module.modules.client.HUD; -import me.retucio.camtweaks.ui.hud.HudElement; -import me.retucio.camtweaks.ui.hud.TextHudElement; +import me.retucio.sputnik.module.modules.client.HUD; +import me.retucio.sputnik.ui.hud.TextHudElement; import net.minecraft.client.gui.DrawContext; import net.minecraft.text.Text; diff --git a/src/main/java/me/retucio/camtweaks/ui/hud/elements/PingElement.java b/src/main/java/me/retucio/sputnik/ui/hud/elements/PingElement.java similarity index 82% rename from src/main/java/me/retucio/camtweaks/ui/hud/elements/PingElement.java rename to src/main/java/me/retucio/sputnik/ui/hud/elements/PingElement.java index ebda2a5..a87dc2c 100644 --- a/src/main/java/me/retucio/camtweaks/ui/hud/elements/PingElement.java +++ b/src/main/java/me/retucio/sputnik/ui/hud/elements/PingElement.java @@ -1,8 +1,7 @@ -package me.retucio.camtweaks.ui.hud.elements; +package me.retucio.sputnik.ui.hud.elements; -import me.retucio.camtweaks.module.modules.client.HUD; -import me.retucio.camtweaks.ui.hud.HudElement; -import me.retucio.camtweaks.ui.hud.TextHudElement; +import me.retucio.sputnik.module.modules.client.HUD; +import me.retucio.sputnik.ui.hud.TextHudElement; import net.minecraft.client.network.PlayerListEntry; import net.minecraft.text.Text; diff --git a/src/main/java/me/retucio/camtweaks/ui/hud/elements/TimeElement.java b/src/main/java/me/retucio/sputnik/ui/hud/elements/TimeElement.java similarity index 73% rename from src/main/java/me/retucio/camtweaks/ui/hud/elements/TimeElement.java rename to src/main/java/me/retucio/sputnik/ui/hud/elements/TimeElement.java index 5dda4e3..c3888ab 100644 --- a/src/main/java/me/retucio/camtweaks/ui/hud/elements/TimeElement.java +++ b/src/main/java/me/retucio/sputnik/ui/hud/elements/TimeElement.java @@ -1,9 +1,8 @@ -package me.retucio.camtweaks.ui.hud.elements; +package me.retucio.sputnik.ui.hud.elements; -import me.retucio.camtweaks.module.modules.client.HUD; -import me.retucio.camtweaks.ui.hud.HudElement; -import me.retucio.camtweaks.ui.hud.TextHudElement; -import me.retucio.camtweaks.util.MiscUtil; +import me.retucio.sputnik.module.modules.client.HUD; +import me.retucio.sputnik.ui.hud.TextHudElement; +import me.retucio.sputnik.util.MiscUtil; import net.minecraft.text.Text; import java.util.List; diff --git a/src/main/java/me/retucio/camtweaks/ui/hud/elements/TotemsElement.java b/src/main/java/me/retucio/sputnik/ui/hud/elements/TotemsElement.java similarity index 92% rename from src/main/java/me/retucio/camtweaks/ui/hud/elements/TotemsElement.java rename to src/main/java/me/retucio/sputnik/ui/hud/elements/TotemsElement.java index e9bd8a8..cbc4deb 100644 --- a/src/main/java/me/retucio/camtweaks/ui/hud/elements/TotemsElement.java +++ b/src/main/java/me/retucio/sputnik/ui/hud/elements/TotemsElement.java @@ -1,7 +1,7 @@ -package me.retucio.camtweaks.ui.hud.elements; +package me.retucio.sputnik.ui.hud.elements; -import me.retucio.camtweaks.module.modules.client.HUD; -import me.retucio.camtweaks.ui.hud.ImageHudElement; +import me.retucio.sputnik.module.modules.client.HUD; +import me.retucio.sputnik.ui.hud.ImageHudElement; import net.minecraft.client.gui.DrawContext; import net.minecraft.item.ItemStack; import net.minecraft.item.Items; diff --git a/src/main/java/me/retucio/camtweaks/ui/hud/elements/TpsElement.java b/src/main/java/me/retucio/sputnik/ui/hud/elements/TpsElement.java similarity index 72% rename from src/main/java/me/retucio/camtweaks/ui/hud/elements/TpsElement.java rename to src/main/java/me/retucio/sputnik/ui/hud/elements/TpsElement.java index 6138d39..ddd8da1 100644 --- a/src/main/java/me/retucio/camtweaks/ui/hud/elements/TpsElement.java +++ b/src/main/java/me/retucio/sputnik/ui/hud/elements/TpsElement.java @@ -1,9 +1,8 @@ -package me.retucio.camtweaks.ui.hud.elements; +package me.retucio.sputnik.ui.hud.elements; -import me.retucio.camtweaks.module.modules.client.HUD; -import me.retucio.camtweaks.ui.hud.HudElement; -import me.retucio.camtweaks.ui.hud.TextHudElement; -import me.retucio.camtweaks.util.NetworkUtil; +import me.retucio.sputnik.module.modules.client.HUD; +import me.retucio.sputnik.ui.hud.TextHudElement; +import me.retucio.sputnik.util.NetworkUtil; import net.minecraft.text.Text; import java.util.List; diff --git a/src/main/java/me/retucio/camtweaks/ui/screen/ClickGUI.java b/src/main/java/me/retucio/sputnik/ui/screen/ClickGUI.java similarity index 87% rename from src/main/java/me/retucio/camtweaks/ui/screen/ClickGUI.java rename to src/main/java/me/retucio/sputnik/ui/screen/ClickGUI.java index 973d7d6..00a3bff 100644 --- a/src/main/java/me/retucio/camtweaks/ui/screen/ClickGUI.java +++ b/src/main/java/me/retucio/sputnik/ui/screen/ClickGUI.java @@ -1,29 +1,28 @@ -package me.retucio.camtweaks.ui.screen; +package me.retucio.sputnik.ui.screen; -import me.retucio.camtweaks.CameraTweaks; -import me.retucio.camtweaks.event.SubscribeEvent; -import me.retucio.camtweaks.event.events.KeyEvent; -import me.retucio.camtweaks.event.events.MouseClickEvent; -import me.retucio.camtweaks.event.events.MouseScrollEvent; -import me.retucio.camtweaks.event.events.camtweaks.SettingsFrameEvent; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.module.settings.Setting; -import me.retucio.camtweaks.module.settings.ColorSetting; -import me.retucio.camtweaks.ui.widgets.buttons.settings.ListButton; -import me.retucio.camtweaks.ui.widgets.buttons.ModuleButton; -import me.retucio.camtweaks.ui.widgets.buttons.SettingButton; -import me.retucio.camtweaks.ui.widgets.frames.settings.ClientSettingsFrame; -import me.retucio.camtweaks.ui.widgets.frames.settings.ColorPickerFrame; -import me.retucio.camtweaks.ui.widgets.frames.ModuleFrame; -import me.retucio.camtweaks.ui.widgets.frames.SettingsFrame; -import me.retucio.camtweaks.ui.widgets.Button; -import me.retucio.camtweaks.ui.widgets.Frame; -import me.retucio.camtweaks.ui.widgets.Widget; -import me.retucio.camtweaks.ui.widgets.misc.ScrollBarWidget; -import me.retucio.camtweaks.ui.widgets.misc.SearchBarWidget; -import me.retucio.camtweaks.util.KeyUtil; +import me.retucio.sputnik.event.SubscribeEvent; +import me.retucio.sputnik.event.events.KeyEvent; +import me.retucio.sputnik.event.events.MouseClickEvent; +import me.retucio.sputnik.event.events.MouseScrollEvent; +import me.retucio.sputnik.event.events.sputnik.SettingsFrameEvent; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.module.settings.Setting; +import me.retucio.sputnik.module.settings.ColorSetting; +import me.retucio.sputnik.ui.widgets.buttons.settings.ListButton; +import me.retucio.sputnik.ui.widgets.buttons.ModuleButton; +import me.retucio.sputnik.ui.widgets.buttons.SettingButton; +import me.retucio.sputnik.ui.widgets.frames.settings.ClientSettingsFrame; +import me.retucio.sputnik.ui.widgets.frames.settings.ColorPickerFrame; +import me.retucio.sputnik.ui.widgets.frames.ModuleFrame; +import me.retucio.sputnik.ui.widgets.frames.SettingsFrame; +import me.retucio.sputnik.ui.widgets.Button; +import me.retucio.sputnik.ui.widgets.Frame; +import me.retucio.sputnik.ui.widgets.Widget; +import me.retucio.sputnik.ui.widgets.misc.ScrollBarWidget; +import me.retucio.sputnik.ui.widgets.misc.SearchBarWidget; +import me.retucio.sputnik.util.KeyUtil; -import me.retucio.camtweaks.util.MiscUtil; +import me.retucio.sputnik.util.MiscUtil; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.Click; import net.minecraft.client.gui.DrawContext; @@ -36,7 +35,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import static me.retucio.camtweaks.ui.widgets.frames.settings.ClientSettingsFrame.guiSettings; +import static me.retucio.sputnik.ui.widgets.frames.settings.ClientSettingsFrame.guiSettings; // interfaz gráfica, se abre con el shift derecho por defecto. aquí se encuentran los módulos y sus ajustes public class ClickGUI extends Screen { @@ -58,7 +57,7 @@ public class ClickGUI extends Screen { public ClickGUI() { super(Text.of("interfaz")); settingsFrames.add(guiSettingsFrame); - CameraTweaks.EVENT_BUS.register(this); + me.retucio.sputnik.Sputnik.EVENT_BUS.register(this); } @Override @@ -180,9 +179,9 @@ public class ClickGUI extends Screen { @SubscribeEvent public void onMouseMiddleButton(MouseClickEvent event) { // mover todos los marcos a un punto visible al presionar shift + la rueda del ratón - if (CameraTweaks.mc.currentScreen != this || event.getButton() != 2 || !KeyUtil.isKeyDown(GLFW.GLFW_KEY_LEFT_SHIFT)) return; + if (me.retucio.sputnik.Sputnik.mc.currentScreen != this || event.getButton() != 2 || !KeyUtil.isKeyDown(GLFW.GLFW_KEY_LEFT_SHIFT)) return; - int h = CameraTweaks.mc.getWindow().getScaledHeight(); + int h = me.retucio.sputnik.Sputnik.mc.getWindow().getScaledHeight(); int minY = Math.min(modulesFrame.getY(), settingsFrames.stream().mapToInt(Frame::getY).min().orElse(modulesFrame.getY())); int maxY = Math.max(modulesFrame.getY() + modulesFrame.getH(), settingsFrames.stream().mapToInt(sf -> sf.getY() + sf.getH()).max().orElse(modulesFrame.getY() + modulesFrame.getH())); int correction = minY < 0 ? -minY + 4 : (maxY > h ? h - maxY - 4 : 0); @@ -251,7 +250,7 @@ public class ClickGUI extends Screen { if (isSettingsFrameOpen(module)) return; // permitir un solo marco de ajustes por módulo SettingsFrame frame = new SettingsFrame(module, x, y, 120, 20); settingsFrames.add(frame); - CameraTweaks.EVENT_BUS.post(new SettingsFrameEvent.Open(frame)); + me.retucio.sputnik.Sputnik.EVENT_BUS.post(new SettingsFrameEvent.Open(frame)); } // abrir un marco de ajustes específicamente para ajustes de selección múltiple @@ -269,7 +268,7 @@ public class ClickGUI extends Screen { if ((sf instanceof ColorPickerFrame cpf && cpf.dummyModule == module) // para los selectores de colores || (!(sf instanceof ColorPickerFrame) && sf.module == module)) { // lógica muy mierdas, lo sé, pero paso de hacerlo bien toRemove.add(sf); - CameraTweaks.EVENT_BUS.post(new SettingsFrameEvent.Close(sf)); + me.retucio.sputnik.Sputnik.EVENT_BUS.post(new SettingsFrameEvent.Close(sf)); unselect(sf); } } diff --git a/src/main/java/me/retucio/camtweaks/ui/screen/PreviewScreen.java b/src/main/java/me/retucio/sputnik/ui/screen/PreviewScreen.java similarity index 91% rename from src/main/java/me/retucio/camtweaks/ui/screen/PreviewScreen.java rename to src/main/java/me/retucio/sputnik/ui/screen/PreviewScreen.java index c7a5f86..e3ec257 100644 --- a/src/main/java/me/retucio/camtweaks/ui/screen/PreviewScreen.java +++ b/src/main/java/me/retucio/sputnik/ui/screen/PreviewScreen.java @@ -1,9 +1,8 @@ -package me.retucio.camtweaks.ui.screen; +package me.retucio.sputnik.ui.screen; -import me.retucio.camtweaks.CameraTweaks; -import me.retucio.camtweaks.module.modules.misc.ShulkerPeek; -import me.retucio.camtweaks.ui.widgets.frames.settings.ClientSettingsFrame; -import me.retucio.camtweaks.util.Colors; +import me.retucio.sputnik.module.modules.misc.ShulkerPeek; +import me.retucio.sputnik.ui.widgets.frames.settings.ClientSettingsFrame; +import me.retucio.sputnik.util.Colors; import net.minecraft.client.gl.RenderPipelines; import net.minecraft.client.gui.DrawContext; import net.minecraft.client.gui.screen.Screen; @@ -20,7 +19,7 @@ import java.util.List; public class PreviewScreen extends Screen { - private static final Identifier TEXTURE = Identifier.of(CameraTweaks.MOD_ID, "textures/gui/preview.png"); + private static final Identifier TEXTURE = Identifier.of(me.retucio.sputnik.Sputnik.MOD_ID, "textures/gui/preview.png"); private int x, y; private final int bgWidth = 176; diff --git a/src/main/java/me/retucio/camtweaks/ui/widgets/Button.java b/src/main/java/me/retucio/sputnik/ui/widgets/Button.java similarity index 86% rename from src/main/java/me/retucio/camtweaks/ui/widgets/Button.java rename to src/main/java/me/retucio/sputnik/ui/widgets/Button.java index 01134ae..8ebbbf9 100644 --- a/src/main/java/me/retucio/camtweaks/ui/widgets/Button.java +++ b/src/main/java/me/retucio/sputnik/ui/widgets/Button.java @@ -1,6 +1,5 @@ -package me.retucio.camtweaks.ui.widgets; +package me.retucio.sputnik.ui.widgets; -import me.retucio.camtweaks.ui.screen.ClickGUI; import net.minecraft.client.gui.DrawContext; public abstract class Button extends Widget { diff --git a/src/main/java/me/retucio/camtweaks/ui/widgets/Frame.java b/src/main/java/me/retucio/sputnik/ui/widgets/Frame.java similarity index 97% rename from src/main/java/me/retucio/camtweaks/ui/widgets/Frame.java rename to src/main/java/me/retucio/sputnik/ui/widgets/Frame.java index 9116bed..15ecd5c 100644 --- a/src/main/java/me/retucio/camtweaks/ui/widgets/Frame.java +++ b/src/main/java/me/retucio/sputnik/ui/widgets/Frame.java @@ -1,4 +1,4 @@ -package me.retucio.camtweaks.ui.widgets; +package me.retucio.sputnik.ui.widgets; import net.minecraft.client.gui.DrawContext; diff --git a/src/main/java/me/retucio/camtweaks/ui/widgets/Widget.java b/src/main/java/me/retucio/sputnik/ui/widgets/Widget.java similarity index 93% rename from src/main/java/me/retucio/camtweaks/ui/widgets/Widget.java rename to src/main/java/me/retucio/sputnik/ui/widgets/Widget.java index e29f50b..db1880e 100644 --- a/src/main/java/me/retucio/camtweaks/ui/widgets/Widget.java +++ b/src/main/java/me/retucio/sputnik/ui/widgets/Widget.java @@ -1,6 +1,6 @@ -package me.retucio.camtweaks.ui.widgets; +package me.retucio.sputnik.ui.widgets; -import me.retucio.camtweaks.ui.screen.ClickGUI; +import me.retucio.sputnik.ui.screen.ClickGUI; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.DrawContext; diff --git a/src/main/java/me/retucio/camtweaks/ui/widgets/buttons/ModuleButton.java b/src/main/java/me/retucio/sputnik/ui/widgets/buttons/ModuleButton.java similarity index 91% rename from src/main/java/me/retucio/camtweaks/ui/widgets/buttons/ModuleButton.java rename to src/main/java/me/retucio/sputnik/ui/widgets/buttons/ModuleButton.java index 8ce7f95..055bfd0 100644 --- a/src/main/java/me/retucio/camtweaks/ui/widgets/buttons/ModuleButton.java +++ b/src/main/java/me/retucio/sputnik/ui/widgets/buttons/ModuleButton.java @@ -1,10 +1,10 @@ -package me.retucio.camtweaks.ui.widgets.buttons; +package me.retucio.sputnik.ui.widgets.buttons; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.ui.screen.ClickGUI; -import me.retucio.camtweaks.ui.widgets.frames.ModuleFrame; -import me.retucio.camtweaks.ui.widgets.Button; -import me.retucio.camtweaks.util.Colors; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.ui.screen.ClickGUI; +import me.retucio.sputnik.ui.widgets.frames.ModuleFrame; +import me.retucio.sputnik.ui.widgets.Button; +import me.retucio.sputnik.util.Colors; import net.minecraft.client.gui.DrawContext; import net.minecraft.text.Text; diff --git a/src/main/java/me/retucio/camtweaks/ui/widgets/buttons/SettingButton.java b/src/main/java/me/retucio/sputnik/ui/widgets/buttons/SettingButton.java similarity index 79% rename from src/main/java/me/retucio/camtweaks/ui/widgets/buttons/SettingButton.java rename to src/main/java/me/retucio/sputnik/ui/widgets/buttons/SettingButton.java index 3962096..416a3c9 100644 --- a/src/main/java/me/retucio/camtweaks/ui/widgets/buttons/SettingButton.java +++ b/src/main/java/me/retucio/sputnik/ui/widgets/buttons/SettingButton.java @@ -1,8 +1,8 @@ -package me.retucio.camtweaks.ui.widgets.buttons; +package me.retucio.sputnik.ui.widgets.buttons; -import me.retucio.camtweaks.module.settings.Setting; -import me.retucio.camtweaks.ui.widgets.frames.SettingsFrame; -import me.retucio.camtweaks.ui.widgets.Button; +import me.retucio.sputnik.module.settings.Setting; +import me.retucio.sputnik.ui.widgets.frames.SettingsFrame; +import me.retucio.sputnik.ui.widgets.Button; import net.minecraft.client.gui.DrawContext; import net.minecraft.text.Text; diff --git a/src/main/java/me/retucio/camtweaks/ui/widgets/buttons/settings/BindButton.java b/src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/BindButton.java similarity index 84% rename from src/main/java/me/retucio/camtweaks/ui/widgets/buttons/settings/BindButton.java rename to src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/BindButton.java index c87c3c8..30f3417 100644 --- a/src/main/java/me/retucio/camtweaks/ui/widgets/buttons/settings/BindButton.java +++ b/src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/BindButton.java @@ -1,13 +1,13 @@ -package me.retucio.camtweaks.ui.widgets.buttons.settings; +package me.retucio.sputnik.ui.widgets.buttons.settings; -import me.retucio.camtweaks.module.settings.KeySetting; -import me.retucio.camtweaks.ui.widgets.buttons.SettingButton; -import me.retucio.camtweaks.ui.screen.ClickGUI; -import me.retucio.camtweaks.ui.widgets.frames.settings.ClientSettingsFrame; -import me.retucio.camtweaks.ui.widgets.frames.SettingsFrame; -import me.retucio.camtweaks.util.ChatUtil; -import me.retucio.camtweaks.util.Colors; -import me.retucio.camtweaks.util.KeyUtil; +import me.retucio.sputnik.module.settings.KeySetting; +import me.retucio.sputnik.ui.widgets.buttons.SettingButton; +import me.retucio.sputnik.ui.screen.ClickGUI; +import me.retucio.sputnik.ui.widgets.frames.settings.ClientSettingsFrame; +import me.retucio.sputnik.ui.widgets.frames.SettingsFrame; +import me.retucio.sputnik.util.ChatUtil; +import me.retucio.sputnik.util.Colors; +import me.retucio.sputnik.util.KeyUtil; import net.minecraft.client.gui.DrawContext; import net.minecraft.client.input.KeyInput; import net.minecraft.client.option.KeyBinding; diff --git a/src/main/java/me/retucio/camtweaks/ui/widgets/buttons/settings/ChooseButton.java b/src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/ChooseButton.java similarity index 88% rename from src/main/java/me/retucio/camtweaks/ui/widgets/buttons/settings/ChooseButton.java rename to src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/ChooseButton.java index 68d93b6..f041050 100644 --- a/src/main/java/me/retucio/camtweaks/ui/widgets/buttons/settings/ChooseButton.java +++ b/src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/ChooseButton.java @@ -1,14 +1,14 @@ -package me.retucio.camtweaks.ui.widgets.buttons.settings; +package me.retucio.sputnik.ui.widgets.buttons.settings; -import me.retucio.camtweaks.module.Category; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.module.settings.BooleanSetting; -import me.retucio.camtweaks.module.settings.OptionSetting; -import me.retucio.camtweaks.ui.widgets.buttons.SettingButton; -import me.retucio.camtweaks.ui.widgets.frames.SettingsFrame; -import me.retucio.camtweaks.ui.screen.ClickGUI; -import me.retucio.camtweaks.util.Colors; -import me.retucio.camtweaks.util.KeyUtil; +import me.retucio.sputnik.module.Category; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.module.settings.BooleanSetting; +import me.retucio.sputnik.module.settings.OptionSetting; +import me.retucio.sputnik.ui.widgets.buttons.SettingButton; +import me.retucio.sputnik.ui.widgets.frames.SettingsFrame; +import me.retucio.sputnik.ui.screen.ClickGUI; +import me.retucio.sputnik.util.Colors; +import me.retucio.sputnik.util.KeyUtil; import net.minecraft.client.gui.DrawContext; import java.util.Comparator; diff --git a/src/main/java/me/retucio/camtweaks/ui/widgets/buttons/settings/ColorButton.java b/src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/ColorButton.java similarity index 86% rename from src/main/java/me/retucio/camtweaks/ui/widgets/buttons/settings/ColorButton.java rename to src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/ColorButton.java index 1397a9b..4bf0844 100644 --- a/src/main/java/me/retucio/camtweaks/ui/widgets/buttons/settings/ColorButton.java +++ b/src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/ColorButton.java @@ -1,12 +1,12 @@ -package me.retucio.camtweaks.ui.widgets.buttons.settings; +package me.retucio.sputnik.ui.widgets.buttons.settings; -import me.retucio.camtweaks.module.settings.ColorSetting; -import me.retucio.camtweaks.ui.widgets.buttons.SettingButton; -import me.retucio.camtweaks.ui.screen.ClickGUI; -import me.retucio.camtweaks.ui.widgets.frames.SettingsFrame; -import me.retucio.camtweaks.util.Colors; -import me.retucio.camtweaks.util.KeyUtil; -import me.retucio.camtweaks.util.render.DrawUtil; +import me.retucio.sputnik.module.settings.ColorSetting; +import me.retucio.sputnik.ui.widgets.buttons.SettingButton; +import me.retucio.sputnik.ui.screen.ClickGUI; +import me.retucio.sputnik.ui.widgets.frames.SettingsFrame; +import me.retucio.sputnik.util.Colors; +import me.retucio.sputnik.util.KeyUtil; +import me.retucio.sputnik.util.render.DrawUtil; import net.minecraft.client.gui.DrawContext; import net.minecraft.text.Text; diff --git a/src/main/java/me/retucio/camtweaks/ui/widgets/buttons/settings/CycleButton.java b/src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/CycleButton.java similarity index 88% rename from src/main/java/me/retucio/camtweaks/ui/widgets/buttons/settings/CycleButton.java rename to src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/CycleButton.java index c79cefc..235fad7 100644 --- a/src/main/java/me/retucio/camtweaks/ui/widgets/buttons/settings/CycleButton.java +++ b/src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/CycleButton.java @@ -1,11 +1,11 @@ -package me.retucio.camtweaks.ui.widgets.buttons.settings; +package me.retucio.sputnik.ui.widgets.buttons.settings; -import me.retucio.camtweaks.module.settings.EnumSetting; -import me.retucio.camtweaks.ui.screen.ClickGUI; -import me.retucio.camtweaks.ui.widgets.buttons.SettingButton; -import me.retucio.camtweaks.ui.widgets.frames.SettingsFrame; -import me.retucio.camtweaks.util.Colors; -import me.retucio.camtweaks.util.KeyUtil; +import me.retucio.sputnik.module.settings.EnumSetting; +import me.retucio.sputnik.ui.screen.ClickGUI; +import me.retucio.sputnik.ui.widgets.buttons.SettingButton; +import me.retucio.sputnik.ui.widgets.frames.SettingsFrame; +import me.retucio.sputnik.util.Colors; +import me.retucio.sputnik.util.KeyUtil; import net.minecraft.client.gui.DrawContext; import net.minecraft.client.gui.screen.Screen; import net.minecraft.text.Text; diff --git a/src/main/java/me/retucio/camtweaks/ui/widgets/buttons/settings/ListButton.java b/src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/ListButton.java similarity index 88% rename from src/main/java/me/retucio/camtweaks/ui/widgets/buttons/settings/ListButton.java rename to src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/ListButton.java index f5d933c..24979c9 100644 --- a/src/main/java/me/retucio/camtweaks/ui/widgets/buttons/settings/ListButton.java +++ b/src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/ListButton.java @@ -1,14 +1,14 @@ -package me.retucio.camtweaks.ui.widgets.buttons.settings; +package me.retucio.sputnik.ui.widgets.buttons.settings; -import me.retucio.camtweaks.module.Category; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.module.settings.BooleanSetting; -import me.retucio.camtweaks.module.settings.ListSetting; -import me.retucio.camtweaks.ui.widgets.buttons.SettingButton; -import me.retucio.camtweaks.ui.screen.ClickGUI; -import me.retucio.camtweaks.ui.widgets.frames.SettingsFrame; -import me.retucio.camtweaks.util.Colors; -import me.retucio.camtweaks.util.KeyUtil; +import me.retucio.sputnik.module.Category; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.module.settings.BooleanSetting; +import me.retucio.sputnik.module.settings.ListSetting; +import me.retucio.sputnik.ui.widgets.buttons.SettingButton; +import me.retucio.sputnik.ui.screen.ClickGUI; +import me.retucio.sputnik.ui.widgets.frames.SettingsFrame; +import me.retucio.sputnik.util.Colors; +import me.retucio.sputnik.util.KeyUtil; import net.minecraft.client.gui.DrawContext; import net.minecraft.text.Text; diff --git a/src/main/java/me/retucio/camtweaks/ui/widgets/buttons/settings/SliderButton.java b/src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/SliderButton.java similarity index 86% rename from src/main/java/me/retucio/camtweaks/ui/widgets/buttons/settings/SliderButton.java rename to src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/SliderButton.java index a3b95fd..8c77773 100644 --- a/src/main/java/me/retucio/camtweaks/ui/widgets/buttons/settings/SliderButton.java +++ b/src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/SliderButton.java @@ -1,12 +1,12 @@ -package me.retucio.camtweaks.ui.widgets.buttons.settings; +package me.retucio.sputnik.ui.widgets.buttons.settings; -import me.retucio.camtweaks.module.settings.NumberSetting; -import me.retucio.camtweaks.ui.screen.ClickGUI; -import me.retucio.camtweaks.ui.widgets.buttons.SettingButton; -import me.retucio.camtweaks.ui.widgets.frames.SettingsFrame; -import me.retucio.camtweaks.ui.widgets.frames.settings.ClientSettingsFrame; -import me.retucio.camtweaks.util.Colors; -import me.retucio.camtweaks.util.KeyUtil; +import me.retucio.sputnik.module.settings.NumberSetting; +import me.retucio.sputnik.ui.screen.ClickGUI; +import me.retucio.sputnik.ui.widgets.buttons.SettingButton; +import me.retucio.sputnik.ui.widgets.frames.SettingsFrame; +import me.retucio.sputnik.ui.widgets.frames.settings.ClientSettingsFrame; +import me.retucio.sputnik.util.Colors; +import me.retucio.sputnik.util.KeyUtil; import net.minecraft.client.gui.DrawContext; import org.lwjgl.glfw.GLFW; diff --git a/src/main/java/me/retucio/camtweaks/ui/widgets/buttons/settings/TextButton.java b/src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/TextButton.java similarity index 88% rename from src/main/java/me/retucio/camtweaks/ui/widgets/buttons/settings/TextButton.java rename to src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/TextButton.java index 581d43a..3de2511 100644 --- a/src/main/java/me/retucio/camtweaks/ui/widgets/buttons/settings/TextButton.java +++ b/src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/TextButton.java @@ -1,11 +1,11 @@ -package me.retucio.camtweaks.ui.widgets.buttons.settings; +package me.retucio.sputnik.ui.widgets.buttons.settings; -import me.retucio.camtweaks.module.settings.StringSetting; -import me.retucio.camtweaks.ui.widgets.buttons.SettingButton; -import me.retucio.camtweaks.ui.screen.ClickGUI; -import me.retucio.camtweaks.ui.widgets.frames.SettingsFrame; -import me.retucio.camtweaks.util.Colors; -import me.retucio.camtweaks.util.KeyUtil; +import me.retucio.sputnik.module.settings.StringSetting; +import me.retucio.sputnik.ui.widgets.buttons.SettingButton; +import me.retucio.sputnik.ui.screen.ClickGUI; +import me.retucio.sputnik.ui.widgets.frames.SettingsFrame; +import me.retucio.sputnik.util.Colors; +import me.retucio.sputnik.util.KeyUtil; import net.minecraft.client.gui.DrawContext; import org.lwjgl.glfw.GLFW; diff --git a/src/main/java/me/retucio/camtweaks/ui/widgets/buttons/settings/ToggleButton.java b/src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/ToggleButton.java similarity index 78% rename from src/main/java/me/retucio/camtweaks/ui/widgets/buttons/settings/ToggleButton.java rename to src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/ToggleButton.java index d248d9a..2befa4d 100644 --- a/src/main/java/me/retucio/camtweaks/ui/widgets/buttons/settings/ToggleButton.java +++ b/src/main/java/me/retucio/sputnik/ui/widgets/buttons/settings/ToggleButton.java @@ -1,11 +1,11 @@ -package me.retucio.camtweaks.ui.widgets.buttons.settings; +package me.retucio.sputnik.ui.widgets.buttons.settings; -import me.retucio.camtweaks.module.settings.BooleanSetting; -import me.retucio.camtweaks.ui.widgets.buttons.SettingButton; -import me.retucio.camtweaks.ui.screen.ClickGUI; -import me.retucio.camtweaks.ui.widgets.frames.SettingsFrame; -import me.retucio.camtweaks.util.Colors; -import me.retucio.camtweaks.util.KeyUtil; +import me.retucio.sputnik.module.settings.BooleanSetting; +import me.retucio.sputnik.ui.widgets.buttons.SettingButton; +import me.retucio.sputnik.ui.screen.ClickGUI; +import me.retucio.sputnik.ui.widgets.frames.SettingsFrame; +import me.retucio.sputnik.util.Colors; +import me.retucio.sputnik.util.KeyUtil; import net.minecraft.client.gui.DrawContext; import java.awt.*; diff --git a/src/main/java/me/retucio/camtweaks/ui/widgets/frames/ModuleFrame.java b/src/main/java/me/retucio/sputnik/ui/widgets/frames/ModuleFrame.java similarity index 89% rename from src/main/java/me/retucio/camtweaks/ui/widgets/frames/ModuleFrame.java rename to src/main/java/me/retucio/sputnik/ui/widgets/frames/ModuleFrame.java index a20d84f..9b89142 100644 --- a/src/main/java/me/retucio/camtweaks/ui/widgets/frames/ModuleFrame.java +++ b/src/main/java/me/retucio/sputnik/ui/widgets/frames/ModuleFrame.java @@ -1,13 +1,12 @@ -package me.retucio.camtweaks.ui.widgets.frames; +package me.retucio.sputnik.ui.widgets.frames; -import me.retucio.camtweaks.CameraTweaks; -import me.retucio.camtweaks.event.events.camtweaks.ModuleFrameEvent; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.ui.screen.ClickGUI; -import me.retucio.camtweaks.ui.widgets.buttons.ModuleButton; -import me.retucio.camtweaks.ui.widgets.Frame; -import me.retucio.camtweaks.util.Colors; +import me.retucio.sputnik.event.events.sputnik.ModuleFrameEvent; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.ui.screen.ClickGUI; +import me.retucio.sputnik.ui.widgets.buttons.ModuleButton; +import me.retucio.sputnik.ui.widgets.Frame; +import me.retucio.sputnik.util.Colors; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.DrawContext; @@ -102,7 +101,7 @@ public class ModuleFrame extends Frame { dragY = mouseY - y; } else if (button == 1) { // clic derecho para extenderlo extended = !extended; - CameraTweaks.EVENT_BUS.post(new ModuleFrameEvent.Extend()); + me.retucio.sputnik.Sputnik.EVENT_BUS.post(new ModuleFrameEvent.Extend()); } } @@ -133,7 +132,7 @@ public class ModuleFrame extends Frame { } if (isHovered(mouseX, mouseY)) - CameraTweaks.EVENT_BUS.post(new ModuleFrameEvent.Move()); + me.retucio.sputnik.Sputnik.EVENT_BUS.post(new ModuleFrameEvent.Move()); } @Override diff --git a/src/main/java/me/retucio/camtweaks/ui/widgets/frames/SettingsFrame.java b/src/main/java/me/retucio/sputnik/ui/widgets/frames/SettingsFrame.java similarity index 93% rename from src/main/java/me/retucio/camtweaks/ui/widgets/frames/SettingsFrame.java rename to src/main/java/me/retucio/sputnik/ui/widgets/frames/SettingsFrame.java index 651d887..7611f57 100644 --- a/src/main/java/me/retucio/camtweaks/ui/widgets/frames/SettingsFrame.java +++ b/src/main/java/me/retucio/sputnik/ui/widgets/frames/SettingsFrame.java @@ -1,14 +1,13 @@ -package me.retucio.camtweaks.ui.widgets.frames; +package me.retucio.sputnik.ui.widgets.frames; -import me.retucio.camtweaks.CameraTweaks; -import me.retucio.camtweaks.event.events.camtweaks.SettingsFrameEvent; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.module.settings.*; -import me.retucio.camtweaks.ui.widgets.buttons.settings.*; -import me.retucio.camtweaks.ui.screen.ClickGUI; -import me.retucio.camtweaks.ui.widgets.buttons.*; -import me.retucio.camtweaks.ui.widgets.Frame; -import me.retucio.camtweaks.util.Colors; +import me.retucio.sputnik.event.events.sputnik.SettingsFrameEvent; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.module.settings.*; +import me.retucio.sputnik.ui.widgets.buttons.settings.*; +import me.retucio.sputnik.ui.screen.ClickGUI; +import me.retucio.sputnik.ui.widgets.buttons.*; +import me.retucio.sputnik.ui.widgets.Frame; +import me.retucio.sputnik.util.Colors; import net.minecraft.client.gui.DrawContext; @@ -131,7 +130,7 @@ public class SettingsFrame extends Frame> { super.mouseReleased(mouseX, mouseY, button); if (button == 0) { dragging = false; - CameraTweaks.EVENT_BUS.post(new SettingsFrameEvent.Move(this)); + me.retucio.sputnik.Sputnik.EVENT_BUS.post(new SettingsFrameEvent.Move(this)); } for (SettingButton sb : visibleButtons) diff --git a/src/main/java/me/retucio/camtweaks/ui/widgets/frames/settings/ClientSettingsFrame.java b/src/main/java/me/retucio/sputnik/ui/widgets/frames/settings/ClientSettingsFrame.java similarity index 82% rename from src/main/java/me/retucio/camtweaks/ui/widgets/frames/settings/ClientSettingsFrame.java rename to src/main/java/me/retucio/sputnik/ui/widgets/frames/settings/ClientSettingsFrame.java index 5743085..9d7dd28 100644 --- a/src/main/java/me/retucio/camtweaks/ui/widgets/frames/settings/ClientSettingsFrame.java +++ b/src/main/java/me/retucio/sputnik/ui/widgets/frames/settings/ClientSettingsFrame.java @@ -1,12 +1,11 @@ -package me.retucio.camtweaks.ui.widgets.frames.settings; +package me.retucio.sputnik.ui.widgets.frames.settings; -import me.retucio.camtweaks.CameraTweaks; -import me.retucio.camtweaks.event.events.camtweaks.GUISettingsFrameEvent; -import me.retucio.camtweaks.module.modules.client.GUI; -import me.retucio.camtweaks.ui.widgets.frames.SettingsFrame; -import me.retucio.camtweaks.ui.screen.ClickGUI; -import me.retucio.camtweaks.ui.widgets.buttons.SettingButton; -import me.retucio.camtweaks.util.Colors; +import me.retucio.sputnik.event.events.sputnik.GUISettingsFrameEvent; +import me.retucio.sputnik.module.modules.client.GUI; +import me.retucio.sputnik.ui.widgets.frames.SettingsFrame; +import me.retucio.sputnik.ui.screen.ClickGUI; +import me.retucio.sputnik.ui.widgets.buttons.SettingButton; +import me.retucio.sputnik.util.Colors; import net.minecraft.client.gui.DrawContext; import java.util.List; @@ -66,7 +65,7 @@ public class ClientSettingsFrame extends SettingsFrame { dragY = mouseY - y; } else if (button == 1) { extended = !extended; - CameraTweaks.EVENT_BUS.post(new GUISettingsFrameEvent.Extend()); + me.retucio.sputnik.Sputnik.EVENT_BUS.post(new GUISettingsFrameEvent.Extend()); } } @@ -79,7 +78,7 @@ public class ClientSettingsFrame extends SettingsFrame { public void mouseReleased(int mouseX, int mouseY, int button) { ClickGUI.INSTANCE.unselect(this); if (button == 0 && dragging) - CameraTweaks.EVENT_BUS.post(new GUISettingsFrameEvent.Move()); + me.retucio.sputnik.Sputnik.EVENT_BUS.post(new GUISettingsFrameEvent.Move()); super.mouseReleased(mouseX, mouseY, button); } diff --git a/src/main/java/me/retucio/camtweaks/ui/widgets/frames/settings/ColorPickerFrame.java b/src/main/java/me/retucio/sputnik/ui/widgets/frames/settings/ColorPickerFrame.java similarity index 96% rename from src/main/java/me/retucio/camtweaks/ui/widgets/frames/settings/ColorPickerFrame.java rename to src/main/java/me/retucio/sputnik/ui/widgets/frames/settings/ColorPickerFrame.java index a9ae6db..bfac183 100644 --- a/src/main/java/me/retucio/camtweaks/ui/widgets/frames/settings/ColorPickerFrame.java +++ b/src/main/java/me/retucio/sputnik/ui/widgets/frames/settings/ColorPickerFrame.java @@ -1,18 +1,18 @@ -package me.retucio.camtweaks.ui.widgets.frames.settings; +package me.retucio.sputnik.ui.widgets.frames.settings; -import me.retucio.camtweaks.module.Category; -import me.retucio.camtweaks.module.Module; -import me.retucio.camtweaks.module.settings.Setting; -import me.retucio.camtweaks.module.settings.BooleanSetting; -import me.retucio.camtweaks.module.settings.ColorSetting; -import me.retucio.camtweaks.module.settings.NumberSetting; -import me.retucio.camtweaks.ui.widgets.buttons.*; -import me.retucio.camtweaks.ui.widgets.buttons.settings.SliderButton; -import me.retucio.camtweaks.ui.widgets.buttons.settings.ToggleButton; -import me.retucio.camtweaks.ui.widgets.frames.SettingsFrame; -import me.retucio.camtweaks.ui.screen.ClickGUI; -import me.retucio.camtweaks.util.Colors; -import me.retucio.camtweaks.util.render.DrawUtil; +import me.retucio.sputnik.module.Category; +import me.retucio.sputnik.module.Module; +import me.retucio.sputnik.module.settings.Setting; +import me.retucio.sputnik.module.settings.BooleanSetting; +import me.retucio.sputnik.module.settings.ColorSetting; +import me.retucio.sputnik.module.settings.NumberSetting; +import me.retucio.sputnik.ui.widgets.buttons.*; +import me.retucio.sputnik.ui.widgets.buttons.settings.SliderButton; +import me.retucio.sputnik.ui.widgets.buttons.settings.ToggleButton; +import me.retucio.sputnik.ui.widgets.frames.SettingsFrame; +import me.retucio.sputnik.ui.screen.ClickGUI; +import me.retucio.sputnik.util.Colors; +import me.retucio.sputnik.util.render.DrawUtil; import net.minecraft.client.gui.DrawContext; import java.awt.*; diff --git a/src/main/java/me/retucio/camtweaks/ui/widgets/misc/ScrollBarWidget.java b/src/main/java/me/retucio/sputnik/ui/widgets/misc/ScrollBarWidget.java similarity index 93% rename from src/main/java/me/retucio/camtweaks/ui/widgets/misc/ScrollBarWidget.java rename to src/main/java/me/retucio/sputnik/ui/widgets/misc/ScrollBarWidget.java index b3c27b6..1940f2d 100644 --- a/src/main/java/me/retucio/camtweaks/ui/widgets/misc/ScrollBarWidget.java +++ b/src/main/java/me/retucio/sputnik/ui/widgets/misc/ScrollBarWidget.java @@ -1,9 +1,9 @@ -package me.retucio.camtweaks.ui.widgets.misc; +package me.retucio.sputnik.ui.widgets.misc; -import me.retucio.camtweaks.ui.screen.ClickGUI; -import me.retucio.camtweaks.ui.widgets.frames.settings.ClientSettingsFrame; -import me.retucio.camtweaks.ui.widgets.Widget; -import me.retucio.camtweaks.util.Colors; +import me.retucio.sputnik.ui.screen.ClickGUI; +import me.retucio.sputnik.ui.widgets.frames.settings.ClientSettingsFrame; +import me.retucio.sputnik.ui.widgets.Widget; +import me.retucio.sputnik.util.Colors; import net.minecraft.client.gui.DrawContext; import java.awt.*; diff --git a/src/main/java/me/retucio/camtweaks/ui/widgets/misc/SearchBarWidget.java b/src/main/java/me/retucio/sputnik/ui/widgets/misc/SearchBarWidget.java similarity index 94% rename from src/main/java/me/retucio/camtweaks/ui/widgets/misc/SearchBarWidget.java rename to src/main/java/me/retucio/sputnik/ui/widgets/misc/SearchBarWidget.java index e931454..d97b396 100644 --- a/src/main/java/me/retucio/camtweaks/ui/widgets/misc/SearchBarWidget.java +++ b/src/main/java/me/retucio/sputnik/ui/widgets/misc/SearchBarWidget.java @@ -1,11 +1,11 @@ -package me.retucio.camtweaks.ui.widgets.misc; +package me.retucio.sputnik.ui.widgets.misc; -import me.retucio.camtweaks.config.ConfigManager; -import me.retucio.camtweaks.ui.screen.ClickGUI; -import me.retucio.camtweaks.ui.widgets.frames.settings.ClientSettingsFrame; -import me.retucio.camtweaks.ui.widgets.Widget; -import me.retucio.camtweaks.util.Colors; -import me.retucio.camtweaks.util.KeyUtil; +import me.retucio.sputnik.config.ConfigManager; +import me.retucio.sputnik.ui.screen.ClickGUI; +import me.retucio.sputnik.ui.widgets.frames.settings.ClientSettingsFrame; +import me.retucio.sputnik.ui.widgets.Widget; +import me.retucio.sputnik.util.Colors; +import me.retucio.sputnik.util.KeyUtil; import net.minecraft.client.gui.DrawContext; import net.minecraft.text.Text; import net.minecraft.util.Formatting; diff --git a/src/main/java/me/retucio/camtweaks/util/ChatUtil.java b/src/main/java/me/retucio/sputnik/util/ChatUtil.java similarity index 88% rename from src/main/java/me/retucio/camtweaks/util/ChatUtil.java rename to src/main/java/me/retucio/sputnik/util/ChatUtil.java index 5e8bfea..13af915 100644 --- a/src/main/java/me/retucio/camtweaks/util/ChatUtil.java +++ b/src/main/java/me/retucio/sputnik/util/ChatUtil.java @@ -1,9 +1,8 @@ -package me.retucio.camtweaks.util; +package me.retucio.sputnik.util; -import me.retucio.camtweaks.CameraTweaks; -import me.retucio.camtweaks.event.SubscribeEvent; -import me.retucio.camtweaks.event.events.camtweaks.LoadModuleManagerEvent; -import me.retucio.camtweaks.ui.widgets.frames.settings.ClientSettingsFrame; +import me.retucio.sputnik.event.SubscribeEvent; +import me.retucio.sputnik.event.events.sputnik.LoadModuleManagerEvent; +import me.retucio.sputnik.ui.widgets.frames.settings.ClientSettingsFrame; import net.minecraft.client.MinecraftClient; import net.minecraft.text.Text; import net.minecraft.util.Formatting; @@ -25,7 +24,7 @@ public class ChatUtil { } public static void addMessage(Text text) { - if (mc.inGameHud == null || !CameraTweaks.settingsApplied) return; + if (mc.inGameHud == null || !me.retucio.sputnik.Sputnik.settingsApplied) return; mc.inGameHud.getChatHud().addMessage(text); } diff --git a/src/main/java/me/retucio/camtweaks/util/Colors.java b/src/main/java/me/retucio/sputnik/util/Colors.java similarity index 97% rename from src/main/java/me/retucio/camtweaks/util/Colors.java rename to src/main/java/me/retucio/sputnik/util/Colors.java index d03fad2..7763498 100644 --- a/src/main/java/me/retucio/camtweaks/util/Colors.java +++ b/src/main/java/me/retucio/sputnik/util/Colors.java @@ -1,10 +1,10 @@ -package me.retucio.camtweaks.util; +package me.retucio.sputnik.util; import net.minecraft.util.Formatting; import java.awt.Color; -import static me.retucio.camtweaks.ui.widgets.frames.settings.ClientSettingsFrame.guiSettings; +import static me.retucio.sputnik.ui.widgets.frames.settings.ClientSettingsFrame.guiSettings; // clase para los colores diff --git a/src/main/java/me/retucio/camtweaks/util/EntityUtil.java b/src/main/java/me/retucio/sputnik/util/EntityUtil.java similarity index 97% rename from src/main/java/me/retucio/camtweaks/util/EntityUtil.java rename to src/main/java/me/retucio/sputnik/util/EntityUtil.java index f667aca..f32f5de 100644 --- a/src/main/java/me/retucio/camtweaks/util/EntityUtil.java +++ b/src/main/java/me/retucio/sputnik/util/EntityUtil.java @@ -1,4 +1,4 @@ -package me.retucio.camtweaks.util; +package me.retucio.sputnik.util; import net.minecraft.entity.Entity; import net.minecraft.entity.projectile.ProjectileUtil; @@ -10,7 +10,7 @@ import net.minecraft.util.math.Vec3d; import net.minecraft.world.RaycastContext; import org.joml.Vector3d; -import static me.retucio.camtweaks.CameraTweaks.mc; +import static me.retucio.sputnik.Sputnik.mc; public class EntityUtil { diff --git a/src/main/java/me/retucio/camtweaks/util/InventoryUtil.java b/src/main/java/me/retucio/sputnik/util/InventoryUtil.java similarity index 96% rename from src/main/java/me/retucio/camtweaks/util/InventoryUtil.java rename to src/main/java/me/retucio/sputnik/util/InventoryUtil.java index 5f2003d..563617b 100644 --- a/src/main/java/me/retucio/camtweaks/util/InventoryUtil.java +++ b/src/main/java/me/retucio/sputnik/util/InventoryUtil.java @@ -1,9 +1,9 @@ -package me.retucio.camtweaks.util; +package me.retucio.sputnik.util; -import me.retucio.camtweaks.event.SubscribeEvent; -import me.retucio.camtweaks.event.events.DisconnectEvent; -import me.retucio.camtweaks.event.events.OpenScreenEvent; -import me.retucio.camtweaks.mixin.accessor.KeyBindingAccessor; +import me.retucio.sputnik.event.SubscribeEvent; +import me.retucio.sputnik.event.events.DisconnectEvent; +import me.retucio.sputnik.event.events.OpenScreenEvent; +import me.retucio.sputnik.mixin.accessor.KeyBindingAccessor; import net.minecraft.client.gui.screen.ingame.GenericContainerScreen; import net.minecraft.client.gui.screen.ingame.HandledScreen; import net.minecraft.entity.player.PlayerInventory; @@ -20,7 +20,7 @@ import net.minecraft.text.Text; import java.util.ArrayList; import java.util.List; -import static me.retucio.camtweaks.CameraTweaks.mc; +import static me.retucio.sputnik.Sputnik.mc; public class InventoryUtil { diff --git a/src/main/java/me/retucio/camtweaks/util/KeyUtil.java b/src/main/java/me/retucio/sputnik/util/KeyUtil.java similarity index 94% rename from src/main/java/me/retucio/camtweaks/util/KeyUtil.java rename to src/main/java/me/retucio/sputnik/util/KeyUtil.java index 503f18d..6f4bde4 100644 --- a/src/main/java/me/retucio/camtweaks/util/KeyUtil.java +++ b/src/main/java/me/retucio/sputnik/util/KeyUtil.java @@ -1,12 +1,11 @@ -package me.retucio.camtweaks.util; +package me.retucio.sputnik.util; -import me.retucio.camtweaks.CameraTweaks; -import me.retucio.camtweaks.mixin.accessor.KeyBindingAccessor; +import me.retucio.sputnik.mixin.accessor.KeyBindingAccessor; import net.minecraft.client.input.KeyInput; import net.minecraft.client.option.KeyBinding; import org.lwjgl.glfw.GLFW; -import static me.retucio.camtweaks.CameraTweaks.mc; +import static me.retucio.sputnik.Sputnik.mc; // cosas útiles relacionadas a las teclas public class KeyUtil { diff --git a/src/main/java/me/retucio/camtweaks/util/Lists.java b/src/main/java/me/retucio/sputnik/util/Lists.java similarity index 87% rename from src/main/java/me/retucio/camtweaks/util/Lists.java rename to src/main/java/me/retucio/sputnik/util/Lists.java index fa03536..8576bd2 100644 --- a/src/main/java/me/retucio/camtweaks/util/Lists.java +++ b/src/main/java/me/retucio/sputnik/util/Lists.java @@ -1,18 +1,10 @@ -package me.retucio.camtweaks.util; +package me.retucio.sputnik.util; -import com.ibm.icu.impl.locale.XCldrStub; import net.minecraft.block.Block; -import net.minecraft.client.gui.screen.Screen; -import net.minecraft.client.resource.language.I18n; -import net.minecraft.client.sound.Sound; import net.minecraft.entity.EntityType; import net.minecraft.item.Item; -import net.minecraft.network.packet.PacketType; import net.minecraft.particle.ParticleType; import net.minecraft.registry.Registries; -import net.minecraft.resource.featuretoggle.FeatureFlag; -import net.minecraft.resource.featuretoggle.FeatureFlags; -import net.minecraft.screen.ScreenHandler; import net.minecraft.screen.ScreenHandlerType; import net.minecraft.sound.SoundEvent; import net.minecraft.text.Text; @@ -21,9 +13,7 @@ import java.awt.*; import java.util.*; import java.util.List; -import static me.retucio.camtweaks.util.Colors.*; - -import static me.retucio.camtweaks.CameraTweaks.mc; +import static me.retucio.sputnik.util.Colors.*; public class Lists { diff --git a/src/main/java/me/retucio/camtweaks/util/MiscUtil.java b/src/main/java/me/retucio/sputnik/util/MiscUtil.java similarity index 86% rename from src/main/java/me/retucio/camtweaks/util/MiscUtil.java rename to src/main/java/me/retucio/sputnik/util/MiscUtil.java index 23eaf54..91ad0b6 100644 --- a/src/main/java/me/retucio/camtweaks/util/MiscUtil.java +++ b/src/main/java/me/retucio/sputnik/util/MiscUtil.java @@ -1,9 +1,9 @@ -package me.retucio.camtweaks.util; +package me.retucio.sputnik.util; -import me.retucio.camtweaks.event.SubscribeEvent; -import me.retucio.camtweaks.event.events.TickEvent; -import me.retucio.camtweaks.module.ModuleManager; -import me.retucio.camtweaks.module.modules.client.HUD; +import me.retucio.sputnik.event.SubscribeEvent; +import me.retucio.sputnik.event.events.TickEvent; +import me.retucio.sputnik.module.ModuleManager; +import me.retucio.sputnik.module.modules.client.HUD; import net.minecraft.client.gui.screen.Screen; import net.minecraft.util.math.Vec3d; import org.joml.Vector3d; @@ -13,7 +13,7 @@ import java.time.LocalTime; import java.time.ZoneOffset; import java.time.format.DateTimeFormatter; -import static me.retucio.camtweaks.CameraTweaks.mc; +import static me.retucio.sputnik.Sputnik.mc; public class MiscUtil { diff --git a/src/main/java/me/retucio/camtweaks/util/NetworkUtil.java b/src/main/java/me/retucio/sputnik/util/NetworkUtil.java similarity index 94% rename from src/main/java/me/retucio/camtweaks/util/NetworkUtil.java rename to src/main/java/me/retucio/sputnik/util/NetworkUtil.java index 988d547..8cc3b10 100644 --- a/src/main/java/me/retucio/camtweaks/util/NetworkUtil.java +++ b/src/main/java/me/retucio/sputnik/util/NetworkUtil.java @@ -1,8 +1,8 @@ -package me.retucio.camtweaks.util; +package me.retucio.sputnik.util; -import me.retucio.camtweaks.event.SubscribeEvent; -import me.retucio.camtweaks.event.events.PacketEvent; +import me.retucio.sputnik.event.SubscribeEvent; +import me.retucio.sputnik.event.events.PacketEvent; import net.minecraft.client.MinecraftClient; import net.minecraft.network.ClientConnection; import net.minecraft.network.listener.PacketListener; diff --git a/src/main/java/me/retucio/camtweaks/util/interfaces/IChatHud.java b/src/main/java/me/retucio/sputnik/util/interfaces/IChatHud.java similarity index 83% rename from src/main/java/me/retucio/camtweaks/util/interfaces/IChatHud.java rename to src/main/java/me/retucio/sputnik/util/interfaces/IChatHud.java index 01017bb..d7e913f 100644 --- a/src/main/java/me/retucio/camtweaks/util/interfaces/IChatHud.java +++ b/src/main/java/me/retucio/sputnik/util/interfaces/IChatHud.java @@ -1,4 +1,4 @@ -package me.retucio.camtweaks.util.interfaces; +package me.retucio.sputnik.util.interfaces; import net.minecraft.client.gui.hud.ChatHudLine; import net.minecraft.text.Text; diff --git a/src/main/java/me/retucio/camtweaks/util/interfaces/IChatHudLine.java b/src/main/java/me/retucio/sputnik/util/interfaces/IChatHudLine.java similarity index 84% rename from src/main/java/me/retucio/camtweaks/util/interfaces/IChatHudLine.java rename to src/main/java/me/retucio/sputnik/util/interfaces/IChatHudLine.java index fa5724a..8313318 100644 --- a/src/main/java/me/retucio/camtweaks/util/interfaces/IChatHudLine.java +++ b/src/main/java/me/retucio/sputnik/util/interfaces/IChatHudLine.java @@ -1,4 +1,4 @@ -package me.retucio.camtweaks.util.interfaces; +package me.retucio.sputnik.util.interfaces; import com.mojang.authlib.GameProfile; diff --git a/src/main/java/me/retucio/camtweaks/util/interfaces/IChatHudLineVisible.java b/src/main/java/me/retucio/sputnik/util/interfaces/IChatHudLineVisible.java similarity index 76% rename from src/main/java/me/retucio/camtweaks/util/interfaces/IChatHudLineVisible.java rename to src/main/java/me/retucio/sputnik/util/interfaces/IChatHudLineVisible.java index 3013a07..1482b3f 100644 --- a/src/main/java/me/retucio/camtweaks/util/interfaces/IChatHudLineVisible.java +++ b/src/main/java/me/retucio/sputnik/util/interfaces/IChatHudLineVisible.java @@ -1,4 +1,4 @@ -package me.retucio.camtweaks.util.interfaces; +package me.retucio.sputnik.util.interfaces; public interface IChatHudLineVisible extends IChatHudLine { diff --git a/src/main/java/me/retucio/camtweaks/util/interfaces/IConfirmScreen.java b/src/main/java/me/retucio/sputnik/util/interfaces/IConfirmScreen.java similarity index 65% rename from src/main/java/me/retucio/camtweaks/util/interfaces/IConfirmScreen.java rename to src/main/java/me/retucio/sputnik/util/interfaces/IConfirmScreen.java index 9358166..938eccb 100644 --- a/src/main/java/me/retucio/camtweaks/util/interfaces/IConfirmScreen.java +++ b/src/main/java/me/retucio/sputnik/util/interfaces/IConfirmScreen.java @@ -1,4 +1,4 @@ -package me.retucio.camtweaks.util.interfaces; +package me.retucio.sputnik.util.interfaces; public interface IConfirmScreen { diff --git a/src/main/java/me/retucio/camtweaks/util/interfaces/IMessageHandler.java b/src/main/java/me/retucio/sputnik/util/interfaces/IMessageHandler.java similarity index 71% rename from src/main/java/me/retucio/camtweaks/util/interfaces/IMessageHandler.java rename to src/main/java/me/retucio/sputnik/util/interfaces/IMessageHandler.java index 531eaa6..bb0ada7 100644 --- a/src/main/java/me/retucio/camtweaks/util/interfaces/IMessageHandler.java +++ b/src/main/java/me/retucio/sputnik/util/interfaces/IMessageHandler.java @@ -1,4 +1,4 @@ -package me.retucio.camtweaks.util.interfaces; +package me.retucio.sputnik.util.interfaces; import com.mojang.authlib.GameProfile; diff --git a/src/main/java/me/retucio/camtweaks/util/interfaces/IVec3d.java b/src/main/java/me/retucio/sputnik/util/interfaces/IVec3d.java similarity index 89% rename from src/main/java/me/retucio/camtweaks/util/interfaces/IVec3d.java rename to src/main/java/me/retucio/sputnik/util/interfaces/IVec3d.java index d3fd230..85fad3e 100644 --- a/src/main/java/me/retucio/camtweaks/util/interfaces/IVec3d.java +++ b/src/main/java/me/retucio/sputnik/util/interfaces/IVec3d.java @@ -1,4 +1,4 @@ -package me.retucio.camtweaks.util.interfaces; +package me.retucio.sputnik.util.interfaces; import net.minecraft.util.math.Vec3i; import org.joml.Vector3d; diff --git a/src/main/java/me/retucio/camtweaks/util/interfaces/TextVisitor.java b/src/main/java/me/retucio/sputnik/util/interfaces/TextVisitor.java similarity index 97% rename from src/main/java/me/retucio/camtweaks/util/interfaces/TextVisitor.java rename to src/main/java/me/retucio/sputnik/util/interfaces/TextVisitor.java index 8d5a50e..16440b3 100644 --- a/src/main/java/me/retucio/camtweaks/util/interfaces/TextVisitor.java +++ b/src/main/java/me/retucio/sputnik/util/interfaces/TextVisitor.java @@ -1,6 +1,6 @@ /* code by meteorclient dev team */ -package me.retucio.camtweaks.util.interfaces; +package me.retucio.sputnik.util.interfaces; import net.minecraft.text.PlainTextContent; import net.minecraft.text.StringVisitable; diff --git a/src/main/java/me/retucio/camtweaks/util/render/DrawUtil.java b/src/main/java/me/retucio/sputnik/util/render/DrawUtil.java similarity index 97% rename from src/main/java/me/retucio/camtweaks/util/render/DrawUtil.java rename to src/main/java/me/retucio/sputnik/util/render/DrawUtil.java index 4e2a55f..3d76411 100644 --- a/src/main/java/me/retucio/camtweaks/util/render/DrawUtil.java +++ b/src/main/java/me/retucio/sputnik/util/render/DrawUtil.java @@ -1,4 +1,4 @@ -package me.retucio.camtweaks.util.render; +package me.retucio.sputnik.util.render; import net.minecraft.client.gui.DrawContext; diff --git a/src/main/java/me/retucio/camtweaks/util/render/GlintRenderLayer.java b/src/main/java/me/retucio/sputnik/util/render/GlintRenderLayer.java similarity index 85% rename from src/main/java/me/retucio/camtweaks/util/render/GlintRenderLayer.java rename to src/main/java/me/retucio/sputnik/util/render/GlintRenderLayer.java index e22a579..72bc9c9 100644 --- a/src/main/java/me/retucio/camtweaks/util/render/GlintRenderLayer.java +++ b/src/main/java/me/retucio/sputnik/util/render/GlintRenderLayer.java @@ -1,12 +1,9 @@ -package me.retucio.camtweaks.util.render; +package me.retucio.sputnik.util.render; -import com.mojang.blaze3d.pipeline.BlendFunction; import com.mojang.blaze3d.pipeline.RenderPipeline; -import com.mojang.blaze3d.platform.DepthTestFunction; import com.mojang.blaze3d.vertex.VertexFormat; import it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenHashMap; -import me.retucio.camtweaks.CameraTweaks; -import me.retucio.camtweaks.module.modules.render.GlintPlus; +import me.retucio.sputnik.module.modules.render.GlintPlus; import net.minecraft.client.gl.RenderPipelines; import net.minecraft.client.render.*; import net.minecraft.client.util.BufferAllocator; @@ -58,7 +55,7 @@ public class GlintRenderLayer extends RenderLayer { } private static RenderLayer buildGlintRenderLayer(String name) { - final Identifier res = Identifier.of(CameraTweaks.MOD_ID, "textures/misc/glint_" + name.toLowerCase() + ".png"); + final Identifier res = Identifier.of(me.retucio.sputnik.Sputnik.MOD_ID, "textures/misc/glint_" + name.toLowerCase() + ".png"); return RenderLayer.of("glint_" + name, RenderSetup.builder(RenderPipelines.GLINT) .texture("Sampler0", res) @@ -69,7 +66,7 @@ public class GlintRenderLayer extends RenderLayer { } private static RenderLayer buildEntityGlintRenderLayer(String name) { - final Identifier res = Identifier.of(CameraTweaks.MOD_ID, "textures/misc/glint_" + name.toLowerCase() + ".png"); + final Identifier res = Identifier.of(me.retucio.sputnik.Sputnik.MOD_ID, "textures/misc/glint_" + name.toLowerCase() + ".png"); return RenderLayer.of("entity_glint_" + name, RenderSetup.builder(RenderPipelines.GLINT) .texture("Sampler0", res) @@ -81,7 +78,7 @@ public class GlintRenderLayer extends RenderLayer { private static RenderLayer buildArmorEntityGlintRenderLayer(String name) { - final Identifier res = Identifier.of(CameraTweaks.MOD_ID, "textures/misc/glint_" + name.toLowerCase() + ".png"); + final Identifier res = Identifier.of(me.retucio.sputnik.Sputnik.MOD_ID, "textures/misc/glint_" + name.toLowerCase() + ".png"); return RenderLayer.of("armor_glint_" + name, RenderSetup.builder(RenderPipelines.GLINT) .texture("Sampler0", res) diff --git a/src/main/java/me/retucio/camtweaks/util/render/Layers.java b/src/main/java/me/retucio/sputnik/util/render/Layers.java similarity index 50% rename from src/main/java/me/retucio/camtweaks/util/render/Layers.java rename to src/main/java/me/retucio/sputnik/util/render/Layers.java index a5e2aa1..11cc095 100644 --- a/src/main/java/me/retucio/camtweaks/util/render/Layers.java +++ b/src/main/java/me/retucio/sputnik/util/render/Layers.java @@ -1,10 +1,9 @@ -package me.retucio.camtweaks.util.render; +package me.retucio.sputnik.util.render; -import me.retucio.camtweaks.CameraTweaks; import net.minecraft.client.render.RenderLayer; import net.minecraft.client.render.RenderSetup; -import static me.retucio.camtweaks.util.render.Pipelines.*; +import static me.retucio.sputnik.util.render.Pipelines.*; public class Layers { @@ -32,11 +31,11 @@ public class Layers { } static { - LINES = RenderLayer.of(CameraTweaks.MOD_ID + "_lines", RenderSetup.builder(LINES_PIPELINE).build()); - LINES_CULL = RenderLayer.of(CameraTweaks.MOD_ID + "_lines_cull", RenderSetup.builder(LINES_CULL_PIPELINE).build()); + LINES = RenderLayer.of(me.retucio.sputnik.Sputnik.MOD_ID + "_lines", RenderSetup.builder(LINES_PIPELINE).build()); + LINES_CULL = RenderLayer.of(me.retucio.sputnik.Sputnik.MOD_ID + "_lines_cull", RenderSetup.builder(LINES_CULL_PIPELINE).build()); - QUADS = RenderLayer.of(CameraTweaks.MOD_ID + "_quads", RenderSetup.builder(QUADS_PIPELINE).build()); - QUADS_CULL = RenderLayer.of(CameraTweaks.MOD_ID + "quads_cull", RenderSetup.builder(QUADS_CULL_PIPELINE).build()); + QUADS = RenderLayer.of(me.retucio.sputnik.Sputnik.MOD_ID + "_quads", RenderSetup.builder(QUADS_PIPELINE).build()); + QUADS_CULL = RenderLayer.of(me.retucio.sputnik.Sputnik.MOD_ID + "quads_cull", RenderSetup.builder(QUADS_CULL_PIPELINE).build()); } } \ No newline at end of file diff --git a/src/main/java/me/retucio/camtweaks/util/render/Pipelines.java b/src/main/java/me/retucio/sputnik/util/render/Pipelines.java similarity index 82% rename from src/main/java/me/retucio/camtweaks/util/render/Pipelines.java rename to src/main/java/me/retucio/sputnik/util/render/Pipelines.java index 9e3c25f..f2204ad 100644 --- a/src/main/java/me/retucio/camtweaks/util/render/Pipelines.java +++ b/src/main/java/me/retucio/sputnik/util/render/Pipelines.java @@ -1,10 +1,9 @@ -package me.retucio.camtweaks.util.render; +package me.retucio.sputnik.util.render; import com.mojang.blaze3d.pipeline.BlendFunction; import com.mojang.blaze3d.pipeline.RenderPipeline; import com.mojang.blaze3d.platform.DepthTestFunction; import com.mojang.blaze3d.vertex.VertexFormat; -import me.retucio.camtweaks.CameraTweaks; import net.minecraft.client.gl.RenderPipelines; import net.minecraft.client.render.VertexFormats; import net.minecraft.util.Identifier; @@ -13,7 +12,7 @@ import net.minecraft.util.Identifier; public class Pipelines { static final RenderPipeline LINES_PIPELINE = RenderPipeline.builder(RenderPipelines.RENDERTYPE_LINES_SNIPPET) - .withLocation(Identifier.of(CameraTweaks.MOD_ID, "pipeline/lines")) + .withLocation(Identifier.of(me.retucio.sputnik.Sputnik.MOD_ID, "pipeline/lines")) .withVertexFormat(VertexFormats.POSITION_COLOR_NORMAL_LINE_WIDTH, VertexFormat.DrawMode.LINES) .withDepthTestFunction(DepthTestFunction.NO_DEPTH_TEST) .withDepthWrite(false) @@ -21,7 +20,7 @@ public class Pipelines { .build(); static final RenderPipeline LINES_CULL_PIPELINE = RenderPipeline.builder(RenderPipelines.RENDERTYPE_LINES_SNIPPET) - .withLocation(Identifier.of(CameraTweaks.MOD_ID, "pipeline/lines_cull")) + .withLocation(Identifier.of(me.retucio.sputnik.Sputnik.MOD_ID, "pipeline/lines_cull")) .withVertexFormat(VertexFormats.POSITION_COLOR_NORMAL_LINE_WIDTH, VertexFormat.DrawMode.LINES) .withDepthTestFunction(DepthTestFunction.LEQUAL_DEPTH_TEST) .withDepthWrite(false) @@ -29,7 +28,7 @@ public class Pipelines { .build(); static final RenderPipeline QUADS_PIPELINE = RenderPipeline.builder(RenderPipelines.POSITION_COLOR_SNIPPET) - .withLocation(Identifier.of(CameraTweaks.MOD_ID, "pipeline/quads")) + .withLocation(Identifier.of(me.retucio.sputnik.Sputnik.MOD_ID, "pipeline/quads")) .withVertexFormat(VertexFormats.POSITION_COLOR, VertexFormat.DrawMode.QUADS) .withDepthTestFunction(DepthTestFunction.NO_DEPTH_TEST) .withBlend(BlendFunction.TRANSLUCENT) @@ -38,7 +37,7 @@ public class Pipelines { .build(); static final RenderPipeline QUADS_CULL_PIPELINE = RenderPipeline.builder(RenderPipelines.POSITION_COLOR_SNIPPET) - .withLocation(Identifier.of(CameraTweaks.MOD_ID, "pipeline/quads_cull")) + .withLocation(Identifier.of(me.retucio.sputnik.Sputnik.MOD_ID, "pipeline/quads_cull")) .withVertexFormat(VertexFormats.POSITION_COLOR, VertexFormat.DrawMode.QUADS) .withDepthTestFunction(DepthTestFunction.LEQUAL_DEPTH_TEST) .withBlend(BlendFunction.TRANSLUCENT) diff --git a/src/main/java/me/retucio/camtweaks/util/render/RenderUtil.java b/src/main/java/me/retucio/sputnik/util/render/RenderUtil.java similarity index 99% rename from src/main/java/me/retucio/camtweaks/util/render/RenderUtil.java rename to src/main/java/me/retucio/sputnik/util/render/RenderUtil.java index 6e4729d..303deda 100644 --- a/src/main/java/me/retucio/camtweaks/util/render/RenderUtil.java +++ b/src/main/java/me/retucio/sputnik/util/render/RenderUtil.java @@ -1,14 +1,11 @@ -package me.retucio.camtweaks.util.render; +package me.retucio.sputnik.util.render; import com.mojang.blaze3d.vertex.VertexFormat; import net.minecraft.client.MinecraftClient; import net.minecraft.client.render.*; -import net.minecraft.client.util.BufferAllocator; import net.minecraft.client.util.math.MatrixStack; -import net.minecraft.util.Colors; import net.minecraft.util.math.*; import net.minecraft.util.shape.VoxelShape; -import net.minecraft.util.shape.VoxelShapes; import java.awt.*; diff --git a/src/main/resources/assets/sputnik/icon.png b/src/main/resources/assets/sputnik/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..bb77d2fde70dccbb349a22cdba2a7bd56da46629 GIT binary patch literal 6953 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.17.3", "minecraft": "~1.21.10", diff --git a/src/main/resources/camtweaks.accesswidener b/src/main/resources/sputnik.accesswidener similarity index 100% rename from src/main/resources/camtweaks.accesswidener rename to src/main/resources/sputnik.accesswidener diff --git a/src/main/resources/camtweaks.mixins.json b/src/main/resources/sputnik.mixins.json similarity index 97% rename from src/main/resources/camtweaks.mixins.json rename to src/main/resources/sputnik.mixins.json index 5d9ade0..7d6fd86 100644 --- a/src/main/resources/camtweaks.mixins.json +++ b/src/main/resources/sputnik.mixins.json @@ -1,6 +1,6 @@ { "required": true, - "package": "me.retucio.camtweaks.mixin", + "package": "me.retucio.sputnik.mixin", "compatibilityLevel": "JAVA_21", "mixins": [ "ClientConnectionMixin", @@ -47,6 +47,7 @@ "DamageParticleFactoryMixin", "DamageParticleMixin", "DisconnectedScreenMixin", + "EmitterParticleMixin", "EquipmentRendererMixin", "FogRendererMixin", "GameOptionsMixin",