aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me
diff options
context:
space:
mode:
authorUnknown <shekwancheung0528@gmail.com>2019-05-18 00:11:34 +0800
committerUnknown <shekwancheung0528@gmail.com>2019-05-18 00:11:34 +0800
commit2a22249e3394e47b11b338f2fc6b03475ad7a54f (patch)
tree2741bfe02c470e514e7da9e0e9d3ba020fb82926 /src/main/java/me
parenta98d9191f1a97925a8a3e2e23c0a07867540a93a (diff)
downloadRoughlyEnoughItems-2a22249e3394e47b11b338f2fc6b03475ad7a54f.tar.gz
RoughlyEnoughItems-2a22249e3394e47b11b338f2fc6b03475ad7a54f.tar.bz2
RoughlyEnoughItems-2a22249e3394e47b11b338f2fc6b03475ad7a54f.zip
Build 111, updated to 1.14.1, discontinuing 1.14 support
Diffstat (limited to 'src/main/java/me')
-rw-r--r--src/main/java/me/shedaniel/rei/REIModMenuEntryPoint.java3
-rw-r--r--src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java30
-rw-r--r--src/main/java/me/shedaniel/rei/api/BaseBoundsHandler.java2
-rw-r--r--src/main/java/me/shedaniel/rei/api/ConfigManager.java2
-rw-r--r--src/main/java/me/shedaniel/rei/api/REIPlugin.java2
-rw-r--r--src/main/java/me/shedaniel/rei/api/SpeedCraftFunctional.java2
-rw-r--r--src/main/java/me/shedaniel/rei/client/BaseBoundsHandlerImpl.java2
-rw-r--r--src/main/java/me/shedaniel/rei/client/ClientHelperImpl.java4
-rw-r--r--src/main/java/me/shedaniel/rei/client/ConfigManagerImpl.java2
-rw-r--r--src/main/java/me/shedaniel/rei/client/ScreenHelper.java12
-rw-r--r--src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java12
-rw-r--r--src/main/java/me/shedaniel/rei/gui/PreRecipeViewingScreen.java2
-rw-r--r--src/main/java/me/shedaniel/rei/gui/RecipeViewingScreen.java43
-rw-r--r--src/main/java/me/shedaniel/rei/gui/VillagerRecipeViewingScreen.java4
-rw-r--r--src/main/java/me/shedaniel/rei/gui/credits/CreditsEntryListWidget.java2
-rw-r--r--src/main/java/me/shedaniel/rei/gui/credits/CreditsScreen.java8
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/TextFieldWidget.java2
-rw-r--r--src/main/java/me/shedaniel/rei/listeners/ContainerScreenHooks.java4
-rw-r--r--src/main/java/me/shedaniel/rei/listeners/CreativePlayerInventoryScreenHooks.java4
-rw-r--r--src/main/java/me/shedaniel/rei/listeners/RecipeBookGuiHooks.java10
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultBlastingDisplay.java2
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultCampfireDisplay.java2
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java49
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultShapedDisplay.java2
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultShapelessDisplay.java2
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultSmeltingDisplay.java2
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultSmokingDisplay.java2
-rw-r--r--src/main/java/me/shedaniel/rei/utils/ClothScreenRegistry.java2
28 files changed, 114 insertions, 101 deletions
diff --git a/src/main/java/me/shedaniel/rei/REIModMenuEntryPoint.java b/src/main/java/me/shedaniel/rei/REIModMenuEntryPoint.java
index 3d329531c..6f69001a9 100644
--- a/src/main/java/me/shedaniel/rei/REIModMenuEntryPoint.java
+++ b/src/main/java/me/shedaniel/rei/REIModMenuEntryPoint.java
@@ -6,7 +6,7 @@
package me.shedaniel.rei;
import io.github.prospector.modmenu.api.ModMenuApi;
-import net.minecraft.client.gui.Screen;
+import net.minecraft.client.gui.screen.Screen;
import java.util.Optional;
import java.util.function.Supplier;
@@ -18,6 +18,7 @@ public class REIModMenuEntryPoint implements ModMenuApi {
return "roughlyenoughitems";
}
+ @SuppressWarnings("deprecation")
@Override
public Optional<Supplier<Screen>> getConfigScreen(Screen screen) {
return Optional.of(() -> getScreen(screen));
diff --git a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java
index eb3bec81f..6982e3503 100644
--- a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java
+++ b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java
@@ -21,11 +21,11 @@ import net.fabricmc.loader.api.FabricLoader;
import net.fabricmc.loader.api.ModContainer;
import net.fabricmc.loader.api.metadata.ModMetadata;
import net.minecraft.client.MinecraftClient;
-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.screen.ingame.AbstractContainerScreen;
+import net.minecraft.client.gui.screen.ingame.CreativeInventoryScreen;
+import net.minecraft.client.gui.screen.ingame.InventoryScreen;
+import net.minecraft.client.gui.screen.recipebook.RecipeBookScreen;
import net.minecraft.client.gui.widget.RecipeBookButtonWidget;
import net.minecraft.client.gui.widget.TextFieldWidget;
import net.minecraft.util.ActionResult;
@@ -190,15 +190,15 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer {
((RecipeHelperImpl) RoughlyEnoughItemsCore.getRecipeHelper()).recipesLoaded(recipeManager);
});
ClothClientHooks.SCREEN_ADD_BUTTON.register((minecraftClient, screen, abstractButtonWidget) -> {
- if (RoughlyEnoughItemsCore.getConfigManager().getConfig().disableRecipeBook && screen instanceof ContainerScreen && abstractButtonWidget instanceof RecipeBookButtonWidget)
+ if (RoughlyEnoughItemsCore.getConfigManager().getConfig().disableRecipeBook && screen instanceof AbstractContainerScreen && abstractButtonWidget instanceof RecipeBookButtonWidget)
return ActionResult.FAIL;
return ActionResult.PASS;
});
ClothClientHooks.SCREEN_INIT_POST.register((minecraftClient, screen, screenHooks) -> {
- if (screen instanceof ContainerScreen) {
- if (screen instanceof PlayerInventoryScreen && minecraftClient.interactionManager.hasCreativeInventory())
+ if (screen instanceof AbstractContainerScreen) {
+ if (screen instanceof InventoryScreen && minecraftClient.interactionManager.hasCreativeInventory())
return;
- ScreenHelper.setLastContainerScreen((ContainerScreen) screen);
+ ScreenHelper.setLastContainerScreen((AbstractContainerScreen) screen);
boolean alreadyAdded = false;
for(Element element : Lists.newArrayList(screenHooks.cloth_getInputListeners()))
if (ContainerScreenOverlay.class.isAssignableFrom(element.getClass()))
@@ -211,11 +211,11 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer {
}
});
ClothClientHooks.SCREEN_RENDER_POST.register((minecraftClient, screen, i, i1, v) -> {
- if (screen instanceof ContainerScreen)
+ if (screen instanceof AbstractContainerScreen)
ScreenHelper.getLastOverlay().render(i, i1, v);
});
ClothClientHooks.SCREEN_MOUSE_CLICKED.register((minecraftClient, screen, v, v1, i) -> {
- if (screen instanceof CreativePlayerInventoryScreen)
+ if (screen instanceof CreativeInventoryScreen)
if (ScreenHelper.isOverlayVisible() && ScreenHelper.getLastOverlay().mouseClicked(v, v1, i)) {
screen.setFocused(ScreenHelper.getLastOverlay());
if (i == 0)
@@ -225,13 +225,13 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer {
return ActionResult.PASS;
});
ClothClientHooks.SCREEN_MOUSE_SCROLLED.register((minecraftClient, screen, v, v1, v2) -> {
- if (screen instanceof ContainerScreen)
+ if (screen instanceof AbstractContainerScreen)
if (ScreenHelper.isOverlayVisible() && ScreenHelper.getLastOverlay().isInside(ClientUtils.getMouseLocation()) && ScreenHelper.getLastOverlay().mouseScrolled(v, v1, v2))
return ActionResult.SUCCESS;
return ActionResult.PASS;
});
ClothClientHooks.SCREEN_CHAR_TYPED.register((minecraftClient, screen, character, keyCode) -> {
- if (screen instanceof ContainerScreen)
+ if (screen instanceof AbstractContainerScreen)
if (ScreenHelper.getLastOverlay().charTyped(character, keyCode))
return ActionResult.SUCCESS;
return ActionResult.PASS;
@@ -239,13 +239,13 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer {
ClothClientHooks.SCREEN_LATE_RENDER.register((minecraftClient, screen, i, i1, v) -> {
if (!ScreenHelper.isOverlayVisible())
return;
- if (screen instanceof ContainerScreen)
+ if (screen instanceof AbstractContainerScreen)
ScreenHelper.getLastOverlay().lateRender(i, i1, v);
});
ClothClientHooks.SCREEN_KEY_PRESSED.register((minecraftClient, screen, i, i1, i2) -> {
- if (screen.getFocused() != null && screen.getFocused() instanceof TextFieldWidget || (screen.getFocused() instanceof RecipeBookGui && ((RecipeBookGuiHooks) screen.getFocused()).rei_getSearchField() != null && ((RecipeBookGuiHooks) screen.getFocused()).rei_getSearchField().isFocused()))
+ if (screen.getFocused() != null && screen.getFocused() instanceof TextFieldWidget || (screen.getFocused() instanceof RecipeBookScreen && ((RecipeBookGuiHooks) screen.getFocused()).rei_getSearchField() != null && ((RecipeBookGuiHooks) screen.getFocused()).rei_getSearchField().isFocused()))
return ActionResult.PASS;
- if (screen instanceof ContainerScreen)
+ if (screen instanceof AbstractContainerScreen)
if (ScreenHelper.getLastOverlay().keyPressed(i, i1, i2))
return ActionResult.SUCCESS;
return ActionResult.PASS;
diff --git a/src/main/java/me/shedaniel/rei/api/BaseBoundsHandler.java b/src/main/java/me/shedaniel/rei/api/BaseBoundsHandler.java
index 3aaf1f482..3dea674fe 100644
--- a/src/main/java/me/shedaniel/rei/api/BaseBoundsHandler.java
+++ b/src/main/java/me/shedaniel/rei/api/BaseBoundsHandler.java
@@ -5,7 +5,7 @@
package me.shedaniel.rei.api;
-import net.minecraft.client.gui.Screen;
+import net.minecraft.client.gui.screen.Screen;
import java.awt.*;
import java.util.List;
diff --git a/src/main/java/me/shedaniel/rei/api/ConfigManager.java b/src/main/java/me/shedaniel/rei/api/ConfigManager.java
index 4b138b639..5f915dfff 100644
--- a/src/main/java/me/shedaniel/rei/api/ConfigManager.java
+++ b/src/main/java/me/shedaniel/rei/api/ConfigManager.java
@@ -6,7 +6,7 @@
package me.shedaniel.rei.api;
import me.shedaniel.rei.client.ConfigObject;
-import net.minecraft.client.gui.Screen;
+import net.minecraft.client.gui.screen.Screen;
import java.io.IOException;
diff --git a/src/main/java/me/shedaniel/rei/api/REIPlugin.java b/src/main/java/me/shedaniel/rei/api/REIPlugin.java
index 372c9e23f..77ee28d9d 100644
--- a/src/main/java/me/shedaniel/rei/api/REIPlugin.java
+++ b/src/main/java/me/shedaniel/rei/api/REIPlugin.java
@@ -16,6 +16,6 @@ import net.minecraft.util.Identifier;
public interface REIPlugin extends REIPluginEntry {
@Override
default Identifier getPluginIdentifier() {
- return RoughlyEnoughItemsCore.getPluginIdentifier(this).orElse(Identifier.create("null"));
+ return RoughlyEnoughItemsCore.getPluginIdentifier(this).orElse(Identifier.ofNullable("null"));
}
}
diff --git a/src/main/java/me/shedaniel/rei/api/SpeedCraftFunctional.java b/src/main/java/me/shedaniel/rei/api/SpeedCraftFunctional.java
index 6824883a3..32f67438d 100644
--- a/src/main/java/me/shedaniel/rei/api/SpeedCraftFunctional.java
+++ b/src/main/java/me/shedaniel/rei/api/SpeedCraftFunctional.java
@@ -5,7 +5,7 @@
package me.shedaniel.rei.api;
-import net.minecraft.client.gui.Screen;
+import net.minecraft.client.gui.screen.Screen;
public interface SpeedCraftFunctional<T extends RecipeDisplay> {
diff --git a/src/main/java/me/shedaniel/rei/client/BaseBoundsHandlerImpl.java b/src/main/java/me/shedaniel/rei/client/BaseBoundsHandlerImpl.java
index ca2720e8f..972fba8b3 100644
--- a/src/main/java/me/shedaniel/rei/client/BaseBoundsHandlerImpl.java
+++ b/src/main/java/me/shedaniel/rei/client/BaseBoundsHandlerImpl.java
@@ -10,7 +10,7 @@ import me.shedaniel.rei.RoughlyEnoughItemsCore;
import me.shedaniel.rei.api.BaseBoundsHandler;
import me.shedaniel.rei.api.DisplayHelper;
import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.gui.Screen;
+import net.minecraft.client.gui.screen.Screen;
import net.minecraft.util.ActionResult;
import net.minecraft.util.Pair;
diff --git a/src/main/java/me/shedaniel/rei/client/ClientHelperImpl.java b/src/main/java/me/shedaniel/rei/client/ClientHelperImpl.java
index 207723944..5d04387aa 100644
--- a/src/main/java/me/shedaniel/rei/client/ClientHelperImpl.java
+++ b/src/main/java/me/shedaniel/rei/client/ClientHelperImpl.java
@@ -25,7 +25,7 @@ import net.fabricmc.loader.api.FabricLoader;
import net.fabricmc.loader.api.ModContainer;
import net.fabricmc.loader.api.metadata.ModMetadata;
import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.gui.ingame.CreativePlayerInventoryScreen;
+import net.minecraft.client.gui.screen.ingame.CreativeInventoryScreen;
import net.minecraft.client.util.InputUtil;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
@@ -131,7 +131,7 @@ public class ClientHelperImpl implements ClientHelper, ClientModInitializer {
@Override
public void sendDeletePacket() {
- if (ScreenHelper.getLastContainerScreen() instanceof CreativePlayerInventoryScreen) {
+ if (ScreenHelper.getLastContainerScreen() instanceof CreativeInventoryScreen) {
MinecraftClient.getInstance().player.inventory.setCursorStack(ItemStack.EMPTY);
return;
}
diff --git a/src/main/java/me/shedaniel/rei/client/ConfigManagerImpl.java b/src/main/java/me/shedaniel/rei/client/ConfigManagerImpl.java
index 741bd9fc4..d232c9914 100644
--- a/src/main/java/me/shedaniel/rei/client/ConfigManagerImpl.java
+++ b/src/main/java/me/shedaniel/rei/client/ConfigManagerImpl.java
@@ -13,7 +13,7 @@ import me.shedaniel.rei.RoughlyEnoughItemsCore;
import me.shedaniel.rei.api.ConfigManager;
import net.fabricmc.loader.api.FabricLoader;
import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.gui.Screen;
+import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.resource.language.I18n;
import net.minecraft.network.chat.TextComponent;
diff --git a/src/main/java/me/shedaniel/rei/client/ScreenHelper.java b/src/main/java/me/shedaniel/rei/client/ScreenHelper.java
index 016a82c14..81c5c8df4 100644
--- a/src/main/java/me/shedaniel/rei/client/ScreenHelper.java
+++ b/src/main/java/me/shedaniel/rei/client/ScreenHelper.java
@@ -12,7 +12,7 @@ import me.shedaniel.rei.listeners.ContainerScreenHooks;
import net.fabricmc.api.ClientModInitializer;
import net.fabricmc.fabric.api.event.client.ClientTickCallback;
import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.gui.ContainerScreen;
+import net.minecraft.client.gui.screen.ingame.AbstractContainerScreen;
import net.minecraft.client.util.Window;
import net.minecraft.item.ItemStack;
import org.apache.logging.log4j.util.TriConsumer;
@@ -26,7 +26,7 @@ public class ScreenHelper implements ClientModInitializer {
public static List<ItemStack> inventoryStacks = Lists.newArrayList();
private static boolean overlayVisible = true;
private static ContainerScreenOverlay overlay;
- private static ContainerScreen lastContainerScreen = null;
+ private static AbstractContainerScreen lastContainerScreen = null;
public static boolean isOverlayVisible() {
return overlayVisible;
@@ -48,11 +48,11 @@ public class ScreenHelper implements ClientModInitializer {
return getLastOverlay(false, false);
}
- public static ContainerScreen getLastContainerScreen() {
+ public static AbstractContainerScreen getLastContainerScreen() {
return lastContainerScreen;
}
- public static void setLastContainerScreen(ContainerScreen lastContainerScreen) {
+ public static void setLastContainerScreen(AbstractContainerScreen lastContainerScreen) {
ScreenHelper.lastContainerScreen = lastContainerScreen;
}
@@ -78,8 +78,8 @@ public class ScreenHelper implements ClientModInitializer {
@Override
public void onInitializeClient() {
ClientTickCallback.EVENT.register(client -> {
- if (lastContainerScreen != client.currentScreen && client.currentScreen instanceof ContainerScreen)
- lastContainerScreen = (ContainerScreen) client.currentScreen;
+ if (lastContainerScreen != client.currentScreen && client.currentScreen instanceof AbstractContainerScreen)
+ lastContainerScreen = (AbstractContainerScreen) client.currentScreen;
});
}
diff --git a/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java b/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java
index e90fef7c1..ed7d3b852 100644
--- a/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java
+++ b/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java
@@ -17,7 +17,11 @@ import me.shedaniel.rei.gui.widget.*;
import me.shedaniel.rei.listeners.ContainerScreenHooks;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.font.TextRenderer;
-import net.minecraft.client.gui.*;
+import net.minecraft.client.gui.AbstractParentElement;
+import net.minecraft.client.gui.Drawable;
+import net.minecraft.client.gui.Element;
+import net.minecraft.client.gui.screen.Screen;
+import net.minecraft.client.gui.screen.ingame.AbstractContainerScreen;
import net.minecraft.client.render.GuiLighting;
import net.minecraft.client.resource.language.I18n;
import net.minecraft.client.sound.PositionedSoundInstance;
@@ -344,12 +348,12 @@ public class ContainerScreenOverlay extends AbstractParentElement implements Dra
DisplayHelper.DisplayBoundsHandler boundsHandler = RoughlyEnoughItemsCore.getDisplayHelper().getResponsibleBoundsHandler(MinecraftClient.getInstance().currentScreen.getClass());
itemListOverlay.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm, true);
}
- if (MinecraftClient.getInstance().currentScreen instanceof ContainerScreen && SearchFieldWidget.isSearching) {
+ if (MinecraftClient.getInstance().currentScreen instanceof AbstractContainerScreen && SearchFieldWidget.isSearching) {
GuiLighting.disable();
blitOffset = 200;
ContainerScreenHooks hooks = (ContainerScreenHooks) MinecraftClient.getInstance().currentScreen;
int left = hooks.rei_getContainerLeft(), top = hooks.rei_getContainerTop();
- for(Slot slot : ((ContainerScreen) MinecraftClient.getInstance().currentScreen).getContainer().slotList)
+ for(Slot slot : ((AbstractContainerScreen) MinecraftClient.getInstance().currentScreen).getContainer().slotList)
if (!slot.hasStack() || !itemListOverlay.filterItem(slot.getStack(), itemListOverlay.getLastSearchArgument()))
fillGradient(left + slot.xPosition, top + slot.yPosition, left + slot.xPosition + 16, top + slot.yPosition + 16, -601874400, -601874400);
blitOffset = 0;
@@ -474,7 +478,7 @@ public class ContainerScreenOverlay extends AbstractParentElement implements Dra
if (!ScreenHelper.isOverlayVisible())
return false;
ItemStack itemStack = null;
- if (MinecraftClient.getInstance().currentScreen instanceof ContainerScreen)
+ if (MinecraftClient.getInstance().currentScreen instanceof AbstractContainerScreen)
if (ScreenHelper.getLastContainerScreenHooks().rei_getHoveredSlot() != null && !ScreenHelper.getLastContainerScreenHooks().rei_getHoveredSlot().getStack().isEmpty())
itemStack = ScreenHelper.getLastContainerScreenHooks().rei_getHoveredSlot().getStack();
if (itemStack != null && !itemStack.isEmpty()) {
diff --git a/src/main/java/me/shedaniel/rei/gui/PreRecipeViewingScreen.java b/src/main/java/me/shedaniel/rei/gui/PreRecipeViewingScreen.java
index 7509524c6..bfceee51c 100644
--- a/src/main/java/me/shedaniel/rei/gui/PreRecipeViewingScreen.java
+++ b/src/main/java/me/shedaniel/rei/gui/PreRecipeViewingScreen.java
@@ -17,7 +17,7 @@ import me.shedaniel.rei.gui.widget.HighlightableWidget;
import me.shedaniel.rei.gui.widget.Widget;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.Element;
-import net.minecraft.client.gui.Screen;
+import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.render.GuiLighting;
import net.minecraft.client.resource.language.I18n;
import net.minecraft.client.sound.PositionedSoundInstance;
diff --git a/src/main/java/me/shedaniel/rei/gui/RecipeViewingScreen.java b/src/main/java/me/shedaniel/rei/gui/RecipeViewingScreen.java
index de66c2e17..8884fb380 100644
--- a/src/main/java/me/shedaniel/rei/gui/RecipeViewingScreen.java
+++ b/src/main/java/me/shedaniel/rei/gui/RecipeViewingScreen.java
@@ -13,9 +13,9 @@ import me.shedaniel.rei.api.*;
import me.shedaniel.rei.client.ScreenHelper;
import me.shedaniel.rei.gui.widget.*;
import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.gui.ContainerScreen;
import net.minecraft.client.gui.Element;
-import net.minecraft.client.gui.Screen;
+import net.minecraft.client.gui.screen.Screen;
+import net.minecraft.client.gui.screen.ingame.AbstractContainerScreen;
import net.minecraft.client.render.GuiLighting;
import net.minecraft.client.resource.language.I18n;
import net.minecraft.client.sound.PositionedSoundInstance;
@@ -37,6 +37,7 @@ public class RecipeViewingScreen extends Screen {
public static final Identifier CHEST_GUI_TEXTURE = new Identifier("roughlyenoughitems", "textures/gui/recipecontainer.png");
public static final Color SUB_COLOR = new Color(159, 159, 159);
+ private static final int TABS_PER_PAGE = 5;
private final List<Widget> widgets;
private final List<TabWidget> tabs;
private final Map<RecipeCategory, List<RecipeDisplay>> categoriesMap;
@@ -68,7 +69,7 @@ public class RecipeViewingScreen extends Screen {
this.choosePageActivated = false;
}
- public static SpeedCraftFunctional getSpeedCraftFunctionalByCategory(ContainerScreen containerScreen, RecipeCategory category) {
+ public static SpeedCraftFunctional getSpeedCraftFunctionalByCategory(AbstractContainerScreen containerScreen, RecipeCategory category) {
for(SpeedCraftFunctional functional : RecipeHelper.getInstance().getSpeedCraftFunctional(category))
for(Class aClass : functional.getFunctioningFor())
if (containerScreen.getClass().isAssignableFrom(aClass))
@@ -129,6 +130,26 @@ public class RecipeViewingScreen extends Screen {
this.bounds = new Rectangle(width / 2 - guiWidth / 2, height / 2 - guiHeight / 2, guiWidth, guiHeight);
this.page = MathHelper.clamp(page, 0, getTotalPages(selectedCategory) - 1);
+ ButtonWidget w, w2;
+ this.widgets.add(w = new ButtonWidget(bounds.x + 2, bounds.y - 16, 10, 10, new TranslatableComponent("text.rei.left_arrow")) {
+ @Override
+ public void onPressed() {
+ categoryPages--;
+ if (categoryPages < 0)
+ categoryPages = MathHelper.ceil(categories.size() / (float) TABS_PER_PAGE) - 1;
+ RecipeViewingScreen.this.init();
+ }
+ });
+ this.widgets.add(w2 = new ButtonWidget(bounds.x + bounds.width - 12, bounds.y - 16, 10, 10, new TranslatableComponent("text.rei.right_arrow")) {
+ @Override
+ public void onPressed() {
+ categoryPages++;
+ if (categoryPages > MathHelper.ceil(categories.size() / (float) TABS_PER_PAGE) - 1)
+ categoryPages = 0;
+ RecipeViewingScreen.this.init();
+ }
+ });
+ w.enabled = w2.enabled = categories.size() > TABS_PER_PAGE;
widgets.add(categoryBack = new ButtonWidget((int) bounds.getX() + 5, (int) bounds.getY() + 5, 12, 12, new TranslatableComponent("text.rei.left_arrow")) {
@Override
public void onPressed() {
@@ -137,7 +158,7 @@ public class RecipeViewingScreen extends Screen {
if (currentCategoryIndex < 0)
currentCategoryIndex = categories.size() - 1;
selectedCategory = categories.get(currentCategoryIndex);
- categoryPages = MathHelper.floor(currentCategoryIndex / 6d);
+ categoryPages = MathHelper.floor(currentCategoryIndex / (double) TABS_PER_PAGE);
page = 0;
RecipeViewingScreen.this.init();
}
@@ -173,7 +194,7 @@ public class RecipeViewingScreen extends Screen {
if (currentCategoryIndex >= categories.size())
currentCategoryIndex = 0;
selectedCategory = categories.get(currentCategoryIndex);
- categoryPages = MathHelper.floor(currentCategoryIndex / 6d);
+ categoryPages = MathHelper.floor(currentCategoryIndex / (double) TABS_PER_PAGE);
page = 0;
RecipeViewingScreen.this.init();
}
@@ -234,18 +255,18 @@ public class RecipeViewingScreen extends Screen {
}
});
recipeBack.enabled = recipeNext.enabled = categoriesMap.get(selectedCategory).size() > getRecipesPerPageByHeight();
- for(int i = 0; i < 6; i++) {
- int j = i + categoryPages * 6;
+ for(int i = 0; i < TABS_PER_PAGE; i++) {
+ int j = i + categoryPages * TABS_PER_PAGE;
if (categories.size() > j) {
TabWidget tab;
- tabs.add(tab = new TabWidget(i, new Rectangle(bounds.x + 4 + 28 * i, bounds.y - 28, 28, 28)) {
+ tabs.add(tab = new TabWidget(i, new Rectangle(bounds.x + bounds.width / 2 - Math.min(categories.size() - categoryPages * TABS_PER_PAGE, TABS_PER_PAGE) * 14 + i * 28, bounds.y - 28, 28, 28)) {
@Override
public boolean mouseClicked(double mouseX, double mouseY, int button) {
if (getBounds().contains(mouseX, mouseY)) {
MinecraftClient.getInstance().getSoundManager().play(PositionedSoundInstance.master(SoundEvents.UI_BUTTON_CLICK, 1.0F));
- if (getId() + categoryPages * 6 == categories.indexOf(selectedCategory))
+ if (getId() + categoryPages * TABS_PER_PAGE == categories.indexOf(selectedCategory))
return false;
- selectedCategory = categories.get(getId() + categoryPages * 6);
+ selectedCategory = categories.get(getId() + categoryPages * TABS_PER_PAGE);
page = 0;
RecipeViewingScreen.this.init();
return true;
@@ -253,7 +274,7 @@ public class RecipeViewingScreen extends Screen {
return false;
}
});
- tab.setRenderer(categories.get(j), categories.get(j).getIcon(), categories.get(j).getCategoryName(), tab.getId() + categoryPages * 6 == categories.indexOf(selectedCategory));
+ tab.setRenderer(categories.get(j), categories.get(j).getIcon(), categories.get(j).getCategoryName(), tab.getId() + categoryPages * TABS_PER_PAGE == categories.indexOf(selectedCategory));
}
}
Optional<ButtonAreaSupplier> supplier = RecipeHelper.getInstance().getSpeedCraftButtonArea(selectedCategory);
diff --git a/src/main/java/me/shedaniel/rei/gui/VillagerRecipeViewingScreen.java b/src/main/java/me/shedaniel/rei/gui/VillagerRecipeViewingScreen.java
index 7b70cfb93..1b59cc1f7 100644
--- a/src/main/java/me/shedaniel/rei/gui/VillagerRecipeViewingScreen.java
+++ b/src/main/java/me/shedaniel/rei/gui/VillagerRecipeViewingScreen.java
@@ -16,7 +16,7 @@ import me.shedaniel.rei.gui.renderables.RecipeRenderer;
import me.shedaniel.rei.gui.widget.*;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.Element;
-import net.minecraft.client.gui.Screen;
+import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.render.GuiLighting;
import net.minecraft.client.resource.language.I18n;
import net.minecraft.client.sound.PositionedSoundInstance;
@@ -276,7 +276,7 @@ public class VillagerRecipeViewingScreen extends Screen {
}
if (ClientHelper.getInstance().getNextPageKeyBinding().matchesKey(int_1, int_2)) {
if (categoryMap.get(categories.get(selectedCategoryIndex)).size() > 1) {
- selectedRecipeIndex ++;
+ selectedRecipeIndex++;
if (selectedRecipeIndex >= categoryMap.get(categories.get(selectedCategoryIndex)).size())
selectedRecipeIndex = 0;
init();
diff --git a/src/main/java/me/shedaniel/rei/gui/credits/CreditsEntryListWidget.java b/src/main/java/me/shedaniel/rei/gui/credits/CreditsEntryListWidget.java
index 440971a37..ac396b7e4 100644
--- a/src/main/java/me/shedaniel/rei/gui/credits/CreditsEntryListWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/credits/CreditsEntryListWidget.java
@@ -6,7 +6,7 @@
package me.shedaniel.rei.gui.credits;
import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.gui.menu