Skip to content
This repository has been archived by the owner on Sep 24, 2024. It is now read-only.

Commit

Permalink
Grim cancel v2 mode in Velocity
Browse files Browse the repository at this point in the history
  • Loading branch information
Nekiplay committed Apr 19, 2024
1 parent b938c64 commit fb2643b
Show file tree
Hide file tree
Showing 7 changed files with 84 additions and 18 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/dev_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ jobs:
uses: marvinpinto/action-automatic-releases@latest
with:
repo_token: '${{ secrets.GITHUB_TOKEN }}'
automatic_release_tag: "1.20.4_1.0.8.2"
automatic_release_tag: "1.20.4_1.0.8.3"
prerelease: true
title: "1.20.4 | 1.0.8.2"
title: "1.20.4 | 1.0.8.3"
files: |
./build/libs/*.jar
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ yarn_mappings=1.20.4+build.2
loader_version=0.15.1

# Mod Properties
mod_version=1.0.8.2
mod_version=1.0.8.3
maven_group=nekiplay.meteorplus
archives_base_name=meteor-plus

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
package nekiplay.meteorplus.features.modules.combat.velocity;

public enum VelocityModes {
Grim,
Grim_Cancel,
Grim_Cancel_v2;

@Override
public String toString() {
return super.toString().replace('_', ' ');
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@
import meteordevelopment.meteorclient.systems.modules.Categories;
import meteordevelopment.meteorclient.systems.modules.Module;
import meteordevelopment.orbit.EventHandler;
import nekiplay.meteorplus.features.modules.combat.velocity.modes.Grim;
import nekiplay.meteorplus.features.modules.combat.velocity.modes.GrimCancel;
import nekiplay.meteorplus.features.modules.combat.velocity.modes.GrimCancel_v2;

public class VelocityPlus extends Module {
public VelocityPlus() {
Expand All @@ -19,7 +20,7 @@ public VelocityPlus() {
private final Setting<VelocityModes> mode = sgGeneral.add(new EnumSetting.Builder<VelocityModes>()
.name("mode")
.description("Velocity mode.")
.defaultValue(VelocityModes.Grim)
.defaultValue(VelocityModes.Grim_Cancel)
.onModuleActivated(timerModesSetting -> onTimerModeChanged(timerModesSetting.get()))
.onChanged(this::onTimerModeChanged)
.build()
Expand All @@ -30,9 +31,8 @@ public VelocityPlus() {

private void onTimerModeChanged(VelocityModes mode) {
switch (mode) {
case Grim -> {
currentMode = new Grim();
}
case Grim_Cancel -> currentMode = new GrimCancel();
case Grim_Cancel_v2 -> currentMode = new GrimCancel_v2();
}
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,23 +1,19 @@
package nekiplay.meteorplus.features.modules.combat.velocity.modes;

import it.unimi.dsi.fastutil.objects.ObjectIterator;
import meteordevelopment.meteorclient.events.packets.PacketEvent;
import meteordevelopment.meteorclient.events.world.TickEvent;
import meteordevelopment.meteorclient.systems.modules.render.blockesp.ESPBlock;
import meteordevelopment.meteorclient.utils.network.MeteorExecutor;
import nekiplay.meteorplus.features.modules.combat.velocity.VelocityMode;
import nekiplay.meteorplus.features.modules.combat.velocity.VelocityModes;
import net.minecraft.network.packet.Packet;
import net.minecraft.network.packet.c2s.play.PlayerActionC2SPacket;
import net.minecraft.network.packet.c2s.play.PlayerMoveC2SPacket;
import net.minecraft.network.packet.s2c.common.KeepAliveS2CPacket;
import net.minecraft.network.packet.s2c.play.EntityDamageS2CPacket;
import net.minecraft.network.packet.s2c.play.EntityVelocityUpdateS2CPacket;
import net.minecraft.network.packet.s2c.play.ExplosionS2CPacket;

public class Grim extends VelocityMode {
public Grim() {
super(VelocityModes.Grim);
public class GrimCancel extends VelocityMode {
public GrimCancel() {
super(VelocityModes.Grim_Cancel);
}

private boolean canCancel = false;
Expand All @@ -34,7 +30,7 @@ public void onDeactivate() {

@Override
public void onReceivePacket(PacketEvent.Receive event) {
Packet packet = event.packet;
Packet<?> packet = event.packet;

if (packet instanceof EntityDamageS2CPacket && ((EntityDamageS2CPacket) packet).entityId() == mc.player.getId()) {
canCancel = true;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
package nekiplay.meteorplus.features.modules.combat.velocity.modes;

import meteordevelopment.meteorclient.events.packets.PacketEvent;
import nekiplay.meteorplus.features.modules.combat.velocity.VelocityMode;
import nekiplay.meteorplus.features.modules.combat.velocity.VelocityModes;
import net.minecraft.network.packet.Packet;
import net.minecraft.network.packet.c2s.play.PlayerActionC2SPacket;
import net.minecraft.network.packet.c2s.play.PlayerMoveC2SPacket;
import net.minecraft.network.packet.s2c.play.EntityVelocityUpdateS2CPacket;
import net.minecraft.network.packet.s2c.play.ExplosionS2CPacket;
import net.minecraft.network.packet.s2c.play.PlayerPositionLookS2CPacket;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Direction;

public class GrimCancel_v2 extends VelocityMode {
public GrimCancel_v2() {
super(VelocityModes.Grim_Cancel_v2);
}

private int skip = 0;

private boolean canCancel = false;

@Override
public void onActivate() {
canCancel = false;
skip = 0;
}

@Override
public void onDeactivate() {
canCancel = false;
skip = 0;
}

@Override
public void onReceivePacket(PacketEvent.Receive event) {
Packet<?> packet = event.packet;

if (((packet instanceof EntityVelocityUpdateS2CPacket && ((EntityVelocityUpdateS2CPacket) packet).getId() == mc.player.getId()) || packet instanceof ExplosionS2CPacket) && canCancel) {
event.cancel();
canCancel = true;
}
else if (packet instanceof PlayerPositionLookS2CPacket) {
skip = 3;
}
}

@Override
public void onSendPacket(PacketEvent.Send event) {
Packet<?> packet = event.packet;

if (packet instanceof PlayerMoveC2SPacket) {
skip--;
if (canCancel) {
if (skip <= 0) {
BlockPos blockPos = mc.player.getBlockPos();
mc.getNetworkHandler().sendPacket(new PlayerMoveC2SPacket.Full(mc.player.getX(), mc.player.getY(), mc.player.getZ(), mc.player.getYaw(), mc.player.getPitch(), mc.player.isOnGround()));
mc.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, mc.player.getBlockPos(), Direction.UP));
}
}
}
}
}
2 changes: 1 addition & 1 deletion src/main/resources/fabric.mod.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"schemaVersion": 1,
"id": "meteorplus",
"version": "${version}",
"name": "Meteor Plus",
"name": "Meteor+",
"description": "An addon for Meteor client and Boze Client that adds many blatant features.",
"authors": [
"Neki_play"
Expand Down

0 comments on commit fb2643b

Please sign in to comment.