diff --git a/src/client/java/me/jonasjones/nec/NotEnoughCursednessClient.java b/src/client/java/me/jonasjones/nec/NotEnoughCursednessClient.java new file mode 100644 index 0000000..61e7e5e --- /dev/null +++ b/src/client/java/me/jonasjones/nec/NotEnoughCursednessClient.java @@ -0,0 +1,15 @@ +package me.jonasjones.nec; + +import net.fabricmc.api.ClientModInitializer; +import net.minecraft.util.Identifier; + +import static me.jonasjones.nec.NotEnoughCursedness.MOD_ID; + +public class NotEnoughCursednessClient implements ClientModInitializer { + public static final Identifier NEW_LOGO = Identifier.of(MOD_ID, "textures/gui/mojangstudios.png"); + @Override + public void onInitializeClient() { + // This code runs on the client side. In a real mod, you might do things like loading + // mod settings, registering key bindings, or registering custom model loaders here. + } +} diff --git a/src/client/java/me/jonasjones/nec/mixin/SplashScreenMixin.java b/src/client/java/me/jonasjones/nec/mixin/SplashScreenMixin.java new file mode 100644 index 0000000..5aa8481 --- /dev/null +++ b/src/client/java/me/jonasjones/nec/mixin/SplashScreenMixin.java @@ -0,0 +1,36 @@ +package me.jonasjones.nec.mixin; + +import com.llamalad7.mixinextras.sugar.Local; +import com.llamalad7.mixinextras.sugar.ref.LocalRef; +import com.mojang.blaze3d.systems.RenderSystem; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.font.TextRenderer; +import net.minecraft.client.gui.DrawContext; +import net.minecraft.client.gui.screen.SplashOverlay; +import net.minecraft.client.util.math.MatrixStack; +import net.minecraft.resource.ResourceReload; +import net.minecraft.text.Text; +import net.minecraft.util.Identifier; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Mutable; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +import java.lang.reflect.Field; +import java.util.Optional; +import java.util.function.Consumer; + +import static com.mojang.text2speech.Narrator.LOGGER; +import static me.jonasjones.nec.NotEnoughCursedness.MOD_ID; +import static me.jonasjones.nec.NotEnoughCursednessClient.NEW_LOGO; + +@Mixin(value = SplashOverlay.class) +public class SplashScreenMixin { + @Inject(method = "render", at = @At("TAIL")) + private void injectRender(DrawContext context, int mouseX, int mouseY, float delta, CallbackInfo ci) { + TextRenderer textRenderer = MinecraftClient.getInstance().textRenderer; + context.drawTextWithShadow(textRenderer, Text.translatable("text.nec.splashscreen"), mouseX, mouseY, 0xFFFFFF); + } +} diff --git a/src/client/resources/nec.client.mixins.json b/src/client/resources/nec.client.mixins.json new file mode 100644 index 0000000..95a3b27 --- /dev/null +++ b/src/client/resources/nec.client.mixins.json @@ -0,0 +1,11 @@ +{ + "required": true, + "package": "me.jonasjones.nec.mixin", + "compatibilityLevel": "JAVA_21", + "client": [ + "SplashScreenMixin" + ], + "injectors": { + "defaultRequire": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/nec/lang/de_de.json b/src/main/resources/assets/nec/lang/de_de.json index 92ac0c8..7aaf8a9 100644 --- a/src/main/resources/assets/nec/lang/de_de.json +++ b/src/main/resources/assets/nec/lang/de_de.json @@ -33,5 +33,7 @@ "item.nec.letter": "Brief", "item.nec.negative_flint": "Negativer Feuerstein", "item.nec.steel": "Zeug", - "itemGroup.nec.not_enough_cursedness": "Nicht Genug Verfluchtheit" + "itemGroup.nec.not_enough_cursedness": "Nicht Genug Verfluchtheit", + + "text.nec.splashscreen": "Not Enough Cursedness" } \ No newline at end of file diff --git a/src/main/resources/assets/nec/lang/en_us.json b/src/main/resources/assets/nec/lang/en_us.json index 96199f4..f90a099 100644 --- a/src/main/resources/assets/nec/lang/en_us.json +++ b/src/main/resources/assets/nec/lang/en_us.json @@ -33,5 +33,7 @@ "item.nec.letter": "Letter", "item.nec.negative_flint": "Negative Flint", "item.nec.steel": "Steel", - "itemGroup.nec.not_enough_cursedness": "Not Enough Cursedness" + "itemGroup.nec.not_enough_cursedness": "Not Enough Cursedness", + + "text.nec.splashscreen": "Not Enough Cursedness" } \ No newline at end of file diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 7aab29f..4e4fe6e 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -27,7 +27,11 @@ ] }, "mixins": [ - "nec.mixins.json" + "nec.mixins.json", + { + "config": "nec.client.mixins.json", + "environment": "client" + } ], "depends": {