aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/plugin
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2020-03-10 02:45:09 +0800
committershedaniel <daniel@shedaniel.me>2020-03-10 02:45:09 +0800
commit0ef7d4d944b0683250f905f856c08e759ae9355d (patch)
tree88376b527c5c86fd24c0bf2b6ad4f740d20cc4d0 /src/main/java/me/shedaniel/rei/plugin
parent5c83be1590d4e1ea706ab7b57d20253f95dcbd1b (diff)
downloadRoughlyEnoughItems-0ef7d4d944b0683250f905f856c08e759ae9355d.tar.gz
RoughlyEnoughItems-0ef7d4d944b0683250f905f856c08e759ae9355d.tar.bz2
RoughlyEnoughItems-0ef7d4d944b0683250f905f856c08e759ae9355d.zip
ScreenWithHandler refractor, why must we suffer
Signed-off-by: shedaniel <daniel@shedaniel.me>
Diffstat (limited to 'src/main/java/me/shedaniel/rei/plugin')
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java14
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultPotionEffectExclusionZones.java4
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultRecipeBookExclusionZones.java10
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultServerContainerPlugin.java12
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultCategoryHandler.java22
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultRecipeBookHandler.java26
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/containers/CraftingContainerInfoWrapper.java12
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/cooking/DefaultCookingDisplay.java4
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/crafting/DefaultCraftingCategory.java6
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/crafting/DefaultCraftingDisplay.java4
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/stonecutting/DefaultStoneCuttingCategory.java1
11 files changed, 57 insertions, 58 deletions
diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java b/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java
index 69fee5b1f..52ebfc721 100644
--- a/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java
+++ b/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java
@@ -164,7 +164,7 @@ public class DefaultPlugin implements REIPluginV0 {
@Override
public void render(Rectangle bounds, int mouseX, int mouseY, float delta) {
MinecraftClient.getInstance().getTextureManager().bindTexture(id);
- innerBlit(bounds.x, bounds.getMaxX(), bounds.y, bounds.getMaxY(), getBlitOffset(), 0, 1, 0, 1);
+ innerBlit(bounds.x, bounds.getMaxX(), bounds.y, bounds.getMaxY(), getZOffset(), 0, 1, 0, 1);
}
@Override
@@ -310,20 +310,20 @@ public class DefaultPlugin implements REIPluginV0 {
// return 10f;
// }
// });
- displayHelper.registerHandler(new DisplayHelper.DisplayBoundsHandler<ContainerScreen<?>>() {
+ displayHelper.registerHandler(new DisplayHelper.DisplayBoundsHandler<ScreenWithHandler<?>>() {
@Override
public Class<?> getBaseSupportedClass() {
- return ContainerScreen.class;
+ return ScreenWithHandler.class;
}
@Override
- public Rectangle getLeftBounds(ContainerScreen<?> screen) {
- return new Rectangle(2, 0, ScreenHelper.getLastContainerScreenHooks().rei_getContainerLeft() - 4, MinecraftClient.getInstance().getWindow().getScaledHeight());
+ public Rectangle getLeftBounds(ScreenWithHandler<?> screen) {
+ return new Rectangle(2, 0, ScreenHelper.getLastScreenWithHandlerHooks().rei_getContainerLeft() - 4, MinecraftClient.getInstance().getWindow().getScaledHeight());
}
@Override
- public Rectangle getRightBounds(ContainerScreen<?> screen) {
- int startX = ScreenHelper.getLastContainerScreenHooks().rei_getContainerLeft() + ScreenHelper.getLastContainerScreenHooks().rei_getContainerWidth() + 2;
+ public Rectangle getRightBounds(ScreenWithHandler<?> screen) {
+ int startX = ScreenHelper.getLastScreenWithHandlerHooks().rei_getContainerLeft() + ScreenHelper.getLastScreenWithHandlerHooks().rei_getContainerWidth() + 2;
return new Rectangle(startX, 0, MinecraftClient.getInstance().getWindow().getScaledWidth() - startX - 2, MinecraftClient.getInstance().getWindow().getScaledHeight());
}
diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultPotionEffectExclusionZones.java b/src/main/java/me/shedaniel/rei/plugin/DefaultPotionEffectExclusionZones.java
index a290b271d..295f33924 100644
--- a/src/main/java/me/shedaniel/rei/plugin/DefaultPotionEffectExclusionZones.java
+++ b/src/main/java/me/shedaniel/rei/plugin/DefaultPotionEffectExclusionZones.java
@@ -41,12 +41,12 @@ import java.util.function.Supplier;
public class DefaultPotionEffectExclusionZones implements Supplier<List<Rectangle>> {
@Override
public List<Rectangle> get() {
- if (!(ScreenHelper.getLastContainerScreen() instanceof AbstractInventoryScreen) || !((AbstractInventoryScreenHooks) ScreenHelper.getLastContainerScreen()).rei_doesOffsetGuiForEffects())
+ if (!(ScreenHelper.getLastScreenWithHandler() instanceof AbstractInventoryScreen) || !((AbstractInventoryScreenHooks) ScreenHelper.getLastScreenWithHandler()).rei_doesOffsetGuiForEffects())
return Collections.emptyList();
Collection<StatusEffectInstance> activePotionEffects = MinecraftClient.getInstance().player.getStatusEffects();
if (activePotionEffects.isEmpty())
return Collections.emptyList();
- ContainerScreenHooks hooks = ScreenHelper.getLastContainerScreenHooks();
+ ContainerScreenHooks hooks = ScreenHelper.getLastScreenWithHandlerHooks();
List<Rectangle> list = new ArrayList<>();
int x = hooks.rei_getContainerLeft() - 124;
int y = hooks.rei_getContainerTop();
diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultRecipeBookExclusionZones.java b/src/main/java/me/shedaniel/rei/plugin/DefaultRecipeBookExclusionZones.java
index 7a6d8c49d..51510f38e 100644
--- a/src/main/java/me/shedaniel/rei/plugin/DefaultRecipeBookExclusionZones.java
+++ b/src/main/java/me/shedaniel/rei/plugin/DefaultRecipeBookExclusionZones.java
@@ -29,8 +29,8 @@ import me.shedaniel.rei.impl.ScreenHelper;
import me.shedaniel.rei.listeners.ContainerScreenHooks;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.screen.recipebook.RecipeBookProvider;
-import net.minecraft.client.recipe.book.ClientRecipeBook;
-import net.minecraft.container.CraftingContainer;
+import net.minecraft.client.recipebook.ClientRecipeBook;
+import net.minecraft.screen.CraftingScreenHandler;
import java.util.Collections;
import java.util.List;
@@ -40,11 +40,11 @@ public class DefaultRecipeBookExclusionZones implements Supplier<List<Rectangle>
@Override
public List<Rectangle> get() {
- if (!MinecraftClient.getInstance().player.getRecipeBook().isGuiOpen() || !(MinecraftClient.getInstance().currentScreen instanceof RecipeBookProvider) || !(ScreenHelper.getLastContainerScreen().getContainer() instanceof CraftingContainer))
+ if (!MinecraftClient.getInstance().player.getRecipeBook().isGuiOpen() || !(MinecraftClient.getInstance().currentScreen instanceof RecipeBookProvider) || !(ScreenHelper.getLastScreenWithHandler().getScreenHandler() instanceof CraftingScreenHandler))
return Collections.emptyList();
- ContainerScreenHooks screenHooks = ScreenHelper.getLastContainerScreenHooks();
+ ContainerScreenHooks screenHooks = ScreenHelper.getLastScreenWithHandlerHooks();
List<Rectangle> l = Lists.newArrayList(new Rectangle(screenHooks.rei_getContainerLeft() - 4 - 145, screenHooks.rei_getContainerTop(), 4 + 145 + 30, screenHooks.rei_getContainerHeight()));
- int size = ClientRecipeBook.getGroupsForContainer((CraftingContainer<?>) ScreenHelper.getLastContainerScreen().getContainer()).size();
+ int size = ClientRecipeBook.getGroups((CraftingScreenHandler<?>) ScreenHelper.getLastScreenWithHandler().getScreenHandler()).size();
if (size > 0)
l.add(new Rectangle(screenHooks.rei_getContainerLeft() - 4 - 145 - 30, screenHooks.rei_getContainerTop(), 30, size * 27));
return l;
diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultServerContainerPlugin.java b/src/main/java/me/shedaniel/rei/plugin/DefaultServerContainerPlugin.java
index cdbfa789b..c3abc29c5 100644
--- a/src/main/java/me/shedaniel/rei/plugin/DefaultServerContainerPlugin.java
+++ b/src/main/java/me/shedaniel/rei/plugin/DefaultServerContainerPlugin.java
@@ -25,16 +25,16 @@ package me.shedaniel.rei.plugin;
import me.shedaniel.rei.plugin.containers.CraftingContainerInfoWrapper;
import me.shedaniel.rei.server.ContainerInfoHandler;
-import net.minecraft.container.*;
+import net.minecraft.screen.*;
import net.minecraft.util.Identifier;
public class DefaultServerContainerPlugin implements Runnable {
@Override
public void run() {
- ContainerInfoHandler.registerContainerInfo(new Identifier("minecraft", "plugins/crafting"), CraftingContainerInfoWrapper.create(CraftingTableContainer.class));
- ContainerInfoHandler.registerContainerInfo(new Identifier("minecraft", "plugins/crafting"), CraftingContainerInfoWrapper.create(PlayerContainer.class));
- ContainerInfoHandler.registerContainerInfo(new Identifier("minecraft", "plugins/smelting"), CraftingContainerInfoWrapper.create(FurnaceContainer.class));
- ContainerInfoHandler.registerContainerInfo(new Identifier("minecraft", "plugins/smoking"), CraftingContainerInfoWrapper.create(SmokerContainer.class));
- ContainerInfoHandler.registerContainerInfo(new Identifier("minecraft", "plugins/blasting"), CraftingContainerInfoWrapper.create(BlastFurnaceContainer.class));
+ ContainerInfoHandler.registerScreenWithHandlerInfo(new Identifier("minecraft", "plugins/crafting"), CraftingContainerInfoWrapper.create(CraftingTableScreenHandler.class));
+ ContainerInfoHandler.registerScreenWithHandlerInfo(new Identifier("minecraft", "plugins/crafting"), CraftingContainerInfoWrapper.create(PlayerScreenHandler.class));
+ ContainerInfoHandler.registerScreenWithHandlerInfo(new Identifier("minecraft", "plugins/smelting"), CraftingContainerInfoWrapper.create(FurnaceScreenHandler.class));
+ ContainerInfoHandler.registerScreenWithHandlerInfo(new Identifier("minecraft", "plugins/smoking"), CraftingContainerInfoWrapper.create(SmokerScreenHandler.class));
+ ContainerInfoHandler.registerScreenWithHandlerInfo(new Identifier("minecraft", "plugins/blasting"), CraftingContainerInfoWrapper.create(BlastFurnaceScreenHandler.class));
}
}
diff --git a/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultCategoryHandler.java b/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultCategoryHandler.java
index 8d63454a5..5b492e5fc 100644
--- a/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultCategoryHandler.java
+++ b/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultCategoryHandler.java
@@ -36,11 +36,11 @@ import me.shedaniel.rei.server.ContainerInfoHandler;
import net.fabricmc.fabric.api.network.ClientSidePacketRegistry;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.screen.Screen;
-import net.minecraft.client.gui.screen.ingame.ContainerScreen;
+import net.minecraft.client.gui.screen.ingame.ScreenWithHandler;
import net.minecraft.client.gui.screen.recipebook.RecipeBookProvider;
import net.minecraft.client.resource.language.I18n;
-import net.minecraft.container.Container;
import net.minecraft.item.ItemStack;
+import net.minecraft.screen.ScreenHandler;
import net.minecraft.util.DefaultedList;
import net.minecraft.util.PacketByteBuf;
@@ -57,14 +57,14 @@ public class DefaultCategoryHandler implements AutoTransferHandler {
if (!(context.getRecipe() instanceof TransferRecipeDisplay))
return Result.createNotApplicable();
TransferRecipeDisplay recipe = (TransferRecipeDisplay) context.getRecipe();
- ContainerScreen<?> containerScreen = context.getContainerScreen();
- Container container = containerScreen.getContainer();
- ContainerInfo<Container> containerInfo = (ContainerInfo<Container>) ContainerInfoHandler.getContainerInfo(recipe.getRecipeCategory(), container.getClass());
+ ScreenWithHandler<?> screenWithHandler = context.getScreenWithHandler();
+ ScreenHandler screenHandler = context.getScreenHandler();
+ ContainerInfo<ScreenHandler> containerInfo = (ContainerInfo<ScreenHandler>) ContainerInfoHandler.getContainerInfo(recipe.getRecipeCategory(), screenHandler.getClass());
if (containerInfo == null)
return Result.createNotApplicable();
- if (recipe.getHeight() > containerInfo.getCraftingHeight(container) || recipe.getWidth() > containerInfo.getCraftingWidth(container))
- return Result.createFailed(I18n.translate("error.rei.transfer.too_small", containerInfo.getCraftingWidth(container), containerInfo.getCraftingHeight(container)));
- List<List<EntryStack>> input = recipe.getOrganisedInputEntries(containerInfo, container);
+ if (recipe.getHeight() > containerInfo.getCraftingHeight(screenHandler) || recipe.getWidth() > containerInfo.getCraftingWidth(screenHandler))
+ return Result.createFailed(I18n.translate("error.rei.transfer.too_small", containerInfo.getCraftingWidth(screenHandler), containerInfo.getCraftingHeight(screenHandler)));
+ List<List<EntryStack>> input = recipe.getOrganisedInputEntries(containerInfo, screenHandler);
IntList intList = hasItems(input);
if (!intList.isEmpty())
return Result.createFailed("error.rei.not.enough.materials", intList);
@@ -73,9 +73,9 @@ public class DefaultCategoryHandler implements AutoTransferHandler {
if (!context.isActuallyCrafting())
return Result.createSuccessful();
- context.getMinecraft().openScreen(containerScreen);
- if (containerScreen instanceof RecipeBookProvider)
- ((RecipeBookGuiHooks) ((RecipeBookProvider) containerScreen).getRecipeBookWidget()).rei_getGhostSlots().reset();
+ context.getMinecraft().openScreen(screenWithHandler);
+ if (screenWithHandler instanceof RecipeBookProvider)
+ ((RecipeBookGuiHooks) ((RecipeBookProvider) screenWithHandler).getRecipeBookWidget()).rei_getGhostSlots().reset();
PacketByteBuf buf = new PacketByteBuf(Unpooled.buffer());
buf.writeIdentifier(recipe.getRecipeCategory());
buf.writeBoolean(Screen.hasShiftDown());
diff --git a/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultRecipeBookHandler.java b/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultRecipeBookHandler.java
index 761dafd73..b16e41e2c 100644
--- a/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultRecipeBookHandler.java
+++ b/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultRecipeBookHandler.java
@@ -33,10 +33,10 @@ import me.shedaniel.rei.plugin.crafting.DefaultCraftingDisplay;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.screen.recipebook.RecipeBookProvider;
import net.minecraft.client.resource.language.I18n;
-import net.minecraft.container.CraftingContainer;
-import net.minecraft.container.CraftingTableContainer;
-import net.minecraft.container.PlayerContainer;
import net.minecraft.recipe.Recipe;
+import net.minecraft.screen.CraftingScreenHandler;
+import net.minecraft.screen.CraftingTableScreenHandler;
+import net.minecraft.screen.PlayerScreenHandler;
public class DefaultRecipeBookHandler implements AutoTransferHandler {
@Override
@@ -44,17 +44,17 @@ public class DefaultRecipeBookHandler implements AutoTransferHandler {
if (context.getRecipe() instanceof TransferRecipeDisplay && DefaultCategoryHandler.canUseMovePackets())
return Result.createNotApplicable();
RecipeDisplay display = context.getRecipe();
- if (!(context.getContainer() instanceof CraftingContainer))
+ if (!(context.getScreenHandler() instanceof CraftingScreenHandler))
return Result.createNotApplicable();
- CraftingContainer<?> container = (CraftingContainer<?>) context.getContainer();
+ CraftingScreenHandler<?> container = (CraftingScreenHandler<?>) context.getScreenHandler();
if (display instanceof DefaultCraftingDisplay) {
DefaultCraftingDisplay craftingDisplay = (DefaultCraftingDisplay) display;
if (craftingDisplay.getOptionalRecipe().isPresent()) {
int h = -1, w = -1;
- if (container instanceof CraftingTableContainer) {
+ if (container instanceof CraftingTableScreenHandler) {
h = 3;
w = 3;
- } else if (container instanceof PlayerContainer) {
+ } else if (container instanceof PlayerScreenHandler) {
h = 2;
w = 2;
}
@@ -67,9 +67,9 @@ public class DefaultRecipeBookHandler implements AutoTransferHandler {
return Result.createFailed(I18n.translate("error.rei.recipe.not.unlocked"));
if (!context.isActuallyCrafting())
return Result.createSuccessful();
- context.getMinecraft().openScreen(context.getContainerScreen());
- if (context.getContainerScreen() instanceof RecipeBookProvider)
- ((RecipeBookGuiHooks) ((RecipeBookProvider) context.getContainerScreen()).getRecipeBookWidget()).rei_getGhostSlots().reset();
+ context.getMinecraft().openScreen(context.getScreenWithHandler());
+ if (context.getScreenWithHandler() instanceof RecipeBookProvider)
+ ((RecipeBookGuiHooks) ((RecipeBookProvider) context.getScreenWithHandler()).getRecipeBookWidget()).rei_getGhostSlots().reset();
context.getMinecraft().interactionManager.clickRecipe(container.syncId, recipe, Screen.hasShiftDown());
ScreenHelper.getLastOverlay().init();
}
@@ -81,9 +81,9 @@ public class DefaultRecipeBookHandler implements AutoTransferHandler {
return Result.createFailed(I18n.translate("error.rei.recipe.not.unlocked"));
if (!context.isActuallyCrafting())
return Result.createSuccessful();
- context.getMinecraft().openScreen(context.getContainerScreen());
- if (context.getContainerScreen() instanceof RecipeBookProvider)
- ((RecipeBookGuiHooks) ((RecipeBookProvider) context.getContainerScreen()).getRecipeBookWidget()).rei_getGhostSlots().reset();
+ context.getMinecraft().openScreen(context.getScreenWithHandler());
+ if (context.getScreenWithHandler() instanceof RecipeBookProvider)
+ ((RecipeBookGuiHooks) ((RecipeBookProvider) context.getScreenWithHandler()).getRecipeBookWidget()).rei_getGhostSlots().reset();
context.getMinecraft().interactionManager.clickRecipe(container.syncId, recipe, Screen.hasShiftDown());
ScreenHelper.getLastOverlay().init();
}
diff --git a/src/main/java/me/shedaniel/rei/plugin/containers/CraftingContainerInfoWrapper.java b/src/main/java/me/shedaniel/rei/plugin/containers/CraftingContainerInfoWrapper.java
index 4f1076f2f..58785a5df 100644
--- a/src/main/java/me/shedaniel/rei/plugin/containers/CraftingContainerInfoWrapper.java
+++ b/src/main/java/me/shedaniel/rei/plugin/containers/CraftingContainerInfoWrapper.java
@@ -25,23 +25,23 @@ package me.shedaniel.rei.plugin.containers;
import me.shedaniel.rei.server.ContainerInfo;
import me.shedaniel.rei.server.RecipeFinder;
-import net.minecraft.container.Container;
-import net.minecraft.container.CraftingContainer;
import net.minecraft.item.ItemStack;
+import net.minecraft.screen.CraftingScreenHandler;
+import net.minecraft.screen.ScreenHandler;
-public class CraftingContainerInfoWrapper<T extends CraftingContainer<?>> implements ContainerInfo<T> {
- private Class<? extends CraftingContainer<?>> containerClass;
+public class CraftingContainerInfoWrapper<T extends CraftingScreenHandler<?>> implements ContainerInfo<T> {
+ private Class<? extends CraftingScreenHandler<?>> containerClass;
public CraftingContainerInfoWrapper(Class<T> containerClass) {
this.containerClass = containerClass;
}
- public static <R extends CraftingContainer<?>> ContainerInfo<R> create(Class<R> containerClass) {
+ public static <R extends CraftingScreenHandler<?>> ContainerInfo<R> create(Class<R> containerClass) {
return new CraftingContainerInfoWrapper<>(containerClass);
}
@Override
- public Class<? extends Container> getContainerClass() {
+ public Class<? extends ScreenHandler> getContainerClass() {
return containerClass;
}
diff --git a/src/main/java/me/shedaniel/rei/plugin/cooking/DefaultCookingDisplay.java b/src/main/java/me/shedaniel/rei/plugin/cooking/DefaultCookingDisplay.java
index 0aa35f4d7..05229347c 100644
--- a/src/main/java/me/shedaniel/rei/plugin/cooking/DefaultCookingDisplay.java
+++ b/src/main/java/me/shedaniel/rei/plugin/cooking/DefaultCookingDisplay.java
@@ -29,9 +29,9 @@ import me.shedaniel.rei.server.ContainerInfo;
import me.shedaniel.rei.utils.CollectionUtils;
import net.minecraft.block.entity.FurnaceBlockEntity;
import net.minecraft.client.resource.language.I18n;
-import net.minecraft.container.Container;
import net.minecraft.item.Item;
import net.minecraft.recipe.AbstractCookingRecipe;
+import net.minecraft.screen.ScreenHandler;
import net.minecraft.util.Formatting;
import net.minecraft.util.Identifier;
import org.jetbrains.annotations.ApiStatus;
@@ -110,7 +110,7 @@ public abstract class DefaultCookingDisplay implements TransferRecipeDisplay {
}
@Override
- public List<List<EntryStack>> getOrganisedInputEntries(ContainerInfo<Container> containerInfo, Container container) {
+ public List<List<EntryStack>> getOrganisedInputEntries(ContainerInfo<ScreenHandler> containerInfo, ScreenHandler container) {
return input;
}
diff --git a/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultCraftingCategory.java b/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultCraftingCategory.java
index 4839a0355..675deecec 100644
--- a/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultCraftingCategory.java
+++ b/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultCraftingCategory.java
@@ -40,7 +40,7 @@ import me.shedaniel.rei.server.ContainerInfoHandler;
import net.minecraft.block.Blocks;
import net.minecraft.client.gui.DrawableHelper;
import net.minecraft.client.resource.language.I18n;
-import net.minecraft.container.Container;
+import net.minecraft.screen.ScreenHandler;
import net.minecraft.util.Identifier;
import net.minecraft.util.math.MathHelper;
@@ -95,12 +95,12 @@ public class DefaultCraftingCategory implements TransferRecipeCategory<DefaultCr
@Override
public void renderRedSlots(List<Widget> widgets, me.shedaniel.math.api.Rectangle bounds, DefaultCraftingDisplay display, IntList redSlots) {
- ContainerInfo<Container> info = (ContainerInfo<Container>) ContainerInfoHandler.getContainerInfo(getIdentifier(), ScreenHelper.getLastContainerScreen().getContainer().getClass());
+ ContainerInfo<ScreenHandler> info = (ContainerInfo<ScreenHandler>) ContainerInfoHandler.getContainerInfo(getIdentifier(), ScreenHelper.getLastScreenWithHandler().getScreenHandler().getClass());
if (info == null)
return;
RenderSystem.translatef(0, 0, 400);
Point startPoint = new Point(bounds.getCenterX() - 58, bounds.getCenterY() - 27);
- int width = info.getCraftingWidth(ScreenHelper.getLastContainerScreen().getContainer());
+ int width = info.getCraftingWidth(ScreenHelper.getLastScreenWithHandler().getScreenHandler());
for (Integer slot : redSlots) {
int i = slot;
int x = i % width;
diff --git a/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultCraftingDisplay.java b/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultCraftingDisplay.java
index 44654b894..b6e69ae4a 100644
--- a/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultCraftingDisplay.java
+++ b/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultCraftingDisplay.java
@@ -28,8 +28,8 @@ import me.shedaniel.rei.api.EntryStack;
import me.shedaniel.rei.api.TransferRecipeDisplay;
import me.shedaniel.rei.plugin.DefaultPlugin;
import me.shedaniel.rei.server.ContainerInfo;
-import net.minecraft.container.Container;
import net.minecraft.recipe.Recipe;
+import net.minecraft.screen.ScreenHandler;
import net.minecraft.util.Identifier;
import java.util.Collections;
@@ -56,7 +56,7 @@ public interface DefaultCraftingDisplay extends TransferRecipeDisplay {
Optional<Recipe<?>> getOptionalRecipe();
@Override
- default List<List<EntryStack>> getOrganisedInputEntries(ContainerInfo<Container> containerInfo, Container container) {
+ default List<List<EntryStack>> getOrganisedInputEntries(ContainerInfo<ScreenHandler> containerInfo, ScreenHandler container) {
List<List<EntryStack>> list = Lists.newArrayListWithCapacity(containerInfo.getCraftingWidth(container) * containerInfo.getCraftingHeight(container));
for (int i = 0; i < containerInfo.getCraftingWidth(container) * containerInfo.getCraftingHeight(container); i++) {
list.add(Collections.emptyList());
diff --git a/src/main/java/me/shedaniel/rei/plugin/stonecutting/DefaultStoneCuttingCategory.java b/src/main/java/me/shedaniel/rei/plugin/stonecutting/DefaultStoneCuttingCategory.java
index a9d1bee8d..b335d7974 100644
--- a/src/main/java/me/shedaniel/rei/plugin/stonecutting/DefaultStoneCuttingCategory.java
+++ b/src/main/java/me/shedaniel/rei/plugin/stonecutting/DefaultStoneCuttingCategory.java
@@ -29,7 +29,6 @@ import me.shedaniel.math.Rectangle;
import me.shedaniel.rei.api.EntryStack;
import me.shedaniel.rei.api.RecipeCategory;
import me.shedaniel.rei.api.widgets.Widgets;
-import me.shedaniel.rei.gui.widget.EntryWidget;
import me.shedaniel.rei.gui.widget.Widget;
import me.shedaniel.rei.plugin.DefaultPlugin;
import net.minecraft.block.Blocks;