aboutsummaryrefslogtreecommitdiff
path: root/runtime/src/main/java/me/shedaniel/rei/plugin
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/src/main/java/me/shedaniel/rei/plugin')
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/ItemEntryDefinition.java17
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/plugin/client/runtime/DefaultClientRuntimePlugin.java18
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);
}));
}