Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions src/main/java/dev/cigarette/config/Config.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
import dev.cigarette.module.murdermystery.GoldESP;
import dev.cigarette.module.murdermystery.PlayerESP;
import dev.cigarette.module.render.ProjectileESP;
import dev.cigarette.module.skyblock.RedGifter;
import dev.cigarette.module.ui.*;
import dev.cigarette.module.zombies.Aimbot;
import dev.cigarette.module.zombies.PowerupESP;
Expand Down Expand Up @@ -74,6 +75,7 @@ public static Config construct() {
cfg.putModules("Render", dev.cigarette.module.render.PlayerESP.INSTANCE, ProjectileESP.INSTANCE);
cfg.putModules("UI", GUI.INSTANCE, ModuleList.INSTANCE, Notifications.INSTANCE, TargetHUD.INSTANCE, Watermark.INSTANCE);
cfg.putModules("Zombies", Aimbot.INSTANCE, PowerupESP.INSTANCE, ReviveAura.INSTANCE, ZombieESP.INSTANCE);
cfg.putModules("Skyblock", RedGifter.INSTANCE);
if (Cigarette.IN_DEV_ENVIRONMENT) {
cfg.putCategory("Agents", DevWidget.CATEGORY_INSTANCE);
}
Expand Down
63 changes: 63 additions & 0 deletions src/main/java/dev/cigarette/module/skyblock/RedGifter.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
package dev.cigarette.module.skyblock;

import dev.cigarette.GameDetector;
import dev.cigarette.gui.widget.ToggleWidget;
import dev.cigarette.lib.PlayerEntityL;
import dev.cigarette.lib.TextL;
import dev.cigarette.module.TickModule;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.network.ClientPlayerEntity;
import net.minecraft.client.world.ClientWorld;
import net.minecraft.entity.Entity;
import net.minecraft.entity.decoration.ArmorStandEntity;
import net.minecraft.text.Text;
import net.minecraft.util.Hand;
import org.jetbrains.annotations.NotNull;

public class RedGifter extends TickModule<ToggleWidget, Boolean> {
public static final RedGifter INSTANCE = new RedGifter("skyblock.redgifter", "Auto Red Gifter", "Automatically gives and opens red gifts.");

private final ToggleWidget gifter = new ToggleWidget("Run as Gifter", "Automatically gives red gifts to nearby players.").withDefaultState(false);
private final ToggleWidget opener = new ToggleWidget("Run as Opener", "Automatically opens red gifts you receive.").withDefaultState(true);

private RedGifter(String id, String name, String tooltip) {
super(ToggleWidget::module, id, name, tooltip);
this.setChildren(gifter, opener);
gifter.registerConfigKey(id + ".asgifter");
opener.registerConfigKey(id + ".asopener");
gifter.registerModuleCallback((Boolean state) -> {
if (opener.getRawState() == state) {
opener.setRawState(!state);
}
});
opener.registerModuleCallback((Boolean state) -> {
if (gifter.getRawState() == state) {
gifter.setRawState(!state);
}
});
}

@Override
protected void onEnabledTick(@NotNull MinecraftClient client, @NotNull ClientWorld world, @NotNull ClientPlayerEntity player) {
if (opener.getRawState()) {
for (Entity entity : world.getOtherEntities(player, player.getBoundingBox().expand(4))) {
if (!(entity instanceof ArmorStandEntity armorStand)) continue;

Text customName = armorStand.getCustomName();
if (customName == null) continue;

String name = TextL.toColorCodedString(customName);
if (!name.equals("§r§e§lCLICK TO OPEN")) continue;

PlayerEntityL.setRotationVector(player, armorStand.getPos().add(0, 1.5, 0).subtract(player.getEyePos()));
if (client.interactionManager != null) client.interactionManager.interactEntity(player, armorStand, Hand.MAIN_HAND);
}

}
}

@Override
public boolean inValidGame() {
return GameDetector.rootGame == GameDetector.ParentGame.SKYBLOCK;
}
}