Skip to content

Commit 57393be

Browse files
committed
Add custom main menu
1 parent 4a7d8a5 commit 57393be

File tree

13 files changed

+53
-97
lines changed

13 files changed

+53
-97
lines changed
Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,27 @@
11
package com.kd_gaming1;
22

3+
import com.kd_gaming1.screen.SEMainMenu;
34
import net.fabricmc.api.ModInitializer;
4-
5+
import net.fabricmc.fabric.api.client.screen.v1.ScreenEvents;
6+
import net.minecraft.client.gui.screen.TitleScreen;
57
import org.slf4j.Logger;
68
import org.slf4j.LoggerFactory;
79

810
public class PackCore implements ModInitializer {
911
public static final String MOD_ID = "packcore";
10-
11-
// This logger is used to write text to the console and the log file.
12-
// It is considered best practice to use your mod id as the logger's name.
13-
// That way, it's clear which mod wrote info, warnings, and errors.
1412
public static final Logger LOGGER = LoggerFactory.getLogger(MOD_ID);
1513

1614
@Override
1715
public void onInitialize() {
18-
// This code runs as soon as Minecraft is in a mod-load-ready state.
19-
// However, some things (like resources) may still be uninitialized.
20-
// Proceed with mild caution.
21-
2216
LOGGER.info("Hello Fabric world!");
17+
18+
// Register screen event to replace the main menu after initialization
19+
ScreenEvents.AFTER_INIT.register((client, screen, scaledWidth, scaledHeight) -> {
20+
// Check if the screen being opened is the vanilla main menu
21+
if (screen instanceof TitleScreen) {
22+
// Replace it with your custom menu on the next tick
23+
client.execute(() -> client.setScreen(new SEMainMenu()));
24+
}
25+
});
2326
}
2427
}

src/main/java/com/kd_gaming1/mixin/ExampleMixin.java

Lines changed: 0 additions & 15 deletions
This file was deleted.
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package com.kd_gaming1.mixin;
2+
3+
import com.llamalad7.mixinextras.injector.v2.WrapWithCondition;
4+
import net.minecraft.client.gui.DrawContext;
5+
import net.minecraft.client.gui.screen.Screen;
6+
import org.spongepowered.asm.mixin.Mixin;
7+
import com.kd_gaming1.screen.SEMainMenu;
8+
import org.spongepowered.asm.mixin.injection.At;
9+
10+
@Mixin(Screen.class)
11+
public abstract class SEMainMenuBlurMixin {
12+
13+
@WrapWithCondition(
14+
method = "renderBackground",
15+
at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/screen/Screen;applyBlur()V")
16+
)
17+
private boolean shouldApplyBlur(Screen instance) {
18+
// Only disable blur for your custom main menu
19+
return !(instance instanceof SEMainMenu);
20+
}
21+
22+
@WrapWithCondition(
23+
method = "renderBackground",
24+
at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/screen/Screen;renderDarkening(Lnet/minecraft/client/gui/DrawContext;)V")
25+
)
26+
private boolean shouldRenderDarkening(Screen instance, DrawContext context) {
27+
// Only disable darkening for your custom main menu
28+
return !(instance instanceof SEMainMenu);
29+
}
30+
}

src/main/java/com/kd_gaming1/screen/SEMainMenu.kt

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.kd_gaming1.screen
22

3-
import com.kd_gaming1.screen.components.UIPanorama
43
import com.kd_gaming1.config.ModConfig
54
import com.kd_gaming1.screen.utils.CreateMenuButton
65
import com.kd_gaming1.screen.utils.CreateMenuButtonInfo
@@ -22,7 +21,6 @@ import net.fabricmc.loader.api.FabricLoader
2221
import net.minecraft.client.gui.screen.multiplayer.MultiplayerScreen
2322
import net.minecraft.client.gui.screen.option.OptionsScreen
2423
import net.minecraft.client.gui.screen.world.SelectWorldScreen
25-
import net.minecraft.util.Identifier
2624
import java.awt.Color
2725

2826
class SEMainMenu : WindowScreen(ElementaVersion.V7) {
@@ -46,13 +44,6 @@ class SEMainMenu : WindowScreen(ElementaVersion.V7) {
4644
}
4745

4846
init {
49-
// Set the background image
50-
val background = UIPanorama(
51-
Identifier.of("packcore", "textures/gui/panorama_skyblock_hub")
52-
).constrain {
53-
width = RelativeConstraint(1f)
54-
height = RelativeConstraint(1f)
55-
} childOf window
5647

5748
// Button Container with Buttons
5849
val buttonContainer = UIContainer().constrain {

src/main/java/com/kd_gaming1/screen/components/UIPanorama.kt

Lines changed: 0 additions & 63 deletions
This file was deleted.

src/main/resources/assets/packcore/textures/gui/panorama_skyblock_hub/panorama_0.png renamed to src/main/resources/assets/minecraft/textures/gui/title/background/panorama_0.png

File renamed without changes.

src/main/resources/assets/packcore/textures/gui/panorama_skyblock_hub/panorama_1.png renamed to src/main/resources/assets/minecraft/textures/gui/title/background/panorama_1.png

File renamed without changes.

src/main/resources/assets/packcore/textures/gui/panorama_skyblock_hub/panorama_2.png renamed to src/main/resources/assets/minecraft/textures/gui/title/background/panorama_2.png

File renamed without changes.

src/main/resources/assets/packcore/textures/gui/panorama_skyblock_hub/panorama_3.png renamed to src/main/resources/assets/minecraft/textures/gui/title/background/panorama_3.png

File renamed without changes.

src/main/resources/assets/packcore/textures/gui/panorama_skyblock_hub/panorama_4.png renamed to src/main/resources/assets/minecraft/textures/gui/title/background/panorama_4.png

File renamed without changes.

0 commit comments

Comments
 (0)