diff options
| author | shedaniel <daniel@shedaniel.me> | 2020-04-17 15:53:35 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2020-04-17 15:53:55 +0800 |
| commit | 8fd2f6ee7494b3623431319e4cc8056c4d6096d3 (patch) | |
| tree | cfcaf77fc1d69efe324881c1b12fc662f59a3871 /src/main/java/me/shedaniel/rei/plugin | |
| parent | 4cf2e712adbdc6f75be71e0d63ecced8042cee26 (diff) | |
| download | RoughlyEnoughItems-8fd2f6ee7494b3623431319e4cc8056c4d6096d3.tar.gz RoughlyEnoughItems-8fd2f6ee7494b3623431319e4cc8056c4d6096d3.tar.bz2 RoughlyEnoughItems-8fd2f6ee7494b3623431319e4cc8056c4d6096d3.zip | |
No one have saw this coming
Signed-off-by: shedaniel <daniel@shedaniel.me>
Diffstat (limited to 'src/main/java/me/shedaniel/rei/plugin')
5 files changed, 19 insertions, 24 deletions
diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java b/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java index 065b8807b..bceaf5b23 100644 --- a/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java +++ b/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java @@ -31,15 +31,12 @@ import me.shedaniel.math.Rectangle; import me.shedaniel.rei.RoughlyEnoughItemsCore; import me.shedaniel.rei.api.*; import me.shedaniel.rei.api.plugins.REIPluginV0; -import me.shedaniel.rei.api.subsets.SubsetsRegistry; import me.shedaniel.rei.api.widgets.Panel; import me.shedaniel.rei.api.widgets.Tooltip; import me.shedaniel.rei.gui.RecipeViewingScreen; import me.shedaniel.rei.gui.VillagerRecipeViewingScreen; import me.shedaniel.rei.impl.ClientHelperImpl; import me.shedaniel.rei.impl.RenderingEntry; -import me.shedaniel.rei.impl.ScreenHelper; -import me.shedaniel.rei.listeners.ContainerScreenHooks; import me.shedaniel.rei.plugin.beacon.DefaultBeaconBaseCategory; import me.shedaniel.rei.plugin.beacon.DefaultBeaconBaseDisplay; import me.shedaniel.rei.plugin.blasting.DefaultBlastingDisplay; @@ -305,13 +302,13 @@ public class DefaultPlugin implements REIPluginV0 { @Override public Rectangle getLeftBounds(HandledScreen<?> screen) { - return new Rectangle(2, 0, ((ContainerScreenHooks) ScreenHelper.getLastHandledScreen()).rei_getContainerLeft() - 4, MinecraftClient.getInstance().getWindow().getScaledHeight()); + return new Rectangle(2, 0, screen.x - 4, screen.height); } @Override public Rectangle getRightBounds(HandledScreen<?> screen) { - int startX = ((ContainerScreenHooks) ScreenHelper.getLastHandledScreen()).rei_getContainerLeft() + ((ContainerScreenHooks) ScreenHelper.getLastHandledScreen()).rei_getContainerWidth() + 2; - return new Rectangle(startX, 0, MinecraftClient.getInstance().getWindow().getScaledWidth() - startX - 2, MinecraftClient.getInstance().getWindow().getScaledHeight()); + int startX = screen.x + screen.backgroundWidth + 2; + return new Rectangle(startX, 0, screen.width - startX - 2, screen.height); } @Override diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultPotionEffectExclusionZones.java b/src/main/java/me/shedaniel/rei/plugin/DefaultPotionEffectExclusionZones.java index 931afa2b0..40b1d7b84 100644 --- a/src/main/java/me/shedaniel/rei/plugin/DefaultPotionEffectExclusionZones.java +++ b/src/main/java/me/shedaniel/rei/plugin/DefaultPotionEffectExclusionZones.java @@ -26,10 +26,9 @@ package me.shedaniel.rei.plugin; import com.google.common.collect.Ordering; import me.shedaniel.math.Rectangle; import me.shedaniel.rei.impl.ScreenHelper; -import me.shedaniel.rei.listeners.AbstractInventoryScreenHooks; -import me.shedaniel.rei.listeners.ContainerScreenHooks; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.screen.ingame.AbstractInventoryScreen; +import net.minecraft.client.gui.screen.ingame.HandledScreen; import net.minecraft.entity.effect.StatusEffectInstance; import java.util.ArrayList; @@ -41,15 +40,15 @@ import java.util.function.Supplier; public class DefaultPotionEffectExclusionZones implements Supplier<List<Rectangle>> { @Override public List<Rectangle> get() { - if (!(ScreenHelper.getLastHandledScreen() instanceof AbstractInventoryScreen) || !((AbstractInventoryScreenHooks) ScreenHelper.getLastHandledScreen()).rei_doesOffsetGuiForEffects()) + if (!(ScreenHelper.getLastHandledScreen() instanceof AbstractInventoryScreen) || !((AbstractInventoryScreen) ScreenHelper.getLastHandledScreen()).drawStatusEffects) return Collections.emptyList(); Collection<StatusEffectInstance> activePotionEffects = MinecraftClient.getInstance().player.getStatusEffects(); if (activePotionEffects.isEmpty()) return Collections.emptyList(); - ContainerScreenHooks hooks = ((ContainerScreenHooks) ScreenHelper.getLastHandledScreen()); + HandledScreen<?> handledScreen = ScreenHelper.getLastHandledScreen(); List<Rectangle> list = new ArrayList<>(); - int x = hooks.rei_getContainerLeft() - 124; - int y = hooks.rei_getContainerTop(); + int x = handledScreen.x - 124; + int y = handledScreen.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 21966fa32..408a26c69 100644 --- a/src/main/java/me/shedaniel/rei/plugin/DefaultRecipeBookExclusionZones.java +++ b/src/main/java/me/shedaniel/rei/plugin/DefaultRecipeBookExclusionZones.java @@ -26,8 +26,8 @@ package me.shedaniel.rei.plugin; import com.google.common.collect.Lists; import me.shedaniel.math.Rectangle; import me.shedaniel.rei.impl.ScreenHelper; -import me.shedaniel.rei.listeners.ContainerScreenHooks; import net.minecraft.client.MinecraftClient; +import net.minecraft.client.gui.screen.ingame.HandledScreen; import net.minecraft.client.gui.screen.recipebook.RecipeBookProvider; import net.minecraft.client.recipebook.ClientRecipeBook; import net.minecraft.screen.AbstractRecipeScreenHandler; @@ -42,11 +42,11 @@ public class DefaultRecipeBookExclusionZones implements Supplier<List<Rectangle> public List<Rectangle> get() { if (!MinecraftClient.getInstance().player.getRecipeBook().isGuiOpen() || !(MinecraftClient.getInstance().currentScreen instanceof RecipeBookProvider) || !(ScreenHelper.getLastHandledScreen().getScreenHandler() instanceof AbstractRecipeScreenHandler)) return Collections.emptyList(); - ContainerScreenHooks screenHooks = ((ContainerScreenHooks) ScreenHelper.getLastHandledScreen()); - List<Rectangle> l = Lists.newArrayList(new Rectangle(screenHooks.rei_getContainerLeft() - 4 - 145, screenHooks.rei_getContainerTop(), 4 + 145 + 30, screenHooks.rei_getContainerHeight())); + HandledScreen<?> handledScreen = ScreenHelper.getLastHandledScreen(); + List<Rectangle> l = Lists.newArrayList(new Rectangle(handledScreen.x - 4 - 145, handledScreen.y, 4 + 145 + 30, handledScreen.backgroundHeight)); int size = ClientRecipeBook.getGroups((AbstractRecipeScreenHandler<?>) ScreenHelper.getLastHandledScreen().getScreenHandler()).size(); if (size > 0) - l.add(new Rectangle(screenHooks.rei_getContainerLeft() - 4 - 145 - 30, screenHooks.rei_getContainerTop(), 30, size * 27)); + l.add(new Rectangle(handledScreen.x - 4 - 145 - 30, handledScreen.y, 30, size * 27)); return l; } 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 3ad14f1ef..6827ed92b 100644 --- a/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultCategoryHandler.java +++ b/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultCategoryHandler.java @@ -30,7 +30,6 @@ import me.shedaniel.rei.RoughlyEnoughItemsNetwork; import me.shedaniel.rei.api.AutoTransferHandler; import me.shedaniel.rei.api.EntryStack; import me.shedaniel.rei.api.TransferRecipeDisplay; -import me.shedaniel.rei.listeners.RecipeBookGuiHooks; import me.shedaniel.rei.server.ContainerInfo; import me.shedaniel.rei.server.ContainerInfoHandler; import net.fabricmc.fabric.api.network.ClientSidePacketRegistry; @@ -43,6 +42,7 @@ 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; public class DefaultCategoryHandler implements AutoTransferHandler { @@ -56,7 +56,7 @@ public class DefaultCategoryHandler implements AutoTransferHandler { if (!(context.getRecipe() instanceof TransferRecipeDisplay)) return Result.createNotApplicable(); TransferRecipeDisplay recipe = (TransferRecipeDisplay) context.getRecipe(); - HandledScreen<?> screenWithHandler = context.getHandledScreen(); + HandledScreen<?> handledScreen = context.getHandledScreen(); ScreenHandler screenHandler = context.getScreenHandler(); ContainerInfo<ScreenHandler> containerInfo = (ContainerInfo<ScreenHandler>) ContainerInfoHandler.getContainerInfo(recipe.getRecipeCategory(), screenHandler.getClass()); if (containerInfo == null) @@ -72,9 +72,9 @@ public class DefaultCategoryHandler implements AutoTransferHandler { if (!context.isActuallyCrafting()) return Result.createSuccessful(); - context.getMinecraft().openScreen(screenWithHandler); - if (screenWithHandler instanceof RecipeBookProvider) - ((RecipeBookGuiHooks) ((RecipeBookProvider) screenWithHandler).getRecipeBookWidget()).rei_getGhostSlots().reset(); + context.getMinecraft().openScreen(handledScreen); + if (handledScreen instanceof RecipeBookProvider) + ((RecipeBookProvider) handledScreen).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 ea11d7795..ae939e5bc 100644 --- a/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultRecipeBookHandler.java +++ b/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultRecipeBookHandler.java @@ -27,7 +27,6 @@ import me.shedaniel.rei.api.AutoTransferHandler; import me.shedaniel.rei.api.RecipeDisplay; import me.shedaniel.rei.api.TransferRecipeDisplay; import me.shedaniel.rei.impl.ScreenHelper; -import me.shedaniel.rei.listeners.RecipeBookGuiHooks; import me.shedaniel.rei.plugin.cooking.DefaultCookingDisplay; import me.shedaniel.rei.plugin.crafting.DefaultCraftingDisplay; import net.minecraft.client.gui.screen.Screen; @@ -69,7 +68,7 @@ public class DefaultRecipeBookHandler implements AutoTransferHandler { return Result.createSuccessful(); context.getMinecraft().openScreen(context.getHandledScreen()); if (context.getHandledScreen() instanceof RecipeBookProvider) - ((RecipeBookGuiHooks) ((RecipeBookProvider) context.getHandledScreen()).getRecipeBookWidget()).rei_getGhostSlots().reset(); + ((RecipeBookProvider) context.getHandledScreen()).getRecipeBookWidget().ghostSlots.reset(); context.getMinecraft().interactionManager.clickRecipe(container.syncId, recipe, Screen.hasShiftDown()); ScreenHelper.getLastOverlay().init(); } @@ -83,7 +82,7 @@ public class DefaultRecipeBookHandler implements AutoTransferHandler { return Result.createSuccessful(); context.getMinecraft().openScreen(context.getHandledScreen()); if (context.getHandledScreen() instanceof RecipeBookProvider) - ((RecipeBookGuiHooks) ((RecipeBookProvider) context.getHandledScreen()).getRecipeBookWidget()).rei_getGhostSlots().reset(); + ((RecipeBookProvider) context.getHandledScreen()).getRecipeBookWidget().ghostSlots.reset(); context.getMinecraft().interactionManager.clickRecipe(container.syncId, recipe, Screen.hasShiftDown()); ScreenHelper.getLastOverlay().init(); } |
