--- a/net/minecraft/client/gui/screen/MainMenuScreen.java
+++ b/net/minecraft/client/gui/screen/MainMenuScreen.java
@@ -54,6 +54,7 @@
    private final RenderSkybox field_209101_K = new RenderSkybox(field_213098_a);
    private final boolean field_213102_y;
    private long field_213103_z;
+   private net.minecraftforge.client.gui.NotificationModUpdateScreen modUpdateNotification;
 
    public MainMenuScreen() {
       this(false);
@@ -97,11 +98,16 @@
       this.field_193979_N = this.field_230708_k_ - this.field_193978_M - 2;
       int i = 24;
       int j = this.field_230709_l_ / 4 + 48;
+      Button modButton = null;
       if (this.field_230706_i_.func_71355_q()) {
          this.func_73972_b(j, 24);
       } else {
          this.func_73969_a(j, 24);
+         modButton = this.func_230480_a_(new Button(this.field_230708_k_ / 2 - 100, j + 24 * 2, 98, 20, new TranslationTextComponent("fml.menu.mods"), button -> {
+            this.field_230706_i_.func_147108_a(new net.minecraftforge.fml.client.gui.screen.ModListScreen(this));
+         }));
       }
+      modUpdateNotification = net.minecraftforge.client.gui.NotificationModUpdateScreen.init(this, modButton);
 
       this.func_230480_a_(new ImageButton(this.field_230708_k_ / 2 - 124, j + 72 + 12, 20, 20, 0, 106, 20, Button.field_230687_i_, 256, 256, (p_213090_1_) -> {
          this.field_230706_i_.func_147108_a(new LanguageScreen(this, this.field_230706_i_.field_71474_y, this.field_230706_i_.func_135016_M()));
@@ -143,7 +149,7 @@
          Screen screen = (Screen)(this.field_230706_i_.field_71474_y.field_230152_Z_ ? new MultiplayerScreen(this) : new MultiplayerWarningScreen(this));
          this.field_230706_i_.func_147108_a(screen);
       }, button$itooltip))).field_230693_o_ = flag;
-      (this.func_230480_a_(new Button(this.field_230708_k_ / 2 - 100, p_73969_1_ + p_73969_2_ * 2, 200, 20, new TranslationTextComponent("menu.online"), (p_238661_1_) -> {
+      (this.func_230480_a_(new Button(this.field_230708_k_ / 2 + 2, p_73969_1_ + p_73969_2_ * 2, 98, 20, new TranslationTextComponent("menu.online"), (p_238661_1_) -> {
          this.func_140005_i();
       }, button$itooltip))).field_230693_o_ = flag;
    }
@@ -229,6 +235,7 @@
 
          this.field_230706_i_.func_110434_K().func_110577_a(field_194400_H);
          func_238463_a_(p_230430_1_, j + 88, 67, 0.0F, 0.0F, 98, 14, 128, 16);
+         net.minecraftforge.client.ForgeHooksClient.renderMainMenu(this, p_230430_1_, this.field_230712_o_, this.field_230708_k_, this.field_230709_l_);
          if (this.field_73975_c != null) {
             RenderSystem.pushMatrix();
             RenderSystem.translatef((float)(this.field_230708_k_ / 2 + 90), 70.0F, 0.0F);
@@ -251,7 +258,14 @@
             s = s + I18n.func_135052_a("menu.modded");
          }
 
-         func_238476_c_(p_230430_1_, this.field_230712_o_, s, 2, this.field_230709_l_ - 10, 16777215 | l);
+         net.minecraftforge.fml.BrandingControl.forEachLine(true, true, (brdline, brd) ->
+            func_238476_c_(p_230430_1_, this.field_230712_o_, brd, 2, this.field_230709_l_ - ( 10 + brdline * (this.field_230712_o_.field_78288_b + 1)), 16777215 | l)
+         );
+
+         net.minecraftforge.fml.BrandingControl.forEachAboveCopyrightLine((brdline, brd) ->
+            func_238476_c_(p_230430_1_, this.field_230712_o_, brd, this.field_230708_k_ - field_230712_o_.func_78256_a(brd), this.field_230709_l_ - (10 + (brdline + 1) * ( this.field_230712_o_.field_78288_b + 1)), 16777215 | l)
+         );
+
          func_238476_c_(p_230430_1_, this.field_230712_o_, "Copyright Mojang AB. Do not distribute!", this.field_193979_N, this.field_230709_l_ - 10, 16777215 | l);
          if (p_230430_2_ > this.field_193979_N && p_230430_2_ < this.field_193979_N + this.field_193978_M && p_230430_3_ > this.field_230709_l_ - 10 && p_230430_3_ < this.field_230709_l_) {
             func_238467_a_(p_230430_1_, this.field_193979_N, this.field_230709_l_ - 1, this.field_193979_N + this.field_193978_M, this.field_230709_l_, 16777215 | l);
@@ -265,6 +279,7 @@
          if (this.func_183501_a() && f1 >= 1.0F) {
             this.field_183503_M.func_230430_a_(p_230430_1_, p_230430_2_, p_230430_3_, p_230430_4_);
          }
+         modUpdateNotification.func_230430_a_(p_230430_1_, p_230430_2_, p_230430_3_, p_230430_4_);
 
       }
    }
