Skip to content

Commit

Permalink
0.0.4
Browse files Browse the repository at this point in the history
  • Loading branch information
Logging4J committed Jun 12, 2023
1 parent 7e7e4c6 commit bdb9a83
Show file tree
Hide file tree
Showing 17 changed files with 165 additions and 30 deletions.
16 changes: 10 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,19 @@ Sexual hack straight out of Mumbai India (GONE SEXUAL AT 3AM) (GONE WRONG) (IN D

featuring - qq rat and the boat dupe

## ChangeLog- 5-29-2023
#### Discord: https://discord.gg/uWfXEYpq

---

## ChangeLog- 6-11-2023

### Major changes

- Added `Shrug` Command
- Added `Help` Command
- Added `Parkour` Hack
- Client Updated to `1.20`
- Added `GameMode` Command
- Added `FakePlayer` Coomad
- Added `HitboxDesync` Hack

### Changed features

- Changed location of button for `ResourcePackBypass` to the resource pack confirm screen
- Added WaterMark option in `HUD`
- Added `Rotation` option to `Aura`
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ org.gradle.jvmargs=-Xmx3G
minecraft_version=1.20
yarn_mappings=1.20+build.1
loader_version=0.14.21
mod_version=0.0.3
mod_version=0.0.4
maven_group=club.l4j
archives_base_name=currymod
fabric_version=0.83.0+1.20
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/club/l4j/currymod/CurryMod.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ public class CurryMod implements ClientModInitializer {

public static final String MOD_NAME = "CurryMod.Club";
public static final String MOD_ID = "currymod";
public static final String VERSION = "0.0.3";
public static final String VERSION = "0.0.4";
public static final DemoBus EVENT_BUS = new DemoBus();
public static final Logger LOGGER = LogManager.getLogger(MOD_NAME);

Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,15 @@
package club.l4j.currymod.event.events;

import club.l4j.currymod.event.Event;
import demo.knight.demobus.event.DemoListen;
import net.minecraft.entity.MovementType;
import net.minecraft.util.math.Vec3d;

public class PlayerMovmentEvent extends Event {
public class MovementEvent extends Event {

private MovementType type;
private Vec3d vec;

public PlayerMovmentEvent(MovementType type, Vec3d vec) {
public MovementEvent(MovementType type, Vec3d vec) {
this.type = type;
this.vec = vec;
}
Expand All @@ -19,7 +18,15 @@ public MovementType getType() {
return type;
}

public void setType(MovementType type) {
this.type = type;
}

public Vec3d getVec() {
return vec;
}

public void setVec(Vec3d vec) {
this.vec = vec;
}
}
3 changes: 3 additions & 0 deletions src/main/java/club/l4j/currymod/feature/FeatureManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -47,13 +47,16 @@ public FeatureManager() {
addHack(new Aura());
addHack(new Parkour());
addHack(new AutoWalk());
addHack(new HitBoxDesync());

//Commands
addCommand(new VClip());
addCommand(new SilentLeave());
addCommand(new Lenny());
addCommand(new Shrug());
addCommand(new Help());
addCommand(new GameModes());
addCommand(new FakePlayer());
}

public void runCommand(String args) {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package club.l4j.currymod.feature.impl.commandimpl;

import club.l4j.currymod.feature.core.Command;
import club.l4j.currymod.util.world.SpawnableEntity;

@Command.Construct(name = "FakePlayer", description = "Fake player", alias = {"fakeplayer"})
public class FakePlayer extends Command {

@Override
public void onTrigger(String arguments) {
SpawnableEntity e = new SpawnableEntity(mc.player);
e.spawn();
super.onTrigger(arguments);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package club.l4j.currymod.feature.impl.commandimpl;

import club.l4j.currymod.feature.core.Command;
import net.minecraft.world.GameMode;

@Command.Construct(name = "gamemode", description = "Change your gamemode client side", alias = {"gamemode"})
public class GameModes extends Command {

@Override
public void onTrigger(String arguments) {
if(arguments.length() != 0){
String[] split = arguments.split(" ");
String gm = split[0];
if(gm.equals("survival")){
mc.interactionManager.setGameMode(GameMode.SURVIVAL);
sendMsg("Set client side gamemode to survival");
} else if (gm.equals("creative")){
mc.interactionManager.setGameMode(GameMode.CREATIVE);
sendMsg("Set client side gamemode to creative");
} else {
sendMsg("Invalid gamemode");
}
}else {
sendMsg("Please specify a gamemode");
}
super.onTrigger(arguments);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,12 @@
import club.l4j.currymod.event.events.PacketSendEvent;
import club.l4j.currymod.event.events.TickEvent;
import club.l4j.currymod.feature.core.Hack;
import club.l4j.currymod.feature.options.impl.OptionBoolean;
import club.l4j.currymod.feature.options.impl.OptionSlider;
import club.l4j.currymod.mixin.minecraft.IPlayerMoveC2SPacket;
import club.l4j.currymod.util.player.MovementUtils;
import demo.knight.demobus.event.DemoListen;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.network.packet.c2s.play.PlayerMoveC2SPacket;
import net.minecraft.util.Hand;
Expand All @@ -18,10 +20,11 @@
@Hack.Construct(name = "Aura", description = "attacks ppl fo u", category = Hack.Category.COMBAT)
public class Aura extends Hack {

OptionSlider range = new OptionSlider("Range",1,6,1,6);
public OptionSlider range = new OptionSlider("Range",1,6,1,6);
public OptionBoolean rotate = new OptionBoolean("Rotations",true);

public Aura(){
addOptions(range);
addOptions(range, rotate);
}

float yaw, pitch;
Expand Down Expand Up @@ -49,7 +52,7 @@ public void onTick(TickEvent e){
@DemoListen
public void onPacketSend(PacketSendEvent e) {
if (nullCheck()) {return;}
if (e.getPacket() instanceof PlayerMoveC2SPacket p) {
if (e.getPacket() instanceof PlayerMoveC2SPacket p && rotate.isEnabled()) {
((IPlayerMoveC2SPacket) p).setYaw(yaw);
((IPlayerMoveC2SPacket) p).setPitch(pitch);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@
import net.minecraft.network.packet.c2s.play.VehicleMoveC2SPacket;
import net.minecraft.util.math.Vec3d;

//Abused on the LiveOverFlow Server by Logging4J
@Hack.Construct(name = "BoatExecutor", description = "Kills you and other person in boat", category = Hack.Category.EXPLOITS)
@Hack.Construct(name = "BoatExecutor", description = "Canadian Exploit used in The Convoy Protest (2022)", category = Hack.Category.EXPLOITS)
public class BoatExecutor extends Hack {

@Override
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
package club.l4j.currymod.feature.impl.hackimpl.exploit;

import club.l4j.currymod.event.events.TickEvent;
import club.l4j.currymod.feature.core.Hack;
import demo.knight.demobus.event.DemoListen;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Box;
import net.minecraft.util.math.Direction;
import net.minecraft.util.math.Vec3d;

@Hack.Construct(name = "HitBoxDesync", description = "Russian exploit", category = Hack.Category.EXPLOITS)
public class HitBoxDesync extends Hack {

public double offset = 0.200009968835369999878673424677777777777761;

@DemoListen
public void onTick(TickEvent e){
if (nullCheck()) {return;}
Direction f = mc.player.getHorizontalFacing();
Box bb = mc.player.getBoundingBox();
Vec3d center = bb.getCenter();
Vec3d offset = new Vec3d(f.getUnitVector());

Vec3d fin = merge(Vec3d.of(BlockPos.ofFloored(center)).add(.5, 0, .5).add(offset.multiply(offset)), f);
mc.player.setPosition(fin.x == 0 ? mc.player.getX() : fin.x,
mc.player.getY(),
fin.z == 0 ? mc.player.getZ() : fin.z);
toggle();
}

private Vec3d merge(Vec3d a, Direction facing) {
return new Vec3d(a.x * Math.abs(facing.getUnitVector().x()), a.y * Math.abs(facing.getUnitVector().y()), a.z * Math.abs(facing.getUnitVector().z()));
}



}
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import demo.knight.demobus.event.DemoListen;
import net.minecraft.text.Text;

@Hack.Construct(name = "AutoLog", description = "only faggots log", category = Hack.Category.EXPLOITS)
@Hack.Construct(name = "AutoLog", description = "only faggots log", category = Hack.Category.MISC)
public class AutoLog extends Hack {

OptionSlider health = new OptionSlider("Health",1,20,1,4);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import club.l4j.currymod.feature.core.Hack;
import club.l4j.currymod.feature.options.impl.OptionBoolean;
import club.l4j.currymod.mixin.minecraft.IMinecraftClient;
import club.l4j.currymod.util.player.ItemUtil;
import club.l4j.currymod.util.player.InvUtil;
import demo.knight.demobus.event.DemoListen;
import net.minecraft.item.BlockItem;

Expand All @@ -24,7 +24,7 @@ public void onTick(TickEvent e) {
if(mc.player.getInventory().getMainHandStack().getItem() instanceof BlockItem && blocks.isEnabled()){
((IMinecraftClient) mc).setItemUseCooldown(0);
}
if(ItemUtil.THROWABLES.contains(mc.player.getInventory().getMainHandStack().getItem()) && throwable.isEnabled()){
if(InvUtil.THROWABLES.contains(mc.player.getInventory().getMainHandStack().getItem()) && throwable.isEnabled()){
((IMinecraftClient) mc).setItemUseCooldown(0);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@
public class Flight extends Hack {

public OptionBoolean antiKick = new OptionBoolean("AntiKick", true);
public OptionMode mode = new OptionMode("Mode", "Creative", "Creative", "JetPack", "VerusHop");
OptionSlider speed = new OptionSlider("Speed", 1f, 10f, 1f, 5f);
public OptionMode mode = new OptionMode("Mode", "Creative", "Creative", "JetPack", "AirHop");
public OptionSlider speed = new OptionSlider("Speed", 1f, 10f, 1f, 5f);

//VerusHop
double startY = 0;
Expand Down Expand Up @@ -73,7 +73,7 @@ public void onTick(TickEvent e){

@DemoListen
public void onPacketSend(PacketSendEvent e) {
if(antiKick.isEnabled() && !mode.isMode("VerusHop") && e.getPacket() instanceof PlayerMoveC2SPacket packet){
if(antiKick.isEnabled() && !mode.isMode("AirHop") && e.getPacket() instanceof PlayerMoveC2SPacket packet){
long time = System.currentTimeMillis();
double y = packet.getY(Double.MAX_VALUE);
if (y != Double.MAX_VALUE) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,32 +1,40 @@
package club.l4j.currymod.mixin.minecraft;

import club.l4j.currymod.CurryMod;
import club.l4j.currymod.event.events.PlayerMovmentEvent;
import club.l4j.currymod.event.events.MovementEvent;
import com.mojang.authlib.GameProfile;
import net.minecraft.client.network.AbstractClientPlayerEntity;
import net.minecraft.client.network.ClientPlayerEntity;
import net.minecraft.client.world.ClientWorld;
import net.minecraft.entity.MovementType;
import net.minecraft.util.math.Vec3d;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.Redirect;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;

@Mixin({ClientPlayerEntity.class})
public class MixinClientPlayerEntity extends AbstractClientPlayerEntity {
public abstract class MixinClientPlayerEntity extends AbstractClientPlayerEntity {

@Shadow protected abstract void autoJump(float dx, float dz);

public MixinClientPlayerEntity(ClientWorld world, GameProfile profile) {
super(world, profile);
}

@Inject(method = "move", at = @At("HEAD"), cancellable = true)
public void move(MovementType movementType, Vec3d movement, CallbackInfo ci) {
PlayerMovmentEvent e = new PlayerMovmentEvent(movementType, movement);
CurryMod.EVENT_BUS.call(e);
if(e.isCancelled()){
MovementEvent event = new MovementEvent(movementType, movement);
CurryMod.EVENT_BUS.call(event);
if(event.isCancelled()){
ci.cancel();
} else if (!movementType.equals(event.getType()) || !movement.equals(event.getVec())) {
double d = getX();
double e = getZ();
move(event.getType(), event.getVec());
autoJump((float) (getX() - d), (float) (getZ() - e));
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,24 @@

import club.l4j.currymod.CurryMod;
import club.l4j.currymod.feature.impl.hackimpl.visual.NoRender;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.screen.Screen;
import org.jetbrains.annotations.Nullable;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;

@Mixin(Screen.class)
public class MixinScreen {

@Shadow @Nullable protected MinecraftClient client;

@Inject(method = "renderBackground", at = @At("HEAD"), cancellable = true)
public void renderBackground(DrawContext context, CallbackInfo ci) {
if(CurryMod.featureManager.getHack("NoRender").isEnabled() && NoRender.getInstance.background.isEnabled()){
if(CurryMod.featureManager.getHack("NoRender").isEnabled() && client.world != null && NoRender.getInstance.background.isEnabled()){
ci.cancel();
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

import java.util.Set;

public class ItemUtil implements IGlobals {
public class InvUtil implements IGlobals {

public static final Set<Item> THROWABLES = Sets.newHashSet(
Items.SNOWBALL, Items.EXPERIENCE_BOTTLE, Items.EGG, Items.SPLASH_POTION, Items.ENDER_PEARL
Expand All @@ -20,7 +20,7 @@ public class ItemUtil implements IGlobals {
Blocks.EMERALD_ORE, Blocks.REDSTONE_ORE, Blocks.COPPER_ORE, Blocks.DEEPSLATE_COAL_ORE,
Blocks.DEEPSLATE_IRON_ORE, Blocks.DEEPSLATE_GOLD_ORE, Blocks.DEEPSLATE_LAPIS_ORE,
Blocks.DEEPSLATE_DIAMOND_ORE, Blocks.DEEPSLATE_EMERALD_ORE, Blocks.DEEPSLATE_REDSTONE_ORE,
Blocks.DEEPSLATE_COPPER_ORE
Blocks.DEEPSLATE_COPPER_ORE, Blocks.NETHER_QUARTZ_ORE, Blocks.ANCIENT_DEBRIS
);

}
26 changes: 26 additions & 0 deletions src/main/java/club/l4j/currymod/util/world/SpawnableEntity.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package club.l4j.currymod.util.world;

import club.l4j.currymod.util.IGlobals;
import com.mojang.authlib.GameProfile;
import net.minecraft.client.network.OtherClientPlayerEntity;
import net.minecraft.entity.Entity;

import java.util.UUID;

public class SpawnableEntity extends OtherClientPlayerEntity implements IGlobals {

public SpawnableEntity(Entity e) {
super(mc.world, new GameProfile(UUID.randomUUID(), mc.player.getGameProfile().getName()));
copyPositionAndRotation(e);
setPose(e.getPose());
}

public void spawn(){
unsetRemoved();
mc.world.addEntity(getId(), this);
}

public void destroy(){
mc.world.removeEntity(getId(), RemovalReason.DISCARDED);
}
}

0 comments on commit bdb9a83

Please sign in to comment.