aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/moe/nea/firmament/mixins/ResourceReloaderRegistrationPatch.java
diff options
context:
space:
mode:
authorLinnea Gräf <nea@nea.moe>2024-05-11 03:28:05 +0200
committerLinnea Gräf <nea@nea.moe>2024-05-14 18:45:59 +0200
commit7682534f6fd139b75f24c79b76098fe05f0fa0fe (patch)
tree34d94c8fd7b531da128ff0130bf463393e2560e0 /src/main/java/moe/nea/firmament/mixins/ResourceReloaderRegistrationPatch.java
parent53dc0c3b0a758ce2afff2637a5a5f22aa1733c56 (diff)
downloadfirmament-7682534f6fd139b75f24c79b76098fe05f0fa0fe.tar.gz
firmament-7682534f6fd139b75f24c79b76098fe05f0fa0fe.tar.bz2
firmament-7682534f6fd139b75f24c79b76098fe05f0fa0fe.zip
Add custom global textures
Diffstat (limited to 'src/main/java/moe/nea/firmament/mixins/ResourceReloaderRegistrationPatch.java')
-rw-r--r--src/main/java/moe/nea/firmament/mixins/ResourceReloaderRegistrationPatch.java31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/main/java/moe/nea/firmament/mixins/ResourceReloaderRegistrationPatch.java b/src/main/java/moe/nea/firmament/mixins/ResourceReloaderRegistrationPatch.java
new file mode 100644
index 0000000..bf0b925
--- /dev/null
+++ b/src/main/java/moe/nea/firmament/mixins/ResourceReloaderRegistrationPatch.java
@@ -0,0 +1,31 @@
+/*
+ * SPDX-FileCopyrightText: 2024 Linnea Gräf <nea@nea.moe>
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ */
+
+package moe.nea.firmament.mixins;
+
+import moe.nea.firmament.events.FinalizeResourceManagerEvent;
+import net.minecraft.client.MinecraftClient;
+import net.minecraft.client.RunArgs;
+import net.minecraft.resource.ReloadableResourceManagerImpl;
+import org.spongepowered.asm.mixin.Final;
+import org.spongepowered.asm.mixin.Mixin;
+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;
+
+@Mixin(MinecraftClient.class)
+public class ResourceReloaderRegistrationPatch {
+ @Shadow
+ @Final
+ private ReloadableResourceManagerImpl resourceManager;
+
+ @Inject(method = "<init>", at = @At(value = "INVOKE", target = "Lnet/minecraft/resource/ResourcePackManager;createResourcePacks()Ljava/util/List;", shift = At.Shift.BEFORE))
+ private void onBeforeResourcePackCreation(RunArgs args, CallbackInfo ci) {
+ FinalizeResourceManagerEvent.Companion.publish(new FinalizeResourceManagerEvent(this.resourceManager));
+ }
+}
+