aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
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
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')
-rw-r--r--src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java22
-rw-r--r--src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java14
-rw-r--r--src/main/java/me/shedaniel/rei/api/AutoTransferHandler.java37
-rw-r--r--src/main/java/me/shedaniel/rei/api/RecipeHelper.java6
-rw-r--r--src/main/java/me/shedaniel/rei/api/TransferRecipeDisplay.java4
-rw-r--r--src/main/java/me/shedaniel/rei/gui/ConfigReloadingScreen.java6
-rw-r--r--src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java36
-rw-r--r--src/main/java/me/shedaniel/rei/gui/PreRecipeViewingScreen.java14
-rw-r--r--src/main/java/me/shedaniel/rei/gui/RecipeViewingScreen.java18
-rw-r--r--src/main/java/me/shedaniel/rei/gui/VillagerRecipeViewingScreen.java8
-rw-r--r--src/main/java/me/shedaniel/rei/gui/credits/CreditsScreen.java16
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/AutoCraftingButtonWidget.java12
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/ButtonWidget.java20
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/CraftableToggleButtonWidget.java8
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/TextFieldWidget.java8
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/Widget.java4
-rw-r--r--src/main/java/me/shedaniel/rei/impl/AbstractEntryStack.java4
-rw-r--r--src/main/java/me/shedaniel/rei/impl/ClientHelperImpl.java4
-rw-r--r--src/main/java/me/shedaniel/rei/impl/ConfigManagerImpl.java2
-rw-r--r--src/main/java/me/shedaniel/rei/impl/RecipeHelperImpl.java12
-rw-r--r--src/main/java/me/shedaniel/rei/impl/RenderingEntry.java4
-rw-r--r--src/main/java/me/shedaniel/rei/impl/ScreenHelper.java36
-rw-r--r--src/main/java/me/shedaniel/rei/impl/widgets/FillRectangleDrawableConsumer.java8
-rw-r--r--src/main/java/me/shedaniel/rei/impl/widgets/TexturedDrawableConsumer.java2
-rw-r--r--src/main/java/me/shedaniel/rei/listeners/ContainerScreenHooks.java10
-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
-rw-r--r--src/main/java/me/shedaniel/rei/server/ContainerInfo.java6
-rw-r--r--src/main/java/me/shedaniel/rei/server/ContainerInfoHandler.java19
-rw-r--r--src/main/java/me/shedaniel/rei/server/InputSlotCrafter.java49
39 files changed, 270 insertions, 234 deletions
diff --git a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java
index 17afa2d4a..7145848f8 100644
--- a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java
+++ b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java
@@ -40,22 +40,22 @@ import net.fabricmc.loader.api.ModContainer;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.Element;
import net.minecraft.client.gui.screen.Screen;
-import net.minecraft.client.gui.screen.ingame.ContainerScreen;
import net.minecraft.client.gui.screen.ingame.CraftingTableScreen;
import net.minecraft.client.gui.screen.ingame.CreativeInventoryScreen;
import net.minecraft.client.gui.screen.ingame.InventoryScreen;
+import net.minecraft.client.gui.screen.ingame.ScreenWithHandler;
import net.minecraft.client.gui.screen.recipebook.RecipeBookGhostSlots;
import net.minecraft.client.gui.screen.recipebook.RecipeBookProvider;
import net.minecraft.client.gui.screen.recipebook.RecipeBookWidget;
import net.minecraft.client.gui.widget.TextFieldWidget;
import net.minecraft.client.gui.widget.TexturedButtonWidget;
import net.minecraft.client.resource.language.I18n;
-import net.minecraft.container.CraftingTableContainer;
-import net.minecraft.container.Slot;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.recipe.Ingredient;
import net.minecraft.recipe.RecipeManager;
+import net.minecraft.screen.CraftingTableScreenHandler;
+import net.minecraft.screen.slot.Slot;
import net.minecraft.text.LiteralText;
import net.minecraft.util.ActionResult;
import net.minecraft.util.Identifier;
@@ -205,11 +205,11 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer {
}
ghostSlots.addSlot(Ingredient.ofItems(Items.STONE), 381203812, 12738291);
- CraftingTableContainer container = ((CraftingTableScreen) currentScreen).getContainer();
+ CraftingTableScreenHandler screenHandler = ((CraftingTableScreen) currentScreen).getScreenHandler();
for (int i = 0; i < input.size(); i++) {
List<ItemStack> stacks = input.get(i);
if (!stacks.isEmpty()) {
- Slot slot = container.getSlot(i + container.getCraftingResultSlotIndex() + 1);
+ Slot slot = screenHandler.getSlot(i + screenHandler.getCraftingResultSlotIndex() + 1);
ghostSlots.addSlot(Ingredient.ofStacks(stacks.toArray(new ItemStack[0])), slot.xPosition, slot.yPosition);
}
}
@@ -253,7 +253,7 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer {
continue;
ActionResult result = decider.shouldScreenBeOverlayed(screen);
if (result != ActionResult.PASS)
- return result == ActionResult.FAIL || ScreenHelper.getLastContainerScreenHooks() == null;
+ return result == ActionResult.FAIL || ScreenHelper.getLastScreenWithHandlerHooks() == null;
}
return true;
}
@@ -263,7 +263,7 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer {
long[] lastSync = {-1};
ClothClientHooks.SYNC_RECIPES.register((minecraftClient, recipeManager, synchronizeRecipesS2CPacket) -> syncRecipes(lastSync));
ClothClientHooks.SCREEN_ADD_BUTTON.register((minecraftClient, screen, abstractButtonWidget) -> {
- if (ConfigObject.getInstance().doesDisableRecipeBook() && screen instanceof ContainerScreen && abstractButtonWidget instanceof TexturedButtonWidget)
+ if (ConfigObject.getInstance().doesDisableRecipeBook() && screen instanceof ScreenWithHandler && abstractButtonWidget instanceof TexturedButtonWidget)
if (((RecipeBookButtonWidgetHooks) abstractButtonWidget).rei_getTexture().equals(recipeButtonTex))
return ActionResult.FAIL;
return ActionResult.PASS;
@@ -273,8 +273,8 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer {
return;
if (shouldReturn(screen.getClass()))
return;
- if (screen instanceof ContainerScreen)
- ScreenHelper.setLastContainerScreen((ContainerScreen<?>) screen);
+ if (screen instanceof ScreenWithHandler)
+ ScreenHelper.setLastScreenWithHandler((ScreenWithHandler<?>) screen);
boolean alreadyAdded = false;
for (Element element : Lists.newArrayList(screenHooks.cloth_getChildren()))
if (ContainerScreenOverlay.class.isAssignableFrom(element.getClass()))
@@ -335,9 +335,9 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer {
return ActionResult.PASS;
if (ScreenHelper.getLastOverlay().keyPressed(i, i1, i2))
return ActionResult.SUCCESS;
- if (screen instanceof ContainerScreen && ConfigObject.getInstance().doesDisableRecipeBook() && ConfigObject.getInstance().doesFixTabCloseContainer())
+ if (screen instanceof ScreenWithHandler && ConfigObject.getInstance().doesDisableRecipeBook() && ConfigObject.getInstance().doesFixTabCloseContainer())
if (i == 258 && minecraftClient.options.keyInventory.matchesKey(i, i1)) {
- minecraftClient.player.closeContainer();
+ minecraftClient.player.closeHandledScreen();
return ActionResult.SUCCESS;
}
return ActionResult.PASS;
diff --git a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java
index 429d69896..2519bace6 100644
--- a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java
+++ b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java
@@ -30,10 +30,10 @@ import me.shedaniel.rei.server.InputSlotCrafter;
import net.fabricmc.api.ModInitializer;
import net.fabricmc.fabric.api.network.ServerSidePacketRegistry;
import net.fabricmc.loader.api.FabricLoader;
-import net.minecraft.container.Container;
-import net.minecraft.container.CraftingContainer;
-import net.minecraft.container.PlayerContainer;
import net.minecraft.item.ItemStack;
+import net.minecraft.screen.CraftingScreenHandler;
+import net.minecraft.screen.PlayerScreenHandler;
+import net.minecraft.screen.ScreenHandler;
import net.minecraft.server.network.ServerPlayerEntity;
import net.minecraft.text.TranslatableText;
import net.minecraft.util.Formatting;
@@ -79,8 +79,8 @@ public class RoughlyEnoughItemsNetwork implements ModInitializer {
ServerSidePacketRegistry.INSTANCE.register(MOVE_ITEMS_PACKET, (packetContext, packetByteBuf) -> {
Identifier category = packetByteBuf.readIdentifier();
ServerPlayerEntity player = (ServerPlayerEntity) packetContext.getPlayer();
- Container container = player.container;
- PlayerContainer playerContainer = player.playerContainer;
+ ScreenHandler screenHandler = player.currentScreenHandler;
+ PlayerScreenHandler playerScreenHandler = player.playerScreenHandler;
try {
boolean shift = packetByteBuf.readBoolean();
Map<Integer, List<ItemStack>> input = Maps.newHashMap();
@@ -94,9 +94,9 @@ public class RoughlyEnoughItemsNetwork implements ModInitializer {
input.put(i, list);
}
try {
- InputSlotCrafter.start(category, container, player, input, shift);
+ InputSlotCrafter.start(category, screenHandler, player, input, shift);
} catch (InputSlotCrafter.NotEnoughMaterialsException e) {
- if (!(container instanceof CraftingContainer))
+ if (!(screenHandler instanceof CraftingScreenHandler))
return;
PacketByteBuf buf = new PacketByteBuf(Unpooled.buffer());
buf.writeInt(input.size());
diff --git a/src/main/java/me/shedaniel/rei/api/AutoTransferHandler.java b/src/main/java/me/shedaniel/rei/api/AutoTransferHandler.java
index 4b28e239f..70ba2dd55 100644
--- a/src/main/java/me/shedaniel/rei/api/AutoTransferHandler.java
+++ b/src/main/java/me/shedaniel/rei/api/AutoTransferHandler.java
@@ -28,10 +28,9 @@ import it.unimi.dsi.fastutil.ints.IntList;
import me.shedaniel.rei.gui.ContainerScreenOverlay;
import me.shedaniel.rei.impl.ScreenHelper;
import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.gui.screen.ingame.ContainerScreen;
-import net.minecraft.container.Container;
+import net.minecraft.client.gui.screen.ingame.ScreenWithHandler;
+import net.minecraft.screen.ScreenHandler;
import org.jetbrains.annotations.ApiStatus;
-import org.spongepowered.asm.mixin.injection.Inject;
import java.util.function.Supplier;
@@ -83,7 +82,7 @@ public interface AutoTransferHandler {
}
interface Context {
- static Context create(boolean actuallyCrafting, ContainerScreen<?> containerScreen, RecipeDisplay recipeDisplay) {
+ static Context create(boolean actuallyCrafting, ScreenWithHandler<?> containerScreen, RecipeDisplay recipeDisplay) {
return new ContextImpl(actuallyCrafting, containerScreen, () -> recipeDisplay);
}
@@ -93,14 +92,28 @@ public interface AutoTransferHandler {
boolean isActuallyCrafting();
- ContainerScreen<?> getContainerScreen();
+ ScreenWithHandler<?> getScreenWithHandler();
+
+ @Deprecated
+ @ApiStatus.ScheduledForRemoval
+ default ScreenWithHandler<?> getContainerScreen() {
+ return getScreenWithHandler();
+ }
RecipeDisplay getRecipe();
- default Container getContainer() {
- return getContainerScreen().getContainer();
+ @Deprecated
+ @ApiStatus.ScheduledForRemoval
+ default ScreenHandler getContainer() {
+ return getScreenHandler();
+ }
+
+ default ScreenHandler getScreenHandler() {
+ return getScreenWithHandler().getScreenHandler();
}
+ @Deprecated
+ @ApiStatus.ScheduledForRemoval
default ContainerScreenOverlay getOverlay() {
return ScreenHelper.getLastOverlay();
}
@@ -161,12 +174,12 @@ public interface AutoTransferHandler {
@ApiStatus.Internal
final class ContextImpl implements Context {
boolean actuallyCrafting;
- ContainerScreen<?> containerScreen;
+ ScreenWithHandler<?> screenWithHandler;
Supplier<RecipeDisplay> recipeDisplaySupplier;
- private ContextImpl(boolean actuallyCrafting, ContainerScreen<?> containerScreen, Supplier<RecipeDisplay> recipeDisplaySupplier) {
+ private ContextImpl(boolean actuallyCrafting, ScreenWithHandler<?> screenWithHandler, Supplier<RecipeDisplay> recipeDisplaySupplier) {
this.actuallyCrafting = actuallyCrafting;
- this.containerScreen = containerScreen;
+ this.screenWithHandler = screenWithHandler;
this.recipeDisplaySupplier = recipeDisplaySupplier;
}
@@ -176,8 +189,8 @@ public interface AutoTransferHandler {
}
@Override
- public ContainerScreen<?> getContainerScreen() {
- return containerScreen;
+ public ScreenWithHandler<?> getScreenWithHandler() {
+ return screenWithHandler;
}
@Override
diff --git a/src/main/java/me/shedaniel/rei/api/RecipeHelper.java b/src/main/java/me/shedaniel/rei/api/RecipeHelper.java
index 9d58d5530..dfb2db0bd 100644
--- a/src/main/java/me/shedaniel/rei/api/RecipeHelper.java
+++ b/src/main/java/me/shedaniel/rei/api/RecipeHelper.java
@@ -25,7 +25,7 @@ package me.shedaniel.rei.api;
import me.shedaniel.math.api.Rectangle;
import me.shedaniel.rei.RoughlyEnoughItemsCore;
-import net.minecraft.client.gui.screen.ingame.ContainerScreen;
+import net.minecraft.client.gui.screen.ingame.ScreenWithHandler;
import net.minecraft.recipe.Recipe;
import net.minecraft.recipe.RecipeManager;
import net.minecraft.util.Identifier;
@@ -220,7 +220,7 @@ public interface RecipeHelper {
*/
void registerLiveRecipeGenerator(LiveRecipeGenerator<?> liveRecipeGenerator);
- void registerScreenClickArea(Rectangle rectangle, Class<? extends ContainerScreen<?>> screenClass, Identifier... categories);
+ void registerScreenClickArea(Rectangle rectangle, Class<? extends ScreenWithHandler<?>> screenClass, Identifier... categories);
<T extends Recipe<?>> void registerRecipes(Identifier category, Class<T> recipeClass, Function<T, RecipeDisplay> mappingFunction);
@@ -232,7 +232,7 @@ public interface RecipeHelper {
boolean arePluginsLoading();
interface ScreenClickArea {
- Class<? extends ContainerScreen> getScreenClass();
+ Class<? extends ScreenWithHandler> getScreenClass();
Rectangle getRectangle();
diff --git a/src/main/java/me/shedaniel/rei/api/TransferRecipeDisplay.java b/src/main/java/me/shedaniel/rei/api/TransferRecipeDisplay.java
index 900faa39e..e5ff9aa2c 100644
--- a/src/main/java/me/shedaniel/rei/api/TransferRecipeDisplay.java
+++ b/src/main/java/me/shedaniel/rei/api/TransferRecipeDisplay.java
@@ -24,7 +24,7 @@
package me.shedaniel.rei.api;
import me.shedaniel.rei.server.ContainerInfo;
-import net.minecraft.container.Container;
+import net.minecraft.screen.ScreenHandler;
import java.util.List;
@@ -40,6 +40,6 @@ public interface TransferRecipeDisplay extends RecipeDisplay {
*/
int getHeight();
- List<List<EntryStack>> getOrganisedInputEntries(ContainerInfo<Container> containerInfo, Container container);
+ List<List<EntryStack>> getOrganisedInputEntries(ContainerInfo<ScreenHandler> containerInfo, ScreenHandler container);
}
diff --git a/src/main/java/me/shedaniel/rei/gui/ConfigReloadingScreen.java b/src/main/java/me/shedaniel/rei/gui/ConfigReloadingScreen.java
index f36a279b6..f13cefede 100644
--- a/src/main/java/me/shedaniel/rei/gui/ConfigReloadingScreen.java
+++ b/src/main/java/me/shedaniel/rei/gui/ConfigReloadingScreen.java
@@ -49,8 +49,8 @@ public class ConfigReloadingScreen extends Screen {
public void render(int int_1, int int_2, float float_1) {
this.renderDirtBackground(0);
if (!RecipeHelper.getInstance().arePluginsLoading())
- minecraft.openScreen(parent);
- this.drawCenteredString(this.font, I18n.translate("text.rei.config.is.reloading"), this.width / 2, this.height / 2 - 50, 16777215);
+ client.openScreen(parent);
+ this.drawCenteredString(this.textRenderer, I18n.translate("text.rei.config.is.reloading"), this.width / 2, this.height / 2 - 50, 16777215);
String string_3;
switch ((int) (Util.getMeasuringTimeMs() / 300L % 4L)) {
case 0:
@@ -64,7 +64,7 @@ public class ConfigReloadingScreen extends Screen {
case 2:
string_3 = "o o O";
}
- this.drawCenteredString(this.font, string_3, this.width / 2, this.height / 2 - 41, 8421504);
+ this.drawCenteredString(this.textRenderer, string_3, this.width / 2, this.height / 2 - 41, 8421504);
super.render(int_1, int_2, float_1);
}
diff --git a/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java b/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java
index f41298751..edce9fea3 100644
--- a/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java
+++ b/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java
@@ -40,7 +40,7 @@ import me.shedaniel.rei.utils.CollectionUtils;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.Element;
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.render.Tessellator;
import net.minecraft.client.render.VertexConsumerProvider;
import net.minecraft.client.resource.language.I18n;
@@ -50,8 +50,8 @@ import net.minecraft.client.util.Window;
import net.minecraft.client.util.math.Matrix4f;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.client.world.ClientWorld;
-import net.minecraft.container.Slot;
import net.minecraft.item.ItemStack;
+import net.minecraft.screen.slot.Slot;
import net.minecraft.sound.SoundEvents;
import net.minecraft.text.TranslatableText;
import net.minecraft.util.ActionResult;
@@ -78,7 +78,7 @@ public class ContainerScreenOverlay extends WidgetWithBounds {
public final TriConsumer<Integer, Integer, Float> renderTooltipCallback = (x, y, aFloat) -> {
RenderSystem.disableRescaleNormal();
RenderSystem.disableDepthTest();
- setBlitOffset(999);
+ setZOffset(999);
this.fillGradient(x - 3, y - 4, x + tooltipWidth + 3, y - 3, -267386864, -267386864);
this.fillGradient(x - 3, y + tooltipHeight + 3, x + tooltipWidth + 3, y + tooltipHeight + 4, -267386864, -267386864);
this.fillGradient(x - 3, y - 3, x + tooltipWidth + 3, y + tooltipHeight + 3, -267386864, -267386864);
@@ -91,14 +91,14 @@ public class ContainerScreenOverlay extends WidgetWithBounds {
int currentY = y;
MatrixStack matrixStack_1 = new MatrixStack();
VertexConsumerProvider.Immediate immediate = VertexConsumerProvider.immediate(Tessellator.getInstance().getBuffer());
- matrixStack_1.translate(0.0D, 0.0D, getBlitOffset());
+ matrixStack_1.translate(0.0D, 0.0D, getZOffset());
Matrix4f matrix4f_1 = matrixStack_1.peek().getModel();
for (int lineIndex = 0; lineIndex < tooltipLines.size(); lineIndex++) {
font.draw(tooltipLines.get(lineIndex), x, currentY, -1, true, matrix4f_1, immediate, false, 0, 15728880);
currentY += lineIndex == 0 ? 12 : 10;
}
immediate.draw();
- setBlitOffset(0);
+ setZOffset(0);
RenderSystem.enableDepthTest();
RenderSystem.enableRescaleNormal();
};
@@ -180,7 +180,7 @@ public class ContainerScreenOverlay extends WidgetWithBounds {
ClientHelper.getInstance().setCheating(!ClientHelper.getInstance().isCheating());
return;
}
- ConfigManager.getInstance().openConfigScreen(ScreenHelper.getLastContainerScreen());
+ ConfigManager.getInstance().openConfigScreen(ScreenHelper.getLastScreenWithHandler());
}
@Override
@@ -189,7 +189,7 @@ public class ContainerScreenOverlay extends WidgetWithBounds {
@Override
public void lateRender(int mouseX, int mouseY, float delta) {
- setBlitOffset(600);
+ setZOffset(600);
super.render(mouseX, mouseY, delta);
Rectangle bounds = getBounds();
if (ClientHelper.getInstance().isCheating() && RoughlyEnoughItemsCore.hasOperatorPermission()) {
@@ -201,7 +201,7 @@ public class ContainerScreenOverlay extends WidgetWithBounds {
MinecraftClient.getInstance().getTextureManager().bindTexture(CHEST_GUI_TEXTURE);
RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F);
blit(bounds.x + 3, bounds.y + 3, 0, 0, 14, 14);
- setBlitOffset(0);
+ setZOffset(0);
}
@Override
@@ -362,7 +362,7 @@ public class ContainerScreenOverlay extends WidgetWithBounds {
VillagerRecipeViewingScreen widget = (VillagerRecipeViewingScreen) MinecraftClient.getInstance().currentScreen;
return new Rectangle(widget.bounds.x, window.getScaledHeight() - 22, widget.bounds.width - widthRemoved, 18);
}
- return new Rectangle(ScreenHelper.getLastContainerScreenHooks().rei_getContainerLeft(), window.getScaledHeight() - 22, ScreenHelper.getLastContainerScreenHooks().rei_getContainerWidth() - widthRemoved, 18);
+ return new Rectangle(ScreenHelper.getLastScreenWithHandlerHooks().rei_getContainerLeft(), window.getScaledHeight() - 22, ScreenHelper.getLastScreenWithHandlerHooks().rei_getContainerWidth() - widthRemoved, 18);
}
private Rectangle getCraftableToggleArea() {
@@ -410,19 +410,19 @@ public class ContainerScreenOverlay extends WidgetWithBounds {
ENTRY_LIST_WIDGET.updateSearch(ScreenHelper.getSearchField().getText(), true);
}
if (OverlaySearchField.isSearching) {
- setBlitOffset(200);
- if (MinecraftClient.getInstance().currentScreen instanceof ContainerScreen) {
+ setZOffset(200);
+ if (MinecraftClient.getInstance().currentScreen instanceof ScreenWithHandler) {
ContainerScreenHooks hooks = (ContainerScreenHooks) MinecraftClient.getInstance().currentScreen;
int left = hooks.rei_getContainerLeft(), top = hooks.rei_getContainerTop();
- for (Slot slot : ((ContainerScreen<?>) MinecraftClient.getInstance().currentScreen).getContainer().slots)
+ for (Slot slot : ((ScreenWithHandler<?>) MinecraftClient.getInstance().currentScreen).getScreenHandler().slots)
if (!slot.hasStack() || !ENTRY_LIST_WIDGET.canLastSearchTermsBeAppliedTo(EntryStack.create(slot.getStack())))
fillGradient(left + slot.xPosition, top + slot.yPosition, left + slot.xPosition + 16, top + slot.yPosition + 16, -601874400, -601874400);
}
- setBlitOffset(0);
+ setZOffset(0);
}
RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F);
this.renderWidgets(mouseX, mouseY, delta);
- if (MinecraftClient.getInstance().currentScreen instanceof ContainerScreen && ConfigObject.getInstance().areClickableRecipeArrowsEnabled()) {
+ if (MinecraftClient.getInstance().currentScreen instanceof ScreenWithHandler && ConfigObject.getInstance().areClickableRecipeArrowsEnabled()) {
ContainerScreenHooks hooks = (ContainerScreenHooks) MinecraftClient.getInstance().currentScreen;
for (RecipeHelper.ScreenClickArea area : RecipeHelper.getInstance().getScreenClickAreas())
if (area.getScreenClass().equals(MinecraftClient.getInstance().currentScreen.getClass()))
@@ -527,9 +527,9 @@ public class ContainerScreenOverlay extends WidgetWithBounds {
return true;
}
ItemStack itemStack = null;
- if (MinecraftClient.getInstance().currentScreen instanceof ContainerScreen)
- if (ScreenHelper.getLastContainerScreenHooks().rei_getHoveredSlot() != null && !ScreenHelper.getLastContainerScreenHooks().rei_getHoveredSlot().getStack().isEmpty())
- itemStack = ScreenHelper.getLastContainerScreenHooks().rei_getHoveredSlot().getStack();
+ if (MinecraftClient.getInstance().currentScreen instanceof ScreenWithHandler)
+ if (ScreenHelper.getLastScreenWithHandlerHooks().rei_getHoveredSlot() != null && !ScreenHelper.getLastScreenWithHandlerHooks().rei_getHoveredSlot().getStack().isEmpty())
+ itemStack = ScreenHelper.getLastScreenWithHandlerHooks().rei_getHoveredSlot().getStack();
if (itemStack != null && !itemStack.isEmpty()) {
if (ConfigObject.getInstance().getRecipeKeybind().matchesKey(int_1, int_2))
return ClientHelper.getInstance().executeRecipeKeyBind(itemStack);
@@ -569,7 +569,7 @@ public class ContainerScreenOverlay extends WidgetWithBounds {
public boolean mouseClicked(double double_1, double double_2, int int_1) {
if (!ScreenHelper.isOverlayVisible())
return false;
- if (MinecraftClient.getInstance().currentScreen instanceof ContainerScreen && ConfigObject.getInstance().areClickableRecipeArrowsEnabled()) {
+ if (MinecraftClient.getInstance().currentScreen instanceof ScreenWithHandler && ConfigObject.getInstance().areClickableRecipeArrowsEnabled()) {
ContainerScreenHooks hooks = (ContainerScreenHooks) MinecraftClient.getInstance().currentScreen;
for (RecipeHelper.ScreenClickArea area : RecipeHelper.getInstance().getScreenClickAreas())
if (area.getScreenClass().equals(MinecraftClient.getInstance().currentScreen.getClass()))
diff --git a/src/main/java/me/shedaniel/rei/gui/PreRecipeViewingScreen.java b/src/main/java/me/shedaniel/rei/gui/PreRecipeViewingScreen.java
index 09a853d6a..e24d91320 100644
--- a/src/main/java/me/shedaniel/rei/gui/PreRecipeViewingScreen.java
+++ b/src/main/java/me/shedaniel/rei/gui/PreRecipeViewingScreen.java
@@ -38,7 +38,7 @@ import