Fixed issue 674 (#675)

This commit is contained in:
michiel1106
2025-10-29 19:28:26 +01:00
committed by GitHub
parent 679a665be3
commit bf90193369
5 changed files with 35 additions and 6 deletions

View File

@@ -19,7 +19,7 @@ fabric_api_version=0.136.0+1.21.10
mod_menu_version=15.0.0-beta.1
forge_version=51.0.0
neoforge_version=21.10.32-beta
neoforge_version=21.10.38-beta
# Set to empty if not snapshots
neoforge_pr=

View File

@@ -142,11 +142,6 @@ public class EventHandlerImplClient {
ClientGuiEvent.RENDER_POST.invoker().render(event.getScreen(), event.getGuiGraphics(), event.getMouseX(), event.getMouseY(), event.getPartialTick());
}
@SubscribeEvent(priority = EventPriority.HIGH)
public static void eventContainerScreenEvent(ContainerScreenEvent.Render.Background event) {
ClientGuiEvent.RENDER_CONTAINER_BACKGROUND.invoker().render(event.getContainerScreen(), event.getGuiGraphics(), event.getMouseX(), event.getMouseY(), Minecraft.getInstance().getDeltaTracker().getRealtimeDeltaTicks());
}
@SubscribeEvent(priority = EventPriority.HIGH)
public static void eventContainerScreenEvent(ContainerScreenEvent.Render.Foreground event) {
ClientGuiEvent.RENDER_CONTAINER_FOREGROUND.invoker().render(event.getContainerScreen(), event.getGuiGraphics(), event.getMouseX(), event.getMouseY(), Minecraft.getInstance().getDeltaTracker().getRealtimeDeltaTicks());

View File

@@ -0,0 +1,25 @@
package dev.architectury.mixin.forge.client;
import dev.architectury.event.events.client.ClientGuiEvent;
import net.minecraft.client.gui.GuiGraphics;
import net.minecraft.client.gui.screens.Screen;
import net.minecraft.client.gui.screens.inventory.AbstractContainerScreen;
import net.minecraft.network.chat.Component;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@Mixin(AbstractContainerScreen.class)
public abstract class MixinAbstractContainerScreen extends Screen {
protected MixinAbstractContainerScreen(Component component) {
super(component);
}
@Inject(method = "renderBackground",
at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/screens/inventory/AbstractContainerScreen;renderBg(Lnet/minecraft/client/gui/GuiGraphics;FII)V",
ordinal = 0, shift = At.Shift.AFTER))
public void renderBackground(GuiGraphics graphics, int mouseX, int mouseY, float delta, CallbackInfo ci) {
ClientGuiEvent.RENDER_CONTAINER_BACKGROUND.invoker().render((AbstractContainerScreen<?>) (Object) this, graphics, mouseX, mouseY, delta);
}
}

View File

@@ -7,6 +7,7 @@
"client": [
"client.MixinClientPacketListener",
"client.MixinCommandSourceStack",
"client.MixinAbstractContainerScreen",
"MixinClientLevel",
"MixinMinecraft"
],

View File

@@ -21,6 +21,7 @@ package dev.architectury.test;
import com.mojang.brigadier.arguments.StringArgumentType;
import dev.architectury.event.events.client.ClientCommandRegistrationEvent;
import dev.architectury.event.events.client.ClientGuiEvent;
import dev.architectury.event.events.client.ClientLifecycleEvent;
import dev.architectury.registry.client.gui.ClientTooltipComponentRegistry;
import dev.architectury.registry.client.level.entity.EntityRendererRegistry;
@@ -29,10 +30,14 @@ import dev.architectury.test.registry.TestRegistries;
import dev.architectury.test.registry.client.TestKeybinds;
import dev.architectury.test.registry.objects.ItemWithTooltip;
import dev.architectury.test.registry.objects.MyClientTooltipComponent;
import net.minecraft.client.gui.components.FocusableTextWidget;
import net.minecraft.client.renderer.entity.CowRenderer;
import static dev.architectury.test.TestMod.SINK;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Items;
public class TestModClient {
public static void initializeClient() {
ClientLifecycleEvent.CLIENT_STARTED.register((client) -> SINK.accept("Client started!"));
@@ -51,5 +56,8 @@ public class TestModClient {
return 0;
})));
});
ClientGuiEvent.RENDER_CONTAINER_BACKGROUND.register(((screen, graphics, mouseX, mouseY, delta) -> {
graphics.renderItem(new ItemStack(Items.DIAMOND), mouseX, mouseY);
}));
}
}