Skip to content

Commit

Permalink
Remove damage event; fix freecam 'Toggle On Damage' setting
Browse files Browse the repository at this point in the history
closes #5167
  • Loading branch information
Wide-Cat committed Feb 3, 2025
1 parent d18a7db commit d350421
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 58 deletions.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
import com.llamalad7.mixinextras.injector.ModifyReturnValue;
import meteordevelopment.meteorclient.MeteorClient;
import meteordevelopment.meteorclient.events.entity.DamageEvent;
import meteordevelopment.meteorclient.events.entity.player.CanWalkOnFluidEvent;
import meteordevelopment.meteorclient.systems.modules.Modules;
import meteordevelopment.meteorclient.systems.modules.movement.Sprint;
Expand All @@ -19,18 +18,15 @@
import meteordevelopment.meteorclient.systems.modules.player.PotionSpoof;
import meteordevelopment.meteorclient.systems.modules.render.HandView;
import meteordevelopment.meteorclient.systems.modules.render.NoRender;
import meteordevelopment.meteorclient.utils.Utils;
import net.minecraft.component.DataComponentTypes;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityType;
import net.minecraft.entity.EquipmentSlot;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.damage.DamageSource;
import net.minecraft.entity.effect.StatusEffect;
import net.minecraft.fluid.FluidState;
import net.minecraft.item.ItemStack;
import net.minecraft.registry.entry.RegistryEntry;
import net.minecraft.server.world.ServerWorld;
import net.minecraft.util.Hand;
import net.minecraft.world.World;
import org.spongepowered.asm.mixin.Mixin;
Expand All @@ -47,12 +43,6 @@ public LivingEntityMixin(EntityType<?> type, World world) {
super(type, world);
}

@Inject(method = "damage", at = @At("HEAD"))
private void onDamageHead(ServerWorld world, DamageSource source, float amount, CallbackInfoReturnable<Boolean> cir) {
if (Utils.canUpdate() && getWorld().isClient)
MeteorClient.EVENT_BUS.post(DamageEvent.get((LivingEntity) (Object) this, source));
}

@ModifyReturnValue(method = "canWalkOnFluid", at = @At("RETURN"))
private boolean onCanWalkOnFluid(boolean original, FluidState fluidState) {
if ((Object) this != mc.player) return original;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,23 +5,17 @@

package meteordevelopment.meteorclient.mixin;

import meteordevelopment.meteorclient.MeteorClient;
import meteordevelopment.meteorclient.events.entity.DamageEvent;
import meteordevelopment.meteorclient.systems.modules.Modules;
import meteordevelopment.meteorclient.systems.modules.movement.Anchor;
import meteordevelopment.meteorclient.systems.modules.movement.Scaffold;
import meteordevelopment.meteorclient.utils.Utils;
import net.minecraft.entity.EntityType;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.damage.DamageSource;
import net.minecraft.server.network.ServerPlayerEntity;
import net.minecraft.server.world.ServerWorld;
import net.minecraft.world.World;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;

@Mixin(ServerPlayerEntity.class)
public abstract class ServerPlayerEntityMixin extends LivingEntity {
Expand All @@ -37,9 +31,4 @@ public void dontJump(CallbackInfo ci) {
if (module.isActive() && module.cancelJump) ci.cancel();
else if (Modules.get().get(Scaffold.class).towering()) ci.cancel();
}

@Inject(method = "damage", at = @At("HEAD"))
private void onDamage(ServerWorld world, DamageSource source, float amount, CallbackInfoReturnable<Boolean> cir) {
if (Utils.canUpdate() && getWorld().isClient && canTakeDamage()) MeteorClient.EVENT_BUS.post(DamageEvent.get(this, source));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@

package meteordevelopment.meteorclient.systems.modules.render;

import meteordevelopment.meteorclient.events.entity.DamageEvent;

import com.mojang.blaze3d.systems.RenderSystem;
import meteordevelopment.meteorclient.events.game.GameLeftEvent;
import meteordevelopment.meteorclient.events.game.OpenScreenEvent;
import meteordevelopment.meteorclient.events.meteor.KeyEvent;
Expand All @@ -31,6 +32,7 @@
import net.minecraft.client.option.Perspective;
import net.minecraft.entity.Entity;
import net.minecraft.network.packet.s2c.play.DeathMessageS2CPacket;
import net.minecraft.network.packet.s2c.play.HealthUpdateS2CPacket;
import net.minecraft.util.hit.BlockHitResult;
import net.minecraft.util.hit.EntityHitResult;
import net.minecraft.util.math.BlockPos;
Expand Down Expand Up @@ -165,7 +167,10 @@ public void onActivate() {

@Override
public void onDeactivate() {
if (reloadChunks.get()) mc.worldRenderer.reload();
if (reloadChunks.get()) {
if (!RenderSystem.isOnRenderThread()) RenderSystem.recordRenderCall(mc.worldRenderer::reload);
else mc.worldRenderer.reload();
}
mc.options.setPerspective(perspective);
if (staticView.get()) {
mc.options.getFovEffectScale().setValue(fovScale);
Expand Down Expand Up @@ -353,17 +358,6 @@ private void onChunkOcclusion(ChunkOcclusionEvent event) {
event.cancel();
}

@EventHandler
private void onDamage(DamageEvent event) {
if (event.entity.getUuid() == null) return;
if (!event.entity.getUuid().equals(mc.player.getUuid())) return;

if (toggleOnDamage.get()) {
toggle();
info("Toggled off because you took damage.");
}
}

@EventHandler
private void onGameLeft(GameLeftEvent event) {
if (!toggleOnLog.get()) return;
Expand All @@ -380,6 +374,12 @@ private void onPacketReceive(PacketEvent.Receive event) {
info("Toggled off because you died.");
}
}
else if (event.packet instanceof HealthUpdateS2CPacket packet) {
if (mc.player.getHealth() - packet.getHealth() > 0 && toggleOnDamage.get()) {
toggle();
info("Toggled off because you took damage.");
}
}
}

private boolean checkGuiMove() {
Expand All @@ -393,8 +393,8 @@ public void changeLookDirection(double deltaX, double deltaY) {
prevYaw = yaw;
prevPitch = pitch;

yaw += deltaX;
pitch += deltaY;
yaw += (float) deltaX;
pitch += (float) deltaY;

pitch = MathHelper.clamp(pitch, -90, 90);
}
Expand Down

0 comments on commit d350421

Please sign in to comment.