aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/plugin
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2020-05-09 00:26:18 +0800
committershedaniel <daniel@shedaniel.me>2020-05-09 00:26:18 +0800
commitc27630f0c0eb7e5084f28139aaf2ba45ff3a7e23 (patch)
tree6ffc4062b4207ced1eb17bfdb51c5d2a865e9d06 /src/main/java/me/shedaniel/rei/plugin
parent9662f0e452a0e1ac23de3f39861d15db7db5b1cc (diff)
downloadRoughlyEnoughItems-c27630f0c0eb7e5084f28139aaf2ba45ff3a7e23.tar.gz
RoughlyEnoughItems-c27630f0c0eb7e5084f28139aaf2ba45ff3a7e23.tar.bz2
RoughlyEnoughItems-c27630f0c0eb7e5084f28139aaf2ba45ff3a7e23.zip
Welcome back: Container
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.java12
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultPotionEffectExclusionZones.java10
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultRecipeBookExclusionZones.java14
-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/information/DefaultInformationCategory.java2
11 files changed, 62 insertions, 62 deletions
diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java b/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java
index 76495ed77..a8e81d37e 100644
--- a/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java
+++ b/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java
@@ -299,20 +299,20 @@ public class DefaultPlugin implements REIPluginV0 {
return Collections.emptyList();
return Collections.singletonList(widget.getBounds().clone());
});
- displayHelper.registerHandler(new DisplayHelper.DisplayBoundsHandler<HandledScreen<?>>() {
+ displayHelper.registerHandler(new DisplayHelper.DisplayBoundsHandler<ContainerScreen<?>>() {
@Override
public Class<?> getBaseSupportedClass() {
- return HandledScreen.class;
+ return ContainerScreen.class;
}
@Override
- public Rectangle getLeftBounds(HandledScreen<?> screen) {
+ public Rectangle getLeftBounds(ContainerScreen<?> screen) {
return new Rectangle(2, 0, screen.x - 4, screen.height);
}
@Override
- public Rectangle getRightBounds(HandledScreen<?> screen) {
- int startX = screen.x + screen.backgroundWidth + 2;
+ public Rectangle getRightBounds(ContainerScreen<?> screen) {
+ int startX = screen.x + screen.containerWidth + 2;
return new Rectangle(startX, 0, screen.width - startX - 2, screen.height);
}
@@ -392,7 +392,7 @@ public class DefaultPlugin implements REIPluginV0 {
recipeHelper.removeAutoCraftButton(COMPOSTING);
recipeHelper.removeAutoCraftButton(BEACON);
recipeHelper.removeAutoCraftButton(INFO);
- recipeHelper.registerScreenClickArea(new Rectangle(88, 32, 28, 23), CraftingScreen.class, CRAFTING);
+ recipeHelper.registerScreenClickArea(new Rectangle(88, 32, 28, 23), CraftingTableScreen.class, CRAFTING);
recipeHelper.registerScreenClickArea(new Rectangle(137, 29, 10, 13), InventoryScreen.class, CRAFTING);
recipeHelper.registerScreenClickArea(new Rectangle(97, 16, 14, 30), BrewingStandScreen.class, BREWING);
recipeHelper.registerScreenClickArea(new Rectangle(78, 32, 28, 23), FurnaceScreen.class, SMELTING);
diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultPotionEffectExclusionZones.java b/src/main/java/me/shedaniel/rei/plugin/DefaultPotionEffectExclusionZones.java
index 024eea242..0dbd2df61 100644
--- a/src/main/java/me/shedaniel/rei/plugin/DefaultPotionEffectExclusionZones.java
+++ b/src/main/java/me/shedaniel/rei/plugin/DefaultPotionEffectExclusionZones.java
@@ -28,7 +28,7 @@ import me.shedaniel.math.Rectangle;
import me.shedaniel.rei.api.REIHelper;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.screen.ingame.AbstractInventoryScreen;
-import net.minecraft.client.gui.screen.ingame.HandledScreen;
+import net.minecraft.client.gui.screen.ingame.ContainerScreen;
import net.minecraft.entity.effect.StatusEffectInstance;
import java.util.ArrayList;
@@ -40,15 +40,15 @@ import java.util.function.Supplier;
public class DefaultPotionEffectExclusionZones implements Supplier<List<Rectangle>> {
@Override
public List<Rectangle> get() {
- if (!(REIHelper.getInstance().getPreviousHandledScreen() instanceof AbstractInventoryScreen) || !((AbstractInventoryScreen<?>) REIHelper.getInstance().getPreviousHandledScreen()).drawStatusEffects)
+ if (!(REIHelper.getInstance().getPreviousContainerScreen() instanceof AbstractInventoryScreen) || !((AbstractInventoryScreen<?>) REIHelper.getInstance().getPreviousContainerScreen()).offsetGuiForEffects)
return Collections.emptyList();
Collection<StatusEffectInstance> activePotionEffects = MinecraftClient.getInstance().player.getStatusEffects();
if (activePotionEffects.isEmpty())
return Collections.emptyList();
- HandledScreen<?> handledScreen = REIHelper.getInstance().getPreviousHandledScreen();
+ ContainerScreen<?> containerScreen = REIHelper.getInstance().getPreviousContainerScreen();
List<Rectangle> list = new ArrayList<>();
- int x = handledScreen.x - 124;
- int y = handledScreen.y;
+ int x = containerScreen.x - 124;
+ int y = containerScreen.y;
int height = 33;
if (activePotionEffects.size() > 5)
height = 132 / (activePotionEffects.size() - 1);
diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultRecipeBookExclusionZones.java b/src/main/java/me/shedaniel/rei/plugin/DefaultRecipeBookExclusionZones.java
index 98565e321..ff5a14025 100644
--- a/src/main/java/me/shedaniel/rei/plugin/DefaultRecipeBookExclusionZones.java
+++ b/src/main/java/me/shedaniel/rei/plugin/DefaultRecipeBookExclusionZones.java
@@ -27,10 +27,10 @@ import com.google.common.collect.Lists;
import me.shedaniel.math.Rectangle;
import me.shedaniel.rei.api.REIHelper;
import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.gui.screen.ingame.HandledScreen;
+import net.minecraft.client.gui.screen.ingame.ContainerScreen;
import net.minecraft.client.gui.screen.recipebook.RecipeBookProvider;
import net.minecraft.client.recipebook.ClientRecipeBook;
-import net.minecraft.screen.AbstractRecipeScreenHandler;
+import net.minecraft.container.CraftingContainer;
import java.util.Collections;
import java.util.List;
@@ -40,13 +40,13 @@ public class DefaultRecipeBookExclusionZones implements Supplier<List<Rectangle>
@Override
public List<Rectangle> get() {
- if (!MinecraftClient.getInstance().player.getRecipeBook().isGuiOpen() || !(MinecraftClient.getInstance().currentScreen instanceof RecipeBookProvider) || !(REIHelper.getInstance().getPreviousHandledScreen().getScreenHandler() instanceof AbstractRecipeScreenHandler))
+ if (!MinecraftClient.getInstance().player.getRecipeBook().isGuiOpen() || !(MinecraftClient.getInstance().currentScreen instanceof RecipeBookProvider) || !(REIHelper.getInstance().getPreviousContainerScreen().getContainer() instanceof CraftingContainer))
return Collections.emptyList();
- HandledScreen<?> handledScreen = REIHelper.getInstance().getPreviousHandledScreen();
- List<Rectangle> l = Lists.newArrayList(new Rectangle(handledScreen.x - 4 - 145, handledScreen.y, 4 + 145 + 30, handledScreen.backgroundHeight));
- int size = ClientRecipeBook.getGroups((AbstractRecipeScreenHandler<?>) REIHelper.getInstance().getPreviousHandledScreen().getScreenHandler()).size();
+ ContainerScreen<?> containerScreen = REIHelper.getInstance().getPreviousContainerScreen();
+ List<Rectangle> l = Lists.newArrayList(new Rectangle(containerScreen.x - 4 - 145, containerScreen.y, 4 + 145 + 30, containerScreen.containerHeight));
+ int size = ClientRecipeBook.getGroupsForContainer((CraftingContainer<?>) REIHelper.getInstance().getPreviousContainerScreen().getContainer()).size();
if (size > 0)
- l.add(new Rectangle(handledScreen.x - 4 - 145 - 30, handledScreen.y, 30, size * 27));
+ l.add(new Rectangle(containerScreen.x - 4 - 145 - 30, containerScreen.y, 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 1573669c3..cdbfa789b 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.screen.*;
+import net.minecraft.container.*;
import net.minecraft.util.Identifier;
public class DefaultServerContainerPlugin implements Runnable {
@Override
public void run() {
- ContainerInfoHandler.registerScreenWithHandlerInfo(new Identifier("minecraft", "plugins/crafting"), CraftingContainerInfoWrapper.create(CraftingScreenHandler.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));
+ 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));
}
}
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 6827ed92b..2dc9a4a32 100644
--- a/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultCategoryHandler.java
+++ b/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultCategoryHandler.java
@@ -35,12 +35,12 @@ 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.HandledScreen;
+import net.minecraft.client.gui.screen.ingame.ContainerScreen;
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.network.PacketByteBuf;
-import net.minecraft.screen.ScreenHandler;
import net.minecraft.util.collection.DefaultedList;
import java.util.List;
@@ -56,14 +56,14 @@ public class DefaultCategoryHandler implements AutoTransferHandler {
if (!(context.getRecipe() instanceof TransferRecipeDisplay))
return Result.createNotApplicable();
TransferRecipeDisplay recipe = (TransferRecipeDisplay) context.getRecipe();
- HandledScreen<?> handledScreen = context.getHandledScreen();
- ScreenHandler screenHandler = context.getScreenHandler();
- ContainerInfo<ScreenHandler> containerInfo = (ContainerInfo<ScreenHandler>) ContainerInfoHandler.getContainerInfo(recipe.getRecipeCategory(), screenHandler.getClass());
+ ContainerScreen<?> containerScreen = context.getContainerScreen();
+ Container container = context.getContainer();
+ ContainerInfo<Container> containerInfo = (ContainerInfo<Container>) ContainerInfoHandler.getContainerInfo(recipe.getRecipeCategory(), container.getClass());
if (containerInfo == null)
return Result.createNotApplicable();
- 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);
+ 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);
IntList intList = hasItems(input);
if (!intList.isEmpty())
return Result.createFailed("error.rei.not.enough.materials", intList);
@@ -72,9 +72,9 @@ public class DefaultCategoryHandler implements AutoTransferHandler {
if (!context.isActuallyCrafting())
return Result.createSuccessful();
- context.getMinecraft().openScreen(handledScreen);
- if (handledScreen instanceof RecipeBookProvider)
- ((RecipeBookProvider) handledScreen).getRecipeBookWidget().ghostSlots.reset();
+ context.getMinecraft().openScreen(containerScreen);
+ if (containerScreen instanceof RecipeBookProvider)
+ ((RecipeBookProvider) containerScreen).getRecipeBookWidget().ghostSlots.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 ae939e5bc..b9f96a27d 100644
--- a/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultRecipeBookHandler.java
+++ b/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultRecipeBookHandler.java
@@ -32,10 +32,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.AbstractRecipeScreenHandler;
-import net.minecraft.screen.CraftingScreenHandler;
-import net.minecraft.screen.PlayerScreenHandler;
public class DefaultRecipeBookHandler implements AutoTransferHandler {
@Override
@@ -43,17 +43,17 @@ public class DefaultRecipeBookHandler implements AutoTransferHandler {
if (context.getRecipe() instanceof TransferRecipeDisplay && DefaultCategoryHandler.canUseMovePackets())
return Result.createNotApplicable();
RecipeDisplay display = context.getRecipe();
- if (!(context.getScreenHandler() instanceof AbstractRecipeScreenHandler))
+ if (!(context.getContainer() instanceof CraftingContainer))
return Result.createNotApplicable();
- AbstractRecipeScreenHandler<?> container = (AbstractRecipeScreenHandler<?>) context.getScreenHandler();
+ CraftingContainer<?> container = (CraftingContainer<?>) context.getContainer();
if (display instanceof DefaultCraftingDisplay) {
DefaultCraftingDisplay craftingDisplay = (DefaultCraftingDisplay) display;
if (craftingDisplay.getOptionalRecipe().isPresent()) {
int h = -1, w = -1;
- if (container instanceof CraftingScreenHandler) {
+ if (container instanceof CraftingTableContainer) {
h = 3;
w = 3;
- } else if (container instanceof PlayerScreenHandler) {
+ } else if (container instanceof PlayerContainer) {
h = 2;
w = 2;
}
@@ -66,9 +66,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.getHandledScreen());
- if (context.getHandledScreen() instanceof RecipeBookProvider)
- ((RecipeBookProvider) context.getHandledScreen()).getRecipeBookWidget().ghostSlots.reset();
+ context.getMinecraft().openScreen(context.getContainerScreen());
+ if (context.getContainerScreen() instanceof RecipeBookProvider)
+ ((RecipeBookProvider) context.getContainerScreen()).getRecipeBookWidget().ghostSlots.reset();
context.getMinecraft().interactionManager.clickRecipe(container.syncId, recipe, Screen.hasShiftDown());
ScreenHelper.getLastOverlay().init();
}
@@ -80,9 +80,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.getHandledScreen());
- if (context.getHandledScreen() instanceof RecipeBookProvider)
- ((RecipeBookProvider) context.getHandledScreen()).getRecipeBookWidget().ghostSlots.reset();
+ context.getMinecraft().openScreen(context.getContainerScreen());
+ if (context.getContainerScreen() instanceof RecipeBookProvider)
+ ((RecipeBookProvider) context.getContainerScreen()).getRecipeBookWidget().ghostSlots.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 60dc3abb1..4f1076f2f 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.AbstractRecipeScreenHandler;
-import net.minecraft.screen.ScreenHandler;
-public class CraftingContainerInfoWrapper<T extends AbstractRecipeScreenHandler<?>> implements ContainerInfo<T> {
- private Class<? extends AbstractRecipeScreenHandler<?>> containerClass;
+public class CraftingContainerInfoWrapper<T extends CraftingContainer<?>> implements ContainerInfo<T> {
+ private Class<? extends CraftingContainer<?>> containerClass;
public CraftingContainerInfoWrapper(Class<T> containerClass) {
this.containerClass = containerClass;
}
- public static <R extends AbstractRecipeScreenHandler<?>> ContainerInfo<R> create(Class<R> containerClass) {
+ public static <R extends CraftingContainer<?>> ContainerInfo<R> create(Class<R> containerClass) {
return new CraftingContainerInfoWrapper<>(containerClass);
}
@Override
- public Class<? extends ScreenHandler> getContainerClass() {
+ public Class<? extends Container> 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 575c9701d..02f5e57eb 100644
--- a/src/main/java/me/shedaniel/rei/plugin/cooking/DefaultCookingDisplay.java
+++ b/src/main/java/me/shedaniel/rei/plugin/cooking/DefaultCookingDisplay.java
@@ -28,9 +28,9 @@ import me.shedaniel.rei.api.TransferRecipeDisplay;
import me.shedaniel.rei.server.ContainerInfo;
import me.shedaniel.rei.utils.CollectionUtils;
import net.minecraft.block.entity.FurnaceBlockEntity;
+import net.minecraft.container.Container;
import net.minecraft.item.Item;
import net.minecraft.recipe.AbstractCookingRecipe;
-import net.minecraft.screen.ScreenHandler;
import net.minecraft.text.TranslatableText;
import net.minecraft.util.Formatting;
import net.minecraft.util.Identifier;
@@ -110,7 +110,7 @@ public abstract class DefaultCookingDisplay implements TransferRecipeDisplay {
}
@Override
- public List<List<EntryStack>> getOrganisedInputEntries(ContainerInfo<ScreenHandler> containerInfo, ScreenHandler container) {
+ public List<List<EntryStack>> getOrganisedInputEntries(ContainerInfo<Container> containerInfo, Container 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 b67509891..e5cb1a9a7 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 net.minecraft.block.Blocks;
import net.minecraft.client.gui.DrawableHelper;
import net.minecraft.client.resource.language.I18n;
import net.minecraft.client.util.math.MatrixStack;
-import net.minecraft.screen.ScreenHandler;
+import net.minecraft.container.Container;
import net.minecraft.util.Identifier;
import net.minecraft.util.math.MathHelper;
@@ -95,13 +95,13 @@ public class DefaultCraftingCategory implements TransferRecipeCategory<DefaultCr
@Override
public void renderRedSlots(MatrixStack matrices, List<Widget> widgets, Rectangle bounds, DefaultCraftingDisplay display, IntList redSlots) {
- ContainerInfo<ScreenHandler> info = (ContainerInfo<ScreenHandler>) ContainerInfoHandler.getContainerInfo(getIdentifier(), REIHelper.getInstance().getPreviousHandledScreen().getScreenHandler().getClass());
+ ContainerInfo<Container> info = (ContainerInfo<Container>) ContainerInfoHandler.getContainerInfo(getIdentifier(), REIHelper.getInstance().getPreviousContainerScreen().getContainer().getClass());
if (info == null)
return;
matrices.push();
matrices.translate(0, 0, 400);
Point startPoint = new Point(bounds.getCenterX() - 58, bounds.getCenterY() - 27);
- int width = info.getCraftingWidth(REIHelper.getInstance().getPreviousHandledScreen().getScreenHandler());
+ int width = info.getCraftingWidth(REIHelper.getInstance().getPreviousContainerScreen().getContainer());
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 b6e69ae4a..44654b894 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<ScreenHandler> containerInfo, ScreenHandler container) {
+ default List<List<EntryStack>> getOrganisedInputEntries(ContainerInfo<Container> containerInfo, Container 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/information/DefaultInformationCategory.java b/src/main/java/me/shedaniel/rei/plugin/information/DefaultInformationCategory.java
index 7d22bda0d..6eeb85d0f 100644
--- a/src/main/java/me/shedaniel/rei/plugin/information/DefaultInformationCategory.java
+++ b/src/main/java/me/shedaniel/rei/plugin/information/DefaultInformationCategory.java
@@ -157,7 +157,7 @@ public class DefaultInformationCategory implements RecipeCategory<DefaultInforma
for (Text text : texts) {
if (!this.texts.isEmpty())
this.texts.add(null);
- this.texts.addAll(MinecraftClient.getInstance().textRenderer.wrapLines(text, bounds.width - 11));
+ this.texts.addAll(MinecraftClient.getInstance().textRenderer.wrapStringToWidthAsList(text, bounds.width - 11));
}
}