diff options
| author | Unknown <shekwancheung0528@gmail.com> | 2019-04-14 18:10:37 +0800 |
|---|---|---|
| committer | Unknown <shekwancheung0528@gmail.com> | 2019-04-14 18:10:37 +0800 |
| commit | 256300ec1a83b237c1c3d1655afc93ab9f37cb76 (patch) | |
| tree | c85da8e99e67b9892ab085a8d260bfb93d20d79d /src | |
| parent | b5fb8f4a0ce9595b8eedc236584db54e1db72fbd (diff) | |
| download | RoughlyEnoughItems-256300ec1a83b237c1c3d1655afc93ab9f37cb76.tar.gz RoughlyEnoughItems-256300ec1a83b237c1c3d1655afc93ab9f37cb76.tar.bz2 RoughlyEnoughItems-256300ec1a83b237c1c3d1655afc93ab9f37cb76.zip | |
v2.7.5
Diffstat (limited to 'src')
| -rw-r--r-- | src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java | 10 | ||||
| -rw-r--r-- | src/main/java/me/shedaniel/rei/listeners/RecipeBookGuiHooks.java (renamed from src/main/java/me/shedaniel/rei/listeners/GhostSlotsHooks.java) | 5 | ||||
| -rw-r--r-- | src/main/java/me/shedaniel/rei/mixin/MixinRecipeBookGui.java | 13 | ||||
| -rw-r--r-- | src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java | 12 | ||||
| -rwxr-xr-x | src/main/resources/assets/roughlyenoughitems/lang/en_us.json | 2 |
5 files changed, 31 insertions, 11 deletions
diff --git a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java index 46d14625a..551c4739a 100644 --- a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java +++ b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java @@ -11,6 +11,7 @@ import me.shedaniel.rei.client.ConfigManager; import me.shedaniel.rei.client.*; import me.shedaniel.rei.gui.ContainerScreenOverlay; import me.shedaniel.rei.listeners.CreativePlayerInventoryScreenHooks; +import me.shedaniel.rei.listeners.RecipeBookGuiHooks; import net.fabricmc.api.ClientModInitializer; import net.fabricmc.loader.api.FabricLoader; import net.fabricmc.loader.api.ModContainer; @@ -20,6 +21,7 @@ import net.minecraft.client.gui.ContainerScreen; import net.minecraft.client.gui.Element; import net.minecraft.client.gui.ingame.CreativePlayerInventoryScreen; import net.minecraft.client.gui.ingame.PlayerInventoryScreen; +import net.minecraft.client.gui.recipebook.RecipeBookGui; import net.minecraft.client.gui.widget.RecipeBookButtonWidget; import net.minecraft.client.gui.widget.TextFieldWidget; import net.minecraft.item.ItemGroup; @@ -213,8 +215,14 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer { }); ClothClientHooks.SCREEN_KEY_PRESSED.register((minecraftClient, screen, i, i1, i2) -> { if (screen instanceof CreativePlayerInventoryScreen && ((CreativePlayerInventoryScreenHooks) screen).rei_getSelectedTab() == ItemGroup.SEARCH.getIndex()) - if (screen.getFocused() != null && screen.getFocused() instanceof TextFieldWidget && ((TextFieldWidget) screen.getFocused()).isFocused()) + if (screen.getFocused() != null && screen.getFocused() instanceof TextFieldWidget) return ActionResult.PASS; + if (screen instanceof ContainerScreen && !(screen instanceof CreativePlayerInventoryScreen)) + if (screen.getFocused() != null && screen.getFocused() instanceof RecipeBookGui) { + RecipeBookGuiHooks gui = (RecipeBookGuiHooks) screen.getFocused(); + if (gui.rei_getSearchField() != null && gui.rei_getSearchField().isFocused()) + return ActionResult.PASS; + } if (screen instanceof ContainerScreen) if (ScreenHelper.getLastOverlay().keyPressed(i, i1, i2)) return ActionResult.SUCCESS; diff --git a/src/main/java/me/shedaniel/rei/listeners/GhostSlotsHooks.java b/src/main/java/me/shedaniel/rei/listeners/RecipeBookGuiHooks.java index b13ab8428..4737b2c9d 100644 --- a/src/main/java/me/shedaniel/rei/listeners/GhostSlotsHooks.java +++ b/src/main/java/me/shedaniel/rei/listeners/RecipeBookGuiHooks.java @@ -1,9 +1,12 @@ package me.shedaniel.rei.listeners; import net.minecraft.client.gui.widget.RecipeBookGhostSlots; +import net.minecraft.client.gui.widget.TextFieldWidget; -public interface GhostSlotsHooks { +public interface RecipeBookGuiHooks { RecipeBookGhostSlots rei_getGhostSlots(); + TextFieldWidget rei_getSearchField(); + } diff --git a/src/main/java/me/shedaniel/rei/mixin/MixinRecipeBookGui.java b/src/main/java/me/shedaniel/rei/mixin/MixinRecipeBookGui.java index 4c280fbff..1cc1baf8a 100644 --- a/src/main/java/me/shedaniel/rei/mixin/MixinRecipeBookGui.java +++ b/src/main/java/me/shedaniel/rei/mixin/MixinRecipeBookGui.java @@ -1,21 +1,30 @@ package me.shedaniel.rei.mixin; -import me.shedaniel.rei.listeners.GhostSlotsHooks; +import me.shedaniel.rei.listeners.RecipeBookGuiHooks; import net.minecraft.client.gui.recipebook.RecipeBookGui; import net.minecraft.client.gui.widget.RecipeBookGhostSlots; +import net.minecraft.client.gui.widget.TextFieldWidget; import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @Mixin(RecipeBookGui.class) -public class MixinRecipeBookGui implements GhostSlotsHooks { +public class MixinRecipeBookGui implements RecipeBookGuiHooks { @Shadow @Final protected RecipeBookGhostSlots ghostSlots; + @Shadow + private TextFieldWidget searchField; + public RecipeBookGhostSlots rei_getGhostSlots() { return ghostSlots; } + @Override + public TextFieldWidget rei_getSearchField() { + return searchField; + } + } diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java b/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java index 801fccc52..7765a1d3f 100644 --- a/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java +++ b/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java @@ -5,7 +5,7 @@ import me.shedaniel.rei.RoughlyEnoughItemsCore; import me.shedaniel.rei.api.*; import me.shedaniel.rei.client.ScreenHelper; import me.shedaniel.rei.gui.RecipeViewingScreen; -import me.shedaniel.rei.listeners.GhostSlotsHooks; +import me.shedaniel.rei.listeners.RecipeBookGuiHooks; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.ContainerScreen; import net.minecraft.client.gui.Screen; @@ -239,9 +239,9 @@ public class DefaultPlugin implements REIPlugin { if (!recipe.getRecipe().isPresent()) return false; if (screen.getClass().isAssignableFrom(CraftingTableScreen.class)) - ((GhostSlotsHooks) (((CraftingTableScreen) screen).getRecipeBookGui())).rei_getGhostSlots().reset(); + ((RecipeBookGuiHooks) (((CraftingTableScreen) screen).getRecipeBookGui())).rei_getGhostSlots().reset(); else if (screen.getClass().isAssignableFrom(PlayerInventoryScreen.class)) - ((GhostSlotsHooks) (((PlayerInventoryScreen) screen).getRecipeBookGui())).rei_getGhostSlots().reset(); + ((RecipeBookGuiHooks) (((PlayerInventoryScreen) screen).getRecipeBookGui())).rei_getGhostSlots().reset(); else return false; MinecraftClient.getInstance().interactionManager.clickRecipe(MinecraftClient.getInstance().player.container.syncId, (Recipe) recipe.getRecipe().get(), Screen.hasShiftDown()); @@ -264,7 +264,7 @@ public class DefaultPlugin implements REIPlugin { if (!recipe.getRecipe().isPresent()) return false; if (screen instanceof FurnaceScreen) - ((GhostSlotsHooks) (((FurnaceScreen) screen).getRecipeBookGui())).rei_getGhostSlots().reset(); + ((RecipeBookGuiHooks) (((FurnaceScreen) screen).getRecipeBookGui())).rei_getGhostSlots().reset(); else return false; MinecraftClient.getInstance().interactionManager.clickRecipe(MinecraftClient.getInstance().player.container.syncId, (Recipe) recipe.getRecipe().get(), Screen.hasShiftDown()); @@ -287,7 +287,7 @@ public class DefaultPlugin implements REIPlugin { if (!recipe.getRecipe().isPresent()) return false; if (screen instanceof SmokerScreen) - ((GhostSlotsHooks) (((SmokerScreen) screen).getRecipeBookGui())).rei_getGhostSlots().reset(); + ((RecipeBookGuiHooks) (((SmokerScreen) screen).getRecipeBookGui())).rei_getGhostSlots().reset(); else return false; MinecraftClient.getInstance().interactionManager.clickRecipe(MinecraftClient.getInstance().player.container.syncId, (Recipe) recipe.getRecipe().get(), Screen.hasShiftDown()); @@ -315,7 +315,7 @@ public class DefaultPlugin implements REIPlugin { if (!recipe.getRecipe().isPresent()) return false; if (screen instanceof BlastFurnaceScreen) - ((GhostSlotsHooks) (((BlastFurnaceScreen) screen).getRecipeBookGui())).rei_getGhostSlots().reset(); + ((RecipeBookGuiHooks) (((BlastFurnaceScreen) screen).getRecipeBookGui())).rei_getGhostSlots().reset(); else return false; MinecraftClient.getInstance().interactionManager.clickRecipe(MinecraftClient.getInstance().player.container.syncId, (Recipe) recipe.getRecipe().get(), Screen.hasShiftDown()); diff --git a/src/main/resources/assets/roughlyenoughitems/lang/en_us.json b/src/main/resources/assets/roughlyenoughitems/lang/en_us.json index b9b22135b..a06397203 100755 --- a/src/main/resources/assets/roughlyenoughitems/lang/en_us.json +++ b/src/main/resources/assets/roughlyenoughitems/lang/en_us.json @@ -81,5 +81,5 @@ "text.rei.config.april_fools.2019": "Force 2019 REI April Fools' joke: ", "text.rei.no_config_api": "Cloth Config API does not exist!\nPlease install it in order to show an in-game config screen!", "_comment": "Don't change / translate the credit down below if you are doing it :)", - "text.rei.credit.text": "§lRoughly Enough Items\n§7Originally a fork for Almost Enough Items.\n\n§lDevelopers\n - Originally by ZenDarva\n - Created by Danielshe\n - Plugin Support by TehNut\n\n§lLanguage Translation\n English - Danielshe\n Simplified Chinese - Danielshe\n Traditional Chinese - hugoalh & Danielshe\n French - Yanis48\n German - MelanX\n Estonian - Madis0\n Portuguese - thiagokenis\n LOLCAT - Danielshe\n Upside Down - Danielshe\n\n§lLicense\n§7Roughly Enough Items is using MIT." + "text.rei.credit.text": "§lRoughly Enough Items\n§7Originally a fork for Almost Enough Items.\n\n§lDevelopers\n - Originally by ZenDarva\n - Created by Danielshe\n - Plugin Support by TehNut\n\n§lLanguage Translation\n English - Danielshe\n Simplified Chinese - Danielshe\n Traditional Chinese - hugoalh & Danielshe\n French - Yanis48\n German - MelanX\n Estonian - Madis0\n Portuguese - thiagokenis\n LOLCAT - Danielshe\n Upside Down - Danielshe\n Brazilian Portuguese\n Bulgarian - geniiii\n\n§lLicense\n§7Roughly Enough Items is using MIT." }
\ No newline at end of file |
