diff options
| author | Unknown <shekwancheung0528@gmail.com> | 2019-04-13 16:39:32 +0800 |
|---|---|---|
| committer | Unknown <shekwancheung0528@gmail.com> | 2019-04-13 16:39:32 +0800 |
| commit | fc9daed9710b159155b989d07a690ba10be2dc68 (patch) | |
| tree | 2809155ee254402c0d84b459d3bfd4b356e3f4de | |
| parent | 2570a35b35ec29b6677e318f2bf3d5b6640bf106 (diff) | |
| download | RoughlyEnoughItems-fc9daed9710b159155b989d07a690ba10be2dc68.tar.gz RoughlyEnoughItems-fc9daed9710b159155b989d07a690ba10be2dc68.tar.bz2 RoughlyEnoughItems-fc9daed9710b159155b989d07a690ba10be2dc68.zip | |
Bug fixes
| -rw-r--r-- | CHANGELOG.md | 3 | ||||
| -rwxr-xr-x | build.gradle | 2 | ||||
| -rw-r--r-- | gradle.properties | 2 | ||||
| -rw-r--r-- | src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java | 17 | ||||
| -rw-r--r-- | src/main/java/me/shedaniel/rei/listeners/CreativePlayerInventoryScreenHooks.java | 5 | ||||
| -rw-r--r-- | src/main/java/me/shedaniel/rei/mixin/MixinCreativePlayerInventoryScreen.java | 17 | ||||
| -rw-r--r-- | src/main/java/me/shedaniel/rei/utils/ClothScreenRegistry.java | 5 | ||||
| -rwxr-xr-x | src/main/resources/roughlyenoughitems.mixins.json | 3 |
8 files changed, 47 insertions, 7 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index ae54ea9b4..f4e5dcb3b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +## v2.7.3.87 +- Fixed: Credits button not working +- Fixed: Keybinds (e.g. O, R, U) working even creative search field is focused ## v2.7.3.86 - Fixed [#56](https://github.com/shedaniel/RoughlyEnoughItems/issues/56): Even tho I don't know how I fixed it - Added: Credits button in Config Screen diff --git a/build.gradle b/build.gradle index 0092670e6..44974e98c 100755 --- a/build.gradle +++ b/build.gradle @@ -11,7 +11,7 @@ targetCompatibility = 1.8 archivesBaseName = "RoughlyEnoughItems" version = project.mod_version -def includeDep = true +def includeDep = false minecraft { } diff --git a/gradle.properties b/gradle.properties index 4adffa8d9..1966d07bf 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -mod_version=2.7.3+build.86 +mod_version=2.7.3+build.87 minecraft_version=1.14 Pre-Release 1 yarn_version=1.14 Pre-Release 1+build.3 fabric_version=0.2.7+build.122 diff --git a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java index fdcdbabd2..1a30a8ba7 100644 --- a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java +++ b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java @@ -6,10 +6,12 @@ import com.google.gson.JsonElement; import com.google.gson.JsonObject; import me.shedaniel.cloth.api.ClientUtils; import me.shedaniel.cloth.hooks.ClothClientHooks; +import me.shedaniel.cloth.hooks.ScreenHooks; import me.shedaniel.rei.api.*; -import me.shedaniel.rei.client.*; import me.shedaniel.rei.client.ConfigManager; +import me.shedaniel.rei.client.*; import me.shedaniel.rei.gui.ContainerScreenOverlay; +import me.shedaniel.rei.listeners.CreativePlayerInventoryScreenHooks; import net.fabricmc.api.ClientModInitializer; import net.fabricmc.loader.api.FabricLoader; import net.fabricmc.loader.api.ModContainer; @@ -20,6 +22,8 @@ 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.widget.RecipeBookButtonWidget; +import net.minecraft.client.gui.widget.TextFieldWidget; +import net.minecraft.item.ItemGroup; import net.minecraft.util.ActionResult; import net.minecraft.util.Identifier; import net.minecraft.util.Pair; @@ -182,8 +186,12 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer { }); ClothClientHooks.SCREEN_MOUSE_CLICKED.register((minecraftClient, screen, v, v1, i) -> { if (screen instanceof CreativePlayerInventoryScreen) - if (ScreenHelper.isOverlayVisible() && ScreenHelper.getLastOverlay().mouseClicked(v, v1, i)) + if (ScreenHelper.isOverlayVisible() && ScreenHelper.getLastOverlay().mouseClicked(v, v1, i)) { + screen.setFocused(ScreenHelper.getLastOverlay()); + if (i == 0) + screen.setDragging(true); return ActionResult.SUCCESS; + } return ActionResult.PASS; }); ClothClientHooks.SCREEN_MOUSE_SCROLLED.register((minecraftClient, screen, v, v1, v2) -> { @@ -205,6 +213,11 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer { ScreenHelper.getLastOverlay().lateRender(i, i1, v); }); ClothClientHooks.SCREEN_KEY_PRESSED.register((minecraftClient, screen, i, i1, i2) -> { + if (screen instanceof CreativePlayerInventoryScreen && screen.getFocused() != null && screen.getFocused() instanceof TextFieldWidget && ((CreativePlayerInventoryScreenHooks) screen).rei_getSelectedTab() == ItemGroup.SEARCH.getIndex()) + for(Element element : ((ScreenHooks) screen).cloth_getInputListeners()) + if (element instanceof TextFieldWidget) + if (screen.getFocused() == element && ((TextFieldWidget) element).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/CreativePlayerInventoryScreenHooks.java b/src/main/java/me/shedaniel/rei/listeners/CreativePlayerInventoryScreenHooks.java new file mode 100644 index 000000000..45cdc198b --- /dev/null +++ b/src/main/java/me/shedaniel/rei/listeners/CreativePlayerInventoryScreenHooks.java @@ -0,0 +1,5 @@ +package me.shedaniel.rei.listeners; + +public interface CreativePlayerInventoryScreenHooks { + int rei_getSelectedTab(); +} diff --git a/src/main/java/me/shedaniel/rei/mixin/MixinCreativePlayerInventoryScreen.java b/src/main/java/me/shedaniel/rei/mixin/MixinCreativePlayerInventoryScreen.java new file mode 100644 index 000000000..e8f9586cb --- /dev/null +++ b/src/main/java/me/shedaniel/rei/mixin/MixinCreativePlayerInventoryScreen.java @@ -0,0 +1,17 @@ +package me.shedaniel.rei.mixin; + +import me.shedaniel.rei.listeners.CreativePlayerInventoryScreenHooks; +import net.minecraft.client.gui.ingame.CreativePlayerInventoryScreen; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; + +@Mixin(CreativePlayerInventoryScreen.class) +public class MixinCreativePlayerInventoryScreen implements CreativePlayerInventoryScreenHooks { + @Shadow + private static int selectedTab; + + @Override + public int rei_getSelectedTab() { + return selectedTab; + } +} diff --git a/src/main/java/me/shedaniel/rei/utils/ClothScreenRegistry.java b/src/main/java/me/shedaniel/rei/utils/ClothScreenRegistry.java index 638f4c180..b1ee7d8bf 100644 --- a/src/main/java/me/shedaniel/rei/utils/ClothScreenRegistry.java +++ b/src/main/java/me/shedaniel/rei/utils/ClothScreenRegistry.java @@ -22,7 +22,6 @@ import java.util.Map; public class ClothScreenRegistry { public static void openConfigScreen(Screen parent) { - // ConfigScreenBuilder builder = ConfigScreenBuilder.create(parent, "text.rei.config.title", savedConfig -> { ConfigScreenBuilder builder = new ClothConfigScreen.Builder(parent, "text.rei.config.title", savedConfig -> { try { RoughlyEnoughItemsCore.getConfigManager().saveConfig(); @@ -41,8 +40,10 @@ public class ClothScreenRegistry { @Override protected void init() { - addButton(new ButtonWidget(6, 6, 60, 20, I18n.translate("text.rei.credits"), widget -> MinecraftClient.getInstance().openScreen(new CreditsScreen(MinecraftClient.getInstance().currentScreen)))); super.init(); + ButtonWidget w; + buttons.add(0, w = new ButtonWidget(6, 6, 60, 20, I18n.translate("text.rei.credits"), widget -> MinecraftClient.getInstance().openScreen(new CreditsScreen(MinecraftClient.getInstance().currentScreen)))); + children.add(0, w); } }; } diff --git a/src/main/resources/roughlyenoughitems.mixins.json b/src/main/resources/roughlyenoughitems.mixins.json index 205734ddf..0fcdc8327 100755 --- a/src/main/resources/roughlyenoughitems.mixins.json +++ b/src/main/resources/roughlyenoughitems.mixins.json @@ -7,7 +7,8 @@ "client": [ "MixinContainerScreen", "MixinBrewingRecipeRegistry", - "MixinRecipeBookGui" + "MixinRecipeBookGui", + "MixinCreativePlayerInventoryScreen" ], "injectors": { "defaultRequire": 1 |
