aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
author alemi <me@alemi.dev>2023-02-16 02:40:15 +0100
committer alemi <me@alemi.dev>2023-02-16 02:40:15 +0100
commitf85188f31038d2c58c04628d557ef361ba9982da (patch)
treeb33b4f5e363222f6609716c4b00a18c8ec449d92 /src
parentb5d76e3494940d7f0c88a61a31c6a038e72db6b6 (diff)
feat: bring back mods button!
kinda broken and jank but hey it works for now;
Diffstat (limited to 'src')
-rw-r--r--src/main/java/ftbsc/bscv/BoSCoVicino.java28
-rw-r--r--src/main/resources/META-INF/accesstransformer.cfg6
2 files changed, 32 insertions, 2 deletions
diff --git a/src/main/java/ftbsc/bscv/BoSCoVicino.java b/src/main/java/ftbsc/bscv/BoSCoVicino.java
index 2e5f6c5..8479ed8 100644
--- a/src/main/java/ftbsc/bscv/BoSCoVicino.java
+++ b/src/main/java/ftbsc/bscv/BoSCoVicino.java
@@ -2,10 +2,14 @@ package ftbsc.bscv;
import net.minecraft.block.Block;
import net.minecraft.client.entity.player.ClientPlayerEntity;
+import net.minecraft.client.gui.screen.IngameMenuScreen;
+import net.minecraft.client.gui.widget.button.Button;
import net.minecraft.command.CommandSource;
import net.minecraft.command.Commands;
import net.minecraft.util.text.StringTextComponent;
+import net.minecraft.util.text.TranslationTextComponent;
import net.minecraftforge.client.event.ClientChatEvent;
+import net.minecraftforge.client.event.GuiScreenEvent.InitGuiEvent;
import net.minecraftforge.common.ForgeConfigSpec;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.RegistryEvent;
@@ -138,6 +142,30 @@ public class BoSCoVicino implements ICommons {
}
@SubscribeEvent
+ public void onPauseMenu(InitGuiEvent.Post event) {
+ if (event.getGui() instanceof IngameMenuScreen) { // TODO de-jank this, maybe by extending IngameMenuScreen
+ IngameMenuScreen screen = (IngameMenuScreen) event.getGui();
+ screen.buttons.remove(3);
+ screen.buttons.remove(3);
+ screen.children.remove(3);
+ screen.children.remove(3);
+ Button mods_btn = new Button(
+ screen.width / 2 + 4,
+ screen.height / 4 + 72 + -16, 98, 20,
+ new TranslationTextComponent("fml.menu.mods"),
+ cb -> {
+ MC.setScreen(new net.minecraftforge.fml.client.gui.screen.ModListScreen(screen));
+ }
+ );
+ // need to add it twice for it to work once...
+ screen.buttons.add(3, mods_btn);
+ screen.buttons.add(3, mods_btn);
+ screen.children.add(3, mods_btn);
+ screen.children.add(3, mods_btn);
+ }
+ }
+
+ @SubscribeEvent
public void onWorldLoad(WorldEvent.Load event) {
// TEMPORARY! add command to regenerate suggestions
ClientPlayerEntity player = MC.player;
diff --git a/src/main/resources/META-INF/accesstransformer.cfg b/src/main/resources/META-INF/accesstransformer.cfg
index a536e51..0dd8cc6 100644
--- a/src/main/resources/META-INF/accesstransformer.cfg
+++ b/src/main/resources/META-INF/accesstransformer.cfg
@@ -1,2 +1,4 @@
-public net.minecraft.client.network.play.NetworkPlayerInfo field_178866_b
-public net.minecraft.network.play.client.CPlayerPacket field_149474_g
+public net.minecraft.client.gui.screen.Screen field_230710_m_ # buttons
+public net.minecraft.client.gui.screen.Screen field_230705_e_ # children
+public net.minecraft.client.network.play.NetworkPlayerInfo field_178866_b # gameMode
+public net.minecraft.network.play.client.CPlayerPacket field_149474_g # onGround