summaryrefslogtreecommitdiff
path: root/src/main/java/com/arslaancodes/arslaansmagichax/modules/impl/GravityModifier.java
blob: 593963da3a5f9207883b91129e4155d3f520f0a5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package com.arslaancodes.arslaansmagichax.modules.impl;

import com.arslaancodes.arslaansmagichax.modules.Category;
import com.arslaancodes.arslaansmagichax.modules.Module;
import com.arslaancodes.arslaansmagichax.modules.settings.NumberSetting;
import net.minecraft.network.chat.Component;
import net.minecraft.world.phys.Vec3;
import org.lwjgl.glfw.GLFW;

public class GravityModifier extends Module {
    private NumberSetting gravity = new NumberSetting("Modifier", -1, 1, 0, 0.01);

    public GravityModifier() {
        super("Gravity Modifier", "Changes gravity.", GLFW.GLFW_KEY_GRAVE_ACCENT, Category.MOVEMENT);
        addSetting(gravity);
    }

    @Override
    protected void onEnable() {
        if (mc.player != null) mc.player.displayClientMessage(Component.literal("[Gravity Modifier] It is recommended to use this hack with NoFall."), false);
    }

    @Override
    public void tick() {
        if (!this.isEnabled() || mc.player == null) return;

        Vec3 velocity = mc.player.getDeltaMovement();
        Vec3 newVelocity = new Vec3(velocity.x, velocity.y + gravity.getValue(), velocity.z);
        mc.player.setDeltaMovement(newVelocity);
    }
}