------- net.minecraft.client.Minecraft.java -------

   public Minecraft(...)
    {
        ...
        MIHandler.init(this);
    }
    
    public void runTick()
    {   
        // Dans la partie des testes Keyboard.getEventKey(), autour de la ligne 2007 (mc1.8.0)
        MIHandler.onEventKey(Keyboard.getEventKey());
        
        // ligne 2064
        var1 = MIChecker.useItemSlot(this.thePlayer.inventory.getStackInSlot(var1), var1);
        this.thePlayer.inventory.currentItem = var1;
        
        // ligne 2102
        boolean cancelEvent = false;
        
        // ligne 2137
        cancelEvent = MIChecker.useItemLeft();
        if(!cancelEvent) this.clickMouse();
        
        // ligne 2143
        cancelEvent = MIChecker.useItemRight();
        if(!cancelEvent) this.rightClickMouse();
        
        // ligne 2149
        cancelEvent = MIChecker.useItemMiddle();
        if(!cancelEvent) this.middleClickMouse();
        
        // ligne 2156
        if(!MIChecker.keyRightPressedCanceled){
            cancelEvent = MIChecker.useItemRight();
            if(!cancelEvent) this.rightClickMouse();
        }else
            MIChecker.keyRightPressedCanceled = this.gameSettings.keyBindUseItem.getIsKeyPressed();
        
        // ligne 2163
        if(!cancelEvent && !MIChecker.keyLeftPressedCanceled)
            this.sendClickBlockToController(this.currentScreen == null && this.gameSettings.keyBindAttack.getIsKeyPressed() && this.inGameHasFocus);
        else
            MIChecker.keyLeftPressedCanceled = this.gameSettings.keyBindAttack.getIsKeyPressed();
    }

------- net.minecraft.network.EnumConnectionState.java -------

    PLAY("PLAY", 1, 0, null)
    {
        {
            ...
            this.registerPacket(EnumPacketDirection.SERVERBOUND, org.minicraft.manager.client.packet.Packet197Generic.class);
            this.registerPacket(EnumPacketDirection.CLIENTBOUND, org.minicraft.manager.client.packet.Packet197Generic.class);
        }
    }

------- net.minecraft.client.gui.GuiTextField.java -------

    protected int width;
    protected int height;
    protected boolean isEnabled = true;
    
------- net.minecraft.client.network.NetHandlerPlayClient.java -------

    public void handleJoinGame(S01PacketJoinGame p_147282_1_)
    {// ligne 285 (mc1.8.0)
        //this.gameController.playerController = new PlayerControllerMP(this.gameController, this);
        this.gameController.playerController = new MIPlayerController(this.gameController, this);
        ...
        DataLogin.sendLogin();
    }

   public void handleSpawnPlayer(S0CPacketSpawnPlayer p_147237_1_)
    { // ligne 547 (mc 1.8.0)
        //EntityOtherPlayerMP var10 = new EntityOtherPlayerMP(this.gameController.theWorld, this.func_175102_a(packetIn.func_179819_c()).func_178845_a());
        EntityOtherPlayerMP var10 = null;
        MIEntityNpc npc = MINpcManager.addNpc(this.func_175102_a(packetIn.func_179819_c()).func_178845_a(), packetIn.func_148943_d());
        if(npc != null)
           var10 = npc;
        else
            var10 = MIBuilder.newEntityOtherPlayerMP(this.gameController.theWorld, this.func_175102_a(packetIn.func_179819_c()).func_178845_a());
    }

     public void handleRespawn(S07PacketRespawn packetIn)
      { // ligne 1094 (mc 1.8.0)
        ...
        DataLogin.sendLogin();
      }
      
    public void handleCustomPayload(S3FPacketCustomPayload packetIn)
    { // ligne 1889 (mc 1.8.0)
        if(MIPlayerController.isNormalBook(var12)) this.gameController.displayGuiScreen(new GuiScreenBook(this.gameController.thePlayer, var12, false));
    }

------- net.minecraft.client.renderer.entity.RenderManager.java -------

    private RenderManager()
    {
        this.field_178636_l.put("npc", new MIRenderNpc(this));
        this.field_178636_l.put("minicraft", new MIRenderOtherPlayer(this));
    }

------- net.minecraft.util.StringTranslate.java -------
    
    public static StringTranslate instance = new StringTranslate();
    
    public static synchronized void replaceWith(Map par0Map)
    {
        //instance.languageList.clear();
        //instance.languageList.putAll(par0Map);
        instance.lastUpdateTimeInMilliseconds = System.currentTimeMillis();
        instance.addTranslate(par0Map);
    }
    
    public void addTranslate(Map map){
        languageList.clear();
        languageList.putAll(map);
    }
    
------- net.minecraft.util.StatCollector.java -------
    
     public static StringTranslate localizedName = StringTranslate.getInstance();
    
------- net.minecraft.client.gui.GuiIngame.java -------

    public void func_175180_a(float p_175180_1_) // public void renderGameOverlay(float par1, boolean par2, int par3, int par4)
    {
        MIHandler.renderGameOverlay(mc.fontRendererObj, var3, var4);
    }

------- net.minecraft.client.multiplayer.PlayerControllerMP.java -------
    
    protected void syncCurrentPlayItem()
    