#Executing every tick for x ticks
5 messages · Page 1 of 1 (latest)
you'll probably want to look at this
https://maven.fabricmc.net/docs/fabric-api-0.130.0+1.21.8/net/fabricmc/fabric/api/client/event/lifecycle/v1/ClientTickEvents.html
declaration: package: net.fabricmc.fabric.api.client.event.lifecycle.v1, class: ClientTickEvents
that lets you run something every tick, but you'll have to figure out how to stop it
Let's say you have SetEntityVelocity class. Then do this:
package your.mod.name;
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
import net.minecraft.entity.Entity;
import net.minecraft.util.math.Vec3d;
public class SetEntityVelocity {
private static final Entity entity = null; // Your Entity
private static final int tickAmount = 20;
private static int tickCounter = 0;
public static void register() {
ClientTickEvents.END_CLIENT_TICK.register(
client -> {
if (tickCounter >= tickAmount) return;
entity.setVelocity(Vec3d.ZERO);
tickCounter++;
}
);
}
}
Then in your mod onInitializeClient (or onInitialize):
SetEntityVelocity.register();
tysm, for the last hour or so I was reinventing math 😂