aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2021-05-31 00:14:21 +0800
committershedaniel <daniel@shedaniel.me>2021-05-31 00:14:21 +0800
commit82e9655e3786f58c32e2b6584732bb40f9508c1c (patch)
treec045169783ff60013c5d063dbe8ec03b97cdc2a9
parent82cb8e2ac9f87375998e5962f1ffe8a9c05bafb0 (diff)
downloadRoughlyEnoughItems-82e9655e3786f58c32e2b6584732bb40f9508c1c.tar.gz
RoughlyEnoughItems-82e9655e3786f58c32e2b6584732bb40f9508c1c.tar.bz2
RoughlyEnoughItems-82e9655e3786f58c32e2b6584732bb40f9508c1c.zip
Fix rendering issues with overlays, REIHelper -> REIRuntime
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/REIRuntime.java (renamed from api/src/main/java/me/shedaniel/rei/api/client/REIHelper.java)9
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/entry/renderer/AbstractEntryRenderer.java3
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/entry/renderer/BatchedEntryRenderer.java9
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/entry/renderer/EntryRenderer.java1
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/entry/type/BuiltinClientEntryTypes.java3
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/favorites/CompoundFavoriteRenderer.java5
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/favorites/FavoriteEntry.java3
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/favorites/FavoriteEntryType.java3
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/favorites/FavoriteMenuEntry.java3
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/gui/AbstractContainerEventHandler.java2
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/gui/AbstractRenderer.java3
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/gui/DisplayRenderer.java3
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/gui/DrawableConsumer.java5
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/gui/SimpleDisplayRenderer.java2
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/gui/drag/DraggingContext.java4
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/Label.java6
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/Panel.java4
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/Tooltip.java4
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/overlay/OverlayListWidget.java5
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/overlay/ScreenOverlay.java3
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/plugins/REIClientPlugin.java3
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/registry/category/ButtonArea.java3
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/registry/display/DynamicDisplayGenerator.java3
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/registry/display/TransferDisplayCategory.java3
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/registry/display/visibility/DisplayVisibilityPredicate.java3
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/registry/screen/ClickArea.java3
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/registry/screen/DisplayBoundsProvider.java3
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/registry/screen/ExclusionZonesProvider.java3
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/registry/screen/FocusedStackProvider.java3
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/registry/screen/OverlayDecider.java6
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/registry/screen/SimpleClickArea.java3
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/search/SearchFilter.java3
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/search/SearchProvider.java3
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/util/SpriteRenderer.java55
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/common/display/Display.java7
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/common/display/DisplaySerializer.java7
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/common/display/DisplaySerializerRegistry.java2
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/common/display/SimpleGridMenuDisplay.java (renamed from api/src/main/java/me/shedaniel/rei/api/common/display/SimpleMenuDisplay.java)2
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/common/entry/EntryIngredient.java2
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/common/entry/type/EntryType.java9
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/common/transfer/info/simple/RecipeBookGridMenuInfo.java4
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/common/transfer/info/simple/SimpleGridMenuInfo.java10
-rwxr-xr-xbuild.gradle7
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultRecipeBookHandler.java4
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/DefaultBrewingCategory.java4
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/DefaultInformationCategory.java8
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/beacon/DefaultBeaconBaseCategory.java4
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/beacon/DefaultBeaconPaymentCategory.java4
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/client/favorites/GameModeFavoriteEntry.java4
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/client/favorites/WeatherFavoriteEntry.java4
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/cooking/DefaultCookingDisplay.java4
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/crafting/DefaultCraftingDisplay.java4
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java44
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsInitializer.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/ClientHelperImpl.java9
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/REIRuntimeImpl.java (renamed from runtime/src/main/java/me/shedaniel/rei/impl/client/REIHelperImpl.java)10
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigManagerImpl.java12
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringScreen.java14
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/ScreenOverlayImpl.java83
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/modules/Menu.java6
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/modules/entries/EntryStackSubsetsMenuEntry.java12
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/modules/entries/GameModeMenuEntry.java6
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/modules/entries/SubSubsetsMenuEntry.java12
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/modules/entries/WeatherMenuEntry.java6
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/CompositeDisplayViewingScreen.java22
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/DefaultDisplayViewingScreen.java22
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/UncertainDisplayViewingScreen.java4
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/BatchedEntryRendererManager.java33
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/DefaultDisplayChoosePageWidget.java6
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryListWidget.java10
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryWidget.java13
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/FavoritesListWidget.java12
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/InternalWidgets.java6
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/TabWidget.java4
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/basewidgets/ArrowWidget.java4
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/basewidgets/BurningFireWidget.java5
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/basewidgets/ButtonWidget.java4
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/basewidgets/LabelWidget.java6
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/basewidgets/PanelWidget.java4
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/search/OverlaySearchField.java4
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/view/ViewsImpl.java10
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/common/entry/type/EntryTypeDeferred.java14
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultCategoryHandler.java6
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/plugin/client/DefaultClientRuntimePlugin.java10
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/FluidEntryDefinition.java41
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/ItemEntryDefinition.java16
86 files changed, 452 insertions, 287 deletions
diff --git a/api/src/main/java/me/shedaniel/rei/api/client/REIHelper.java b/api/src/main/java/me/shedaniel/rei/api/client/REIRuntime.java
index afe34317e..354c1ce19 100644
--- a/api/src/main/java/me/shedaniel/rei/api/client/REIHelper.java
+++ b/api/src/main/java/me/shedaniel/rei/api/client/REIRuntime.java
@@ -36,18 +36,17 @@ import net.fabricmc.api.Environment;
import net.minecraft.client.gui.screens.Screen;
import net.minecraft.client.gui.screens.inventory.AbstractContainerScreen;
import net.minecraft.resources.ResourceLocation;
-import net.minecraft.world.item.ItemStack;
import org.jetbrains.annotations.Nullable;
import java.util.Optional;
@Environment(EnvType.CLIENT)
-public interface REIHelper extends Reloadable<REIClientPlugin> {
+public interface REIRuntime extends Reloadable<REIClientPlugin> {
/**
- * @return the instance of {@link REIHelper}
+ * @return the instance of {@link REIRuntime}
*/
- static REIHelper getInstance() {
- return PluginManager.getClientInstance().get(REIHelper.class);
+ static REIRuntime getInstance() {
+ return PluginManager.getClientInstance().get(REIRuntime.class);
}
boolean isOverlayVisible();
diff --git a/api/src/main/java/me/shedaniel/rei/api/client/entry/renderer/AbstractEntryRenderer.java b/api/src/main/java/me/shedaniel/rei/api/client/entry/renderer/AbstractEntryRenderer.java
index 388d2c19d..28d88ce98 100644
--- a/api/src/main/java/me/shedaniel/rei/api/client/entry/renderer/AbstractEntryRenderer.java
+++ b/api/src/main/java/me/shedaniel/rei/api/client/entry/renderer/AbstractEntryRenderer.java
@@ -23,7 +23,10 @@
package me.shedaniel.rei.api.client.entry.renderer;
+import net.fabricmc.api.EnvType;
+import net.fabricmc.api.Environment;
import net.minecraft.client.gui.GuiComponent;
+@Environment(EnvType.CLIENT)
public abstract class AbstractEntryRenderer<T> extends GuiComponent implements EntryRenderer<T> {
}
diff --git a/api/src/main/java/me/shedaniel/rei/api/client/entry/renderer/BatchedEntryRenderer.java b/api/src/main/java/me/shedaniel/rei/api/client/entry/renderer/BatchedEntryRenderer.java
index 7944285fc..d02a43506 100644
--- a/api/src/main/java/me/shedaniel/rei/api/client/entry/renderer/BatchedEntryRenderer.java
+++ b/api/src/main/java/me/shedaniel/rei/api/client/entry/renderer/BatchedEntryRenderer.java
@@ -26,6 +26,8 @@ package me.shedaniel.rei.api.client.entry.renderer;
import com.mojang.blaze3d.vertex.PoseStack;
import me.shedaniel.math.Rectangle;
import me.shedaniel.rei.api.common.entry.EntryStack;
+import net.fabricmc.api.EnvType;
+import net.fabricmc.api.Environment;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.MultiBufferSource;
@@ -35,6 +37,7 @@ import net.minecraft.client.renderer.MultiBufferSource;
* @param <T> the entry type
* @param <E> the type of extra data returned in {@link #getExtraData(EntryStack)}
*/
+@Environment(EnvType.CLIENT)
public interface BatchedEntryRenderer<T, E> extends EntryRenderer<T> {
default boolean isBatched(EntryStack<T> entry) {
return true;
@@ -57,9 +60,7 @@ public interface BatchedEntryRenderer<T, E> extends EntryRenderer<T> {
* @param extraData the extra data returned from {@link #getExtraData(EntryStack)}
* @return the batch identifier
*/
- default int getBatchIdentifier(EntryStack<T> entry, Rectangle bounds, E extraData) {
- return getClass().hashCode();
- }
+ int getBatchIdentifier(EntryStack<T> entry, Rectangle bounds, E extraData);
/**
* Modifies the {@link PoseStack} passed tp various batch rendering methods.
@@ -83,6 +84,8 @@ public interface BatchedEntryRenderer<T, E> extends EntryRenderer<T> {
void renderBase(EntryStack<T> entry, E extraData, PoseStack matrices, MultiBufferSource.BufferSource immediate, Rectangle bounds, int mouseX, int mouseY, float delta);
+ void afterBase(EntryStack<T> entry, E extraData, PoseStack matrices, float delta);
+
void renderOverlay(EntryStack<T> entry, E extraData, PoseStack matrices, MultiBufferSource.BufferSource immediate, Rectangle bounds, int mouseX, int mouseY, float delta);
/**
diff --git a/api/src/main/java/me/shedaniel/rei/api/client/entry/renderer/EntryRenderer.java b/api/src/main/java/me/shedaniel/rei/api/client/entry/renderer/EntryRenderer.java
index 95a85d77a..3943a76eb 100644
--- a/api/src/main/java/me/shedaniel/rei/api/client/entry/renderer/EntryRenderer.java
+++ b/api/src/main/java/me/shedaniel/rei/api/client/entry/renderer/EntryRenderer.java
@@ -41,6 +41,7 @@ import org.jetbrains.annotations.Nullable;
* @param <T> the entry type
* @see BatchedEntryRenderer
*/
+@Environment(EnvType.CLIENT)
public interface EntryRenderer<T> {
static <T> EntryRenderer<T> empty() {
return ClientInternals.getEmptyEntryRenderer();
diff --git a/api/src/main/java/me/shedaniel/rei/api/client/entry/type/BuiltinClientEntryTypes.java b/api/src/main/java/me/shedaniel/rei/api/client/entry/type/BuiltinClientEntryTypes.java
index dc352ec47..1f4d4558a 100644
--- a/api/src/main/java/me/shedaniel/rei/api/client/entry/type/BuiltinClientEntryTypes.java
+++ b/api/src/main/java/me/shedaniel/rei/api/client/entry/type/BuiltinClientEntryTypes.java
@@ -25,10 +25,13 @@ package me.shedaniel.rei.api.client.entry.type;
import me.shedaniel.rei.api.client.gui.Renderer;
import me.shedaniel.rei.api.common.entry.type.EntryType;
+import net.fabricmc.api.EnvType;
+import net.fabricmc.api.Environment;
import net.minecraft.resources.ResourceLocation;
import org.jetbrains.annotations.ApiStatus;
@ApiStatus.NonExtendable
+@Environment(EnvType.CLIENT)
public interface BuiltinClientEntryTypes {
ResourceLocation RENDERING_ID = new ResourceLocation("rendering");
diff --git a/api/src/main/java/me/shedaniel/rei/api/client/favorites/CompoundFavoriteRenderer.java b/api/src/main/java/me/shedaniel/rei/api/client/favorites/CompoundFavoriteRenderer.java
index 21e397350..e9ce917dd 100644
--- a/