diff options
| author | shedaniel <daniel@shedaniel.me> | 2022-05-21 20:29:08 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2022-05-21 20:29:08 +0800 |
| commit | a4884f1e31083a05b48ea238ce8792842e691444 (patch) | |
| tree | 5284d9cc68d5d21f74a6dc84f8004d42061c8831 /runtime/src/main/java/me/shedaniel/rei/plugin | |
| parent | e48b5b7a9eec72fcaf202d1ffe53765da6aad503 (diff) | |
| parent | 8589dfa9b7e382c2eff22bb1c5bea5d7759007d5 (diff) | |
| download | RoughlyEnoughItems-a4884f1e31083a05b48ea238ce8792842e691444.tar.gz RoughlyEnoughItems-a4884f1e31083a05b48ea238ce8792842e691444.tar.bz2 RoughlyEnoughItems-a4884f1e31083a05b48ea238ce8792842e691444.zip | |
Merge remote-tracking branch 'origin/8.x-1.18.2' into 9.x-1.19
# Conflicts:
# gradle.properties
# runtime/src/main/java/me/shedaniel/rei/impl/client/entry/filtering/rules/SearchFilteringRule.java
# runtime/src/main/java/me/shedaniel/rei/impl/client/gui/ScreenOverlayImpl.java
# runtime/src/main/java/me/shedaniel/rei/impl/client/gui/performance/PerformanceScreen.java
# runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/DefaultDisplayViewingScreen.java
# runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryWidget.java
# runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/FavoritesListWidget.java
# runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/InternalWidgets.java
# runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/entrylist/EntryListWidget.java
Diffstat (limited to 'runtime/src/main/java/me/shedaniel/rei/plugin')
2 files changed, 25 insertions, 10 deletions
diff --git a/runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/ItemEntryDefinition.java b/runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/ItemEntryDefinition.java index 5867e4de4..0eff4b75e 100644 --- a/runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/ItemEntryDefinition.java +++ b/runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/ItemEntryDefinition.java @@ -255,7 +255,14 @@ public class ItemEntryDefinition implements EntryDefinition<ItemStack>, EntrySer modelViewStack.popPose(); RenderSystem.applyModelViewMatrix(); } + PoseStack modelViewStack = RenderSystem.getModelViewStack(); + modelViewStack.pushPose(); + modelViewStack.mulPoseMatrix(matrices.last().pose()); + modelViewStack.translate(bounds.x, bounds.y, 0); + modelViewStack.scale(bounds.width / 16f, (bounds.getWidth() + bounds.getHeight()) / 2f / 16f, 1.0F); + RenderSystem.applyModelViewMatrix(); renderOverlay(entry, bounds); + modelViewStack.popPose(); endGL(entry, model); RenderSystem.applyModelViewMatrix(); } @@ -306,13 +313,21 @@ public class ItemEntryDefinition implements EntryDefinition<ItemStack>, EntrySer @Override public void renderOverlay(EntryStack<ItemStack> entry, BakedModel model, PoseStack matrices, MultiBufferSource.BufferSource immediate, Rectangle bounds, int mouseX, int mouseY, float delta) { + PoseStack modelViewStack = RenderSystem.getModelViewStack(); + modelViewStack.pushPose(); + modelViewStack.mulPoseMatrix(matrices.last().pose()); + modelViewStack.translate(bounds.x, bounds.y, 0); + modelViewStack.scale(bounds.width / 16f, (bounds.getWidth() + bounds.getHeight()) / 2f / 16f, 1.0F); + RenderSystem.applyModelViewMatrix(); renderOverlay(entry, bounds); + modelViewStack.popPose(); + RenderSystem.applyModelViewMatrix(); } public void renderOverlay(EntryStack<ItemStack> entry, Rectangle bounds) { if (!entry.isEmpty()) { Minecraft.getInstance().getItemRenderer().blitOffset = entry.getZ(); - Minecraft.getInstance().getItemRenderer().renderGuiItemDecorations(Minecraft.getInstance().font, entry.getValue(), bounds.x, bounds.y, null); + Minecraft.getInstance().getItemRenderer().renderGuiItemDecorations(Minecraft.getInstance().font, entry.getValue(), 0, 0, null); Minecraft.getInstance().getItemRenderer().blitOffset = 0.0F; } } diff --git a/runtime/src/main/java/me/shedaniel/rei/plugin/client/runtime/DefaultClientRuntimePlugin.java b/runtime/src/main/java/me/shedaniel/rei/plugin/client/runtime/DefaultClientRuntimePlugin.java index fdcf644f9..66e150d1e 100644 --- a/runtime/src/main/java/me/shedaniel/rei/plugin/client/runtime/DefaultClientRuntimePlugin.java +++ b/runtime/src/main/java/me/shedaniel/rei/plugin/client/runtime/DefaultClientRuntimePlugin.java @@ -38,8 +38,8 @@ import me.shedaniel.rei.api.client.favorites.FavoriteEntryType; import me.shedaniel.rei.api.client.gui.AbstractRenderer; import me.shedaniel.rei.api.client.gui.Renderer; import me.shedaniel.rei.api.client.gui.config.ItemCheatingMode; -import me.shedaniel.rei.api.client.gui.drag.DraggableStackProviderWidget; -import me.shedaniel.rei.api.client.gui.drag.DraggableStackVisitorWidget; +import me.shedaniel.rei.api.client.gui.drag.component.DraggableComponentProviderWidget; +import me.shedaniel.rei.api.client.gui.drag.component.DraggableComponentVisitorWidget; import me.shedaniel.rei.api.client.gui.screen.DisplayScreen; import me.shedaniel.rei.api.client.gui.widgets.Panel; import me.shedaniel.rei.api.client.gui.widgets.Tooltip; @@ -61,7 +61,7 @@ import me.shedaniel.rei.impl.client.ClientHelperImpl; import me.shedaniel.rei.impl.client.REIRuntimeImpl; import me.shedaniel.rei.impl.client.gui.ScreenOverlayImpl; import me.shedaniel.rei.impl.client.gui.screen.DefaultDisplayViewingScreen; -import me.shedaniel.rei.impl.client.gui.widget.FavoritesListWidget; +import me.shedaniel.rei.impl.client.gui.widget.favorites.FavoritesListWidget; import me.shedaniel.rei.impl.common.entry.type.EntryRegistryImpl; import me.shedaniel.rei.plugin.autocrafting.DefaultCategoryHandler; import net.fabricmc.api.EnvType; @@ -135,19 +135,19 @@ public class DefaultClientRuntimePlugin implements REIClientPlugin { zones.register(Screen.class, screen -> { FavoritesListWidget widget = ScreenOverlayImpl.getFavoritesListWidget(); if (widget != null) { - if (widget.favoritePanelButton.isVisible()) { - return Collections.singletonList(widget.favoritePanelButton.bounds); + if (widget.togglePanelButton.isVisible()) { + return Collections.singletonList(widget.togglePanelButton.bounds); } } return Collections.emptyList(); }); - registry.registerDraggableStackProvider(DraggableStackProviderWidget.from(context -> { + registry.registerDraggableComponentProvider(DraggableComponentProviderWidget.from(context -> { if (RoughlyEnoughItemsCoreClient.shouldReturn(context.getScreen()) || !REIRuntime.getInstance().isOverlayVisible()) return Collections.emptyList(); - return Widgets.walk(REIRuntime.getInstance().getOverlay().get().children(), DraggableStackProviderWidget.class::isInstance); + return Widgets.walk(REIRuntime.getInstance().getOverlay().get().children(), DraggableComponentProviderWidget.class::isInstance); })); - registry.registerDraggableStackVisitor(DraggableStackVisitorWidget.from(context -> { + registry.registerDraggableComponentVisitor(DraggableComponentVisitorWidget.from(context -> { if (RoughlyEnoughItemsCoreClient.shouldReturn(context.getScreen()) || !REIRuntime.getInstance().isOverlayVisible()) return Collections.emptyList(); - return Widgets.walk(REIRuntime.getInstance().getOverlay().get().children(), DraggableStackVisitorWidget.class::isInstance); + return Widgets.walk(REIRuntime.getInstance().getOverlay().get().children(), DraggableComponentVisitorWidget.class::isInstance); })); } |
