36 lines
1.1 KiB
Java
36 lines
1.1 KiB
Java
package carpet.mixins;
|
|
|
|
import carpet.CarpetServer;
|
|
import carpet.helpers.TickSpeed;
|
|
import carpet.network.CarpetClient;
|
|
import net.minecraft.client.MinecraftClient;
|
|
import net.minecraft.client.gui.screen.Screen;
|
|
import net.minecraft.client.world.ClientWorld;
|
|
import org.spongepowered.asm.mixin.Mixin;
|
|
import org.spongepowered.asm.mixin.Shadow;
|
|
import org.spongepowered.asm.mixin.injection.At;
|
|
import org.spongepowered.asm.mixin.injection.Inject;
|
|
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
|
|
|
@Mixin(MinecraftClient.class)
|
|
public class MinecraftClientMixin
|
|
{
|
|
@Shadow public ClientWorld world;
|
|
|
|
@Inject(method = "disconnect(Lnet/minecraft/client/gui/screen/Screen;)V", at = @At("HEAD"))
|
|
private void onCloseGame(Screen screen, CallbackInfo ci)
|
|
{
|
|
CarpetClient.disconnect();
|
|
}
|
|
|
|
@Inject(at = @At("HEAD"), method = "tick")
|
|
private void onClientTick(CallbackInfo info) {
|
|
if (this.world != null) {
|
|
if (CarpetServer.minecraft_server == null)
|
|
TickSpeed.tick();
|
|
if (!TickSpeed.process_entities)
|
|
CarpetClient.shapes.renewShapes();
|
|
}
|
|
}
|
|
}
|