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.java12
2 files changed, 22 insertions, 7 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 f5efc2e4e..b18b9c14a 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
@@ -256,7 +256,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();
}
@@ -307,13 +314,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 fd398d1f8..c0e0fc30e 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;
@@ -141,13 +141,13 @@ public class DefaultClientRuntimePlugin implements REIClientPlugin {
}
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);
}));
}