Skip to content
This repository was archived by the owner on May 19, 2025. It is now read-only.

Commit e4dad12

Browse files
committed
0.10.0 - AntiProne
1 parent d3bec13 commit e4dad12

15 files changed

Lines changed: 269 additions & 12 deletions

File tree

.gitignore

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
.gradle/
2-
.idea/
3-
.vscode/
4-
build/
1+
**/.gradle
2+
**/.idea
3+
**/.vscode
4+
**/build

1.20.1/gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@ minecraft_version=1.20.1
77
parchment_version=2023.09.03
88

99
# Plugin Properties
10-
plugin_version=0.9.0
10+
plugin_version=0.10.0
1111
maven_group=com.shaybox.rusher
1212
archives_base_name=shays-rusher-plugin

1.20.1/src/main/java/com/shaybox/rusher/Main.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ public class Main extends Plugin {
1919

2020
/* ModuleManager & Modules */
2121
private final IFeatureManager<IModule> moduleManager = RusherHackAPI.getModuleManager();
22+
private final ToggleableModule antiProne = new AntiProne();
2223
private final ToggleableModule killEffects = new KillEffects();
2324
private final ToggleableModule spawnLocations = new SpawnLocations();
2425

@@ -34,8 +35,10 @@ public class Main extends Plugin {
3435

3536
@Override
3637
public void onLoad() {
38+
this.moduleManager.registerFeature(this.antiProne);
3739
this.moduleManager.registerFeature(this.killEffects);
3840
this.moduleManager.registerFeature(this.spawnLocations);
41+
3942
this.eventBus.subscribe(this.armorPriority);
4043
this.eventBus.subscribe(this.autoDeploy);
4144
this.eventBus.subscribe(this.autoRestart);
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
package com.shaybox.rusher.modules;
2+
3+
import net.minecraft.client.Minecraft;
4+
import net.minecraft.client.multiplayer.MultiPlayerGameMode;
5+
import net.minecraft.client.player.LocalPlayer;
6+
import net.minecraft.core.BlockPos;
7+
import net.minecraft.core.Direction;
8+
import net.minecraft.network.protocol.Packet;
9+
import net.minecraft.network.protocol.game.ClientboundBlockDestructionPacket;
10+
import org.rusherhack.client.api.events.network.EventPacket;
11+
import org.rusherhack.client.api.events.player.EventPlayerUpdate;
12+
import org.rusherhack.client.api.feature.module.ModuleCategory;
13+
import org.rusherhack.client.api.feature.module.ToggleableModule;
14+
import org.rusherhack.core.event.subscribe.Subscribe;
15+
import org.rusherhack.core.setting.BooleanSetting;
16+
17+
public class AntiProne extends ToggleableModule {
18+
19+
/* Minecraft */
20+
private final Minecraft minecraft = Minecraft.getInstance();
21+
22+
/* Settings */
23+
private final BooleanSetting packetOnly = new BooleanSetting("PacketOnly", "Only start mining the block", false);
24+
25+
/* Initialize */
26+
public AntiProne() {
27+
super("AntiProne", ModuleCategory.COMBAT);
28+
this.registerSettings(this.packetOnly);
29+
}
30+
31+
@Subscribe
32+
private void onPacket(EventPacket.Receive event) {
33+
final MultiPlayerGameMode gameMode = this.minecraft.gameMode;
34+
final LocalPlayer player = this.minecraft.player;
35+
if (gameMode == null || player == null) return;
36+
37+
final Packet<?> packet = event.getPacket();
38+
if (packet instanceof ClientboundBlockDestructionPacket destructionPacket) {
39+
final BlockPos playerFeetPos = player.blockPosition();
40+
final BlockPos playerHeadPos = playerFeetPos.offset(0, 1, 0);
41+
final BlockPos blockPos = destructionPacket.getPos();
42+
if (!blockPos.equals(playerFeetPos)) return;
43+
44+
gameMode.startDestroyBlock(playerHeadPos, Direction.DOWN);
45+
}
46+
}
47+
48+
@Subscribe
49+
private void onPlayerUpdate(EventPlayerUpdate event) {
50+
if (this.packetOnly.getValue()) return;
51+
52+
final LocalPlayer player = event.getPlayer();
53+
final MultiPlayerGameMode gameMode = this.minecraft.gameMode;
54+
if (gameMode == null) return;
55+
56+
final BlockPos playerFeetPos = player.blockPosition();
57+
final BlockPos playerHeadPos = playerFeetPos.offset(0, 1, 0);
58+
if (gameMode.isDestroying()) gameMode.continueDestroyBlock(playerHeadPos, Direction.DOWN);
59+
}
60+
61+
}

1.20.2/gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@ minecraft_version=1.20.2
77
parchment_version=2023.12.10
88

99
# Plugin Properties
10-
plugin_version=0.9.0
10+
plugin_version=0.10.0
1111
maven_group=com.shaybox.rusher
1212
archives_base_name=shays-rusher-plugin

1.20.2/src/main/java/com/shaybox/rusher/Main.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ public class Main extends Plugin {
1919

2020
/* ModuleManager & Modules */
2121
private final IFeatureManager<IModule> moduleManager = RusherHackAPI.getModuleManager();
22+
private final ToggleableModule antiProne = new AntiProne();
2223
private final ToggleableModule killEffects = new KillEffects();
2324
private final ToggleableModule spawnLocations = new SpawnLocations();
2425

@@ -34,8 +35,10 @@ public class Main extends Plugin {
3435

3536
@Override
3637
public void onLoad() {
38+
this.moduleManager.registerFeature(this.antiProne);
3739
this.moduleManager.registerFeature(this.killEffects);
3840
this.moduleManager.registerFeature(this.spawnLocations);
41+
3942
this.eventBus.subscribe(this.armorPriority);
4043
this.eventBus.subscribe(this.autoDeploy);
4144
this.eventBus.subscribe(this.autoRestart);
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
package com.shaybox.rusher.modules;
2+
3+
import net.minecraft.client.Minecraft;
4+
import net.minecraft.client.multiplayer.MultiPlayerGameMode;
5+
import net.minecraft.client.player.LocalPlayer;
6+
import net.minecraft.core.BlockPos;
7+
import net.minecraft.core.Direction;
8+
import net.minecraft.network.protocol.Packet;
9+
import net.minecraft.network.protocol.game.ClientboundBlockDestructionPacket;
10+
import org.rusherhack.client.api.events.network.EventPacket;
11+
import org.rusherhack.client.api.events.player.EventPlayerUpdate;
12+
import org.rusherhack.client.api.feature.module.ModuleCategory;
13+
import org.rusherhack.client.api.feature.module.ToggleableModule;
14+
import org.rusherhack.core.event.subscribe.Subscribe;
15+
import org.rusherhack.core.setting.BooleanSetting;
16+
17+
public class AntiProne extends ToggleableModule {
18+
19+
/* Minecraft */
20+
private final Minecraft minecraft = Minecraft.getInstance();
21+
22+
/* Settings */
23+
private final BooleanSetting packetOnly = new BooleanSetting("PacketOnly", "Only start mining the block", false);
24+
25+
/* Initialize */
26+
public AntiProne() {
27+
super("AntiProne", ModuleCategory.COMBAT);
28+
this.registerSettings(this.packetOnly);
29+
}
30+
31+
@Subscribe
32+
private void onPacket(EventPacket.Receive event) {
33+
final MultiPlayerGameMode gameMode = this.minecraft.gameMode;
34+
final LocalPlayer player = this.minecraft.player;
35+
if (gameMode == null || player == null) return;
36+
37+
final Packet<?> packet = event.getPacket();
38+
if (packet instanceof ClientboundBlockDestructionPacket destructionPacket) {
39+
final BlockPos playerFeetPos = player.blockPosition();
40+
final BlockPos playerHeadPos = playerFeetPos.offset(0, 1, 0);
41+
final BlockPos blockPos = destructionPacket.getPos();
42+
if (!blockPos.equals(playerFeetPos)) return;
43+
44+
gameMode.startDestroyBlock(playerHeadPos, Direction.DOWN);
45+
}
46+
}
47+
48+
@Subscribe
49+
private void onPlayerUpdate(EventPlayerUpdate event) {
50+
if (this.packetOnly.getValue()) return;
51+
52+
final LocalPlayer player = event.getPlayer();
53+
final MultiPlayerGameMode gameMode = this.minecraft.gameMode;
54+
if (gameMode == null) return;
55+
56+
final BlockPos playerFeetPos = player.blockPosition();
57+
final BlockPos playerHeadPos = playerFeetPos.offset(0, 1, 0);
58+
if (gameMode.isDestroying()) gameMode.continueDestroyBlock(playerHeadPos, Direction.DOWN);
59+
}
60+
61+
}

1.20.4/gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@ minecraft_version=1.20.4
77
parchment_version=2024.04.14
88

99
# Plugin Properties
10-
plugin_version=0.9.0
10+
plugin_version=0.10.0
1111
maven_group=com.shaybox.rusher
1212
archives_base_name=shays-rusher-plugin

1.20.4/src/main/java/com/shaybox/rusher/Main.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ public class Main extends Plugin {
1919

2020
/* ModuleManager & Modules */
2121
private final IFeatureManager<IModule> moduleManager = RusherHackAPI.getModuleManager();
22+
private final ToggleableModule antiProne = new AntiProne();
2223
private final ToggleableModule killEffects = new KillEffects();
2324
private final ToggleableModule spawnLocations = new SpawnLocations();
2425

@@ -34,8 +35,10 @@ public class Main extends Plugin {
3435

3536
@Override
3637
public void onLoad() {
38+
this.moduleManager.registerFeature(this.antiProne);
3739
this.moduleManager.registerFeature(this.killEffects);
3840
this.moduleManager.registerFeature(this.spawnLocations);
41+
3942
this.eventBus.subscribe(this.armorPriority);
4043
this.eventBus.subscribe(this.autoDeploy);
4144
this.eventBus.subscribe(this.autoRestart);
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
package com.shaybox.rusher.modules;
2+
3+
import net.minecraft.client.Minecraft;
4+
import net.minecraft.client.multiplayer.MultiPlayerGameMode;
5+
import net.minecraft.client.player.LocalPlayer;
6+
import net.minecraft.core.BlockPos;
7+
import net.minecraft.core.Direction;
8+
import net.minecraft.network.protocol.Packet;
9+
import net.minecraft.network.protocol.game.ClientboundBlockDestructionPacket;
10+
import org.rusherhack.client.api.events.network.EventPacket;
11+
import org.rusherhack.client.api.events.player.EventPlayerUpdate;
12+
import org.rusherhack.client.api.feature.module.ModuleCategory;
13+
import org.rusherhack.client.api.feature.module.ToggleableModule;
14+
import org.rusherhack.core.event.subscribe.Subscribe;
15+
import org.rusherhack.core.setting.BooleanSetting;
16+
17+
public class AntiProne extends ToggleableModule {
18+
19+
/* Minecraft */
20+
private final Minecraft minecraft = Minecraft.getInstance();
21+
22+
/* Settings */
23+
private final BooleanSetting packetOnly = new BooleanSetting("PacketOnly", "Only start mining the block", false);
24+
25+
/* Initialize */
26+
public AntiProne() {
27+
super("AntiProne", ModuleCategory.COMBAT);
28+
this.registerSettings(this.packetOnly);
29+
}
30+
31+
@Subscribe
32+
private void onPacket(EventPacket.Receive event) {
33+
final MultiPlayerGameMode gameMode = this.minecraft.gameMode;
34+
final LocalPlayer player = this.minecraft.player;
35+
if (gameMode == null || player == null) return;
36+
37+
final Packet<?> packet = event.getPacket();
38+
if (packet instanceof ClientboundBlockDestructionPacket destructionPacket) {
39+
final BlockPos playerFeetPos = player.blockPosition();
40+
final BlockPos playerHeadPos = playerFeetPos.offset(0, 1, 0);
41+
final BlockPos blockPos = destructionPacket.getPos();
42+
if (!blockPos.equals(playerFeetPos)) return;
43+
44+
gameMode.startDestroyBlock(playerHeadPos, Direction.DOWN);
45+
}
46+
}
47+
48+
@Subscribe
49+
private void onPlayerUpdate(EventPlayerUpdate event) {
50+
if (this.packetOnly.getValue()) return;
51+
52+
final LocalPlayer player = event.getPlayer();
53+
final MultiPlayerGameMode gameMode = this.minecraft.gameMode;
54+
if (gameMode == null) return;
55+
56+
final BlockPos playerFeetPos = player.blockPosition();
57+
final BlockPos playerHeadPos = playerFeetPos.offset(0, 1, 0);
58+
if (gameMode.isDestroying()) gameMode.continueDestroyBlock(playerHeadPos, Direction.DOWN);
59+
}
60+
61+
}

0 commit comments

Comments
 (0)