package com.minelittlepony.unicopia.client; import javax.annotation.Nonnull; import javax.annotation.Nullable; import com.minelittlepony.unicopia.InteractionManager; import com.minelittlepony.unicopia.entity.player.Pony; import com.minelittlepony.unicopia.entity.player.dummy.DummyClientPlayerEntity; import com.mojang.authlib.GameProfile; import net.minecraft.client.MinecraftClient; import net.minecraft.client.world.ClientWorld; import net.minecraft.entity.Entity; import net.minecraft.entity.player.PlayerEntity; public class ClientInteractionManager extends InteractionManager { @Override @Nonnull public PlayerEntity createPlayer(Entity observer, GameProfile profile) { if (observer.world instanceof ClientWorld) { return new DummyClientPlayerEntity((ClientWorld)observer.world, profile); } return super.createPlayer(observer, profile); } @Override public boolean isClientPlayer(@Nullable PlayerEntity player) { return (MinecraftClient.getInstance().player != null && player != null) && (MinecraftClient.getInstance().player == player || Pony.equal(MinecraftClient.getInstance().player, player)); } @Override public int getViewMode() { return MinecraftClient.getInstance().options.getPerspective().ordinal(); } }