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

Commit ab11fb3

Browse files
committed
0.8.1 - Additional Version Support
1 parent c8081b2 commit ab11fb3

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+4011
-8
lines changed
File renamed without changes.

1.20.1/gradle.properties

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Done to increase the memory available to gradle.
2+
org.gradle.jvmargs=-Xmx1G
3+
org.gradle.parallel=true
4+
5+
# Minecraft / Parchment Properties
6+
minecraft_version=1.20.1
7+
parchment_version=2023.09.03
8+
9+
# Plugin Properties
10+
plugin_version=0.8.1
11+
maven_group=com.shaybox.rusher
12+
archives_base_name=shays-rusher-plugin

gradlew renamed to 1.20.1/gradlew

File renamed without changes.
File renamed without changes.
File renamed without changes.
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
package com.shaybox.rusher.modules;
2+
3+
import net.minecraft.client.Minecraft;
4+
import net.minecraft.network.protocol.Packet;
5+
import net.minecraft.network.protocol.game.ClientboundDamageEventPacket;
6+
import net.minecraft.network.protocol.game.ClientboundEntityEventPacket;
7+
import net.minecraft.world.damagesource.DamageSource;
8+
import net.minecraft.world.damagesource.DamageTypes;
9+
import net.minecraft.world.entity.Entity;
10+
import net.minecraft.world.entity.EntityType;
11+
import net.minecraft.world.entity.LightningBolt;
12+
import net.minecraft.world.entity.player.Player;
13+
import org.rusherhack.client.api.events.network.EventPacket;
14+
import org.rusherhack.client.api.feature.module.ModuleCategory;
15+
import org.rusherhack.client.api.feature.module.ToggleableModule;
16+
import org.rusherhack.core.event.subscribe.Subscribe;
17+
import org.rusherhack.core.setting.BooleanSetting;
18+
19+
import java.util.HashMap;
20+
import java.util.Map;
21+
22+
public class KillEffects extends ToggleableModule {
23+
24+
/* Minecraft */
25+
private final Minecraft minecraft = Minecraft.getInstance();
26+
27+
/* RusherHackAPI & Settings */
28+
private final BooleanSetting self = new BooleanSetting("Self", "Only when you kill", false);
29+
30+
/* Previous State */
31+
private final Map<Entity, Entity> playerAttacker = new HashMap<>();
32+
33+
/* Initialize */
34+
public KillEffects() {
35+
super("KillEffects", ModuleCategory.RENDER);
36+
this.registerSettings(this.self);
37+
}
38+
39+
@SuppressWarnings("unused")
40+
@Subscribe
41+
private void onPacket(EventPacket.Receive event) {
42+
Packet<?> packet = event.getPacket();
43+
44+
if (packet instanceof ClientboundDamageEventPacket damagePacket) {
45+
assert this.minecraft.level != null;
46+
47+
DamageSource source = damagePacket.getSource(this.minecraft.level);
48+
if (!source.is(DamageTypes.PLAYER_ATTACK) && !source.is(DamageTypes.PLAYER_EXPLOSION)) return;
49+
50+
Entity entity = this.minecraft.level.getEntity(damagePacket.entityId());
51+
if (entity instanceof Player) {
52+
Entity attacker = this.minecraft.level.getEntity(damagePacket.sourceCauseId());
53+
this.playerAttacker.put(entity, attacker);
54+
}
55+
} else if (packet instanceof ClientboundEntityEventPacket entityPacket) {
56+
assert this.minecraft.level != null;
57+
58+
byte eventId = entityPacket.getEventId();
59+
if (eventId != 3) return;
60+
61+
Entity entity = entityPacket.getEntity(this.minecraft.level);
62+
boolean isPlayer = entity instanceof Player;
63+
if (!isPlayer) return;
64+
65+
Entity attacker = this.playerAttacker.get(entity);
66+
if (attacker == null) return;
67+
else this.playerAttacker.remove(entity);
68+
69+
/* Only show lightning when the local player is the attacker */
70+
if (this.self.getValue() && attacker != this.minecraft.player) return;
71+
72+
LightningBolt lightning = new LightningBolt(EntityType.LIGHTNING_BOLT, this.minecraft.level);
73+
lightning.setPos(entity.position());
74+
this.minecraft.level.addFreshEntity(lightning);
75+
}
76+
}
77+
78+
}

0 commit comments

Comments
 (0)