package choonster.testmod3.proxy; import choonster.testmod3.api.capability.lock.ILock; import choonster.testmod3.capability.lock.CapabilityLock; import choonster.testmod3.client.command.ModCommandsClient; import choonster.testmod3.client.gui.GuiLock; import choonster.testmod3.client.init.ModKeyBindings; import choonster.testmod3.client.model.ModColourManager; import choonster.testmod3.client.renderer.entity.ModRenderers; import net.minecraft.client.Minecraft; import net.minecraft.client.settings.KeyBinding; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.EnumFacing; import net.minecraft.util.IThreadListener; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraftforge.fml.common.network.simpleimpl.MessageContext; import javax.annotation.Nullable; public class CombinedClientProxy implements IProxy { private final Minecraft MINECRAFT = Minecraft.getMinecraft(); @Override public void preInit() { ModRenderers.register(); ModCommandsClient.registerCommands(); ModKeyBindings.registerKeyBindings(); } @Override public void init() { ModColourManager.registerColourHandlers(); } @Override public void postInit() { } @Override public void doClientRightClick() { // Press the Use Item keybinding KeyBinding.onTick(MINECRAFT.gameSettings.keyBindUseItem.getKeyCode()); } @Nullable @Override public EntityPlayer getClientPlayer() { return MINECRAFT.player; } @Nullable @Override public World getClientWorld() { return MINECRAFT.world; } @Override public IThreadListener getThreadListener(MessageContext context) { if (context.side.isClient()) { return MINECRAFT; } else { return context.getServerHandler().player.mcServer; } } @Override public EntityPlayer getPlayer(MessageContext context) { if (context.side.isClient()) { return MINECRAFT.player; } else { return context.getServerHandler().player; } } @Override public void displayLockGUI(BlockPos pos, EnumFacing facing) { final ILock lock = CapabilityLock.getLock(MINECRAFT.world, pos, facing); if (lock != null) { MINECRAFT.displayGuiScreen(new GuiLock(lock, pos, facing)); } } }