fabric-lifecycle-events-v1-2.6.9+33df5e6e6f.jar
Download file
package net.fabricmc.fabric.mixin.event.lifecycle.client;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientLifecycleEvents;
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientWorldEvents;
import net.minecraft.class_310;
import net.minecraft.class_638;
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.At.Shift;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@Environment(EnvType.CLIENT)
@Mixin({class_310.class})
public abstract class MinecraftClientMixin {
@Inject(
at = {@At("HEAD")},
method = {"method_1574()V"}
)
private void onStartTick(CallbackInfo info) {
((ClientTickEvents.StartTick)ClientTickEvents.START_CLIENT_TICK.invoker()).onStartTick((class_310)this);
}
@Inject(
at = {@At("RETURN")},
method = {"method_1574()V"}
)
private void onEndTick(CallbackInfo info) {
((ClientTickEvents.EndTick)ClientTickEvents.END_CLIENT_TICK.invoker()).onEndTick((class_310)this);
}
@Inject(
at = {@At(
value = "INVOKE",
target = "Lorg/slf4j/Logger;info(Ljava/lang/String;)V",
shift = Shift.AFTER
)},
method = {"method_1490()V"}
)
private void onStopping(CallbackInfo ci) {
((ClientLifecycleEvents.ClientStopping)ClientLifecycleEvents.CLIENT_STOPPING.invoker()).onClientStopping((class_310)this);
}
@Inject(
at = {@At(
value = "FIELD",
target = "Lnet/minecraft/class_310;field_1696:Ljava/lang/Thread;",
shift = Shift.AFTER,
ordinal = 0
)},
method = {"method_1514()V"}
)
private void onStart(CallbackInfo ci) {
((ClientLifecycleEvents.ClientStarted)ClientLifecycleEvents.CLIENT_STARTED.invoker()).onClientStarted((class_310)this);
}
@Inject(
method = {"method_18097(Lnet/minecraft/class_638;)V"},
at = {@At("TAIL")}
)
private void afterClientWorldChange(class_638 world, CallbackInfo ci) {
if (world != null) {
class_310 client = (class_310)this;
((ClientWorldEvents.AfterClientWorldChange)ClientWorldEvents.AFTER_CLIENT_WORLD_CHANGE.invoker()).afterWorldChange(client, world);
}
}
}
Download file