From 995b8b58aa8c890c9181ae479e12a4facfa05a25 Mon Sep 17 00:00:00 2001 From: shedaniel Date: Thu, 25 Mar 2021 03:55:36 +0800 Subject: Relocate most of the internal classes to match the api Signed-off-by: shedaniel --- .../me/shedaniel/rei/api/client/ClientHelper.java | 2 +- .../rei/api/client/config/ConfigObject.java | 2 +- .../entry/renderer/AbstractEntryRenderer.java | 29 + .../client/entry/renderer/BatchEntryRenderer.java | 61 ++ .../api/client/entry/renderer/EntryRenderer.java | 49 ++ .../client/entry/type/BuiltinClientEntryTypes.java | 36 + .../rei/api/client/favorites/FavoriteEntry.java | 2 +- .../api/client/favorites/FavoriteEntryType.java | 2 +- .../rei/api/client/gui/SimpleDisplayRenderer.java | 6 +- .../rei/api/client/gui/drag/DraggableStack.java | 2 +- .../shedaniel/rei/api/client/gui/widgets/Slot.java | 2 +- .../entry/renderer/AbstractEntryRenderer.java | 29 - .../entry/renderer/BatchEntryRenderer.java | 61 -- .../ingredient/entry/renderer/EntryRenderer.java | 49 -- .../entry/type/BuiltinClientEntryTypes.java | 36 - .../ingredient/util/ClientEntryIngredients.java | 35 - .../client/ingredient/util/ClientEntryStacks.java | 40 - .../rei/api/client/plugins/REIClientPlugin.java | 5 + .../client/registry/category/CategoryRegistry.java | 4 +- .../client/registry/display/DisplayCategory.java | 2 +- .../registry/display/LiveDisplayGenerator.java | 2 +- .../api/client/registry/entry/EntryRegistry.java | 2 +- .../registry/screen/FocusedStackProvider.java | 2 +- .../api/client/registry/screen/ScreenRegistry.java | 2 +- .../client/registry/transfer/TransferHandler.java | 9 + .../rei/api/client/search/SearchFilter.java | 2 +- .../rei/api/client/subsets/SubsetsRegistry.java | 2 +- .../api/client/util/ClientEntryIngredients.java | 35 + .../rei/api/client/util/ClientEntryStacks.java | 40 + .../rei/api/client/view/ViewSearchBuilder.java | 2 +- .../me/shedaniel/rei/api/client/view/Views.java | 2 +- .../shedaniel/rei/api/common/display/Display.java | 2 +- .../common/display/SimpleDisplaySerializer.java | 2 +- .../rei/api/common/display/basic/BasicDisplay.java | 4 +- .../rei/api/common/entry/EntryIngredient.java | 64 ++ .../rei/api/common/entry/EntrySerializer.java | 41 + .../shedaniel/rei/api/common/entry/EntryStack.java | 227 +++++ .../common/entry/comparison/ComparisonContext.java | 49 ++ .../common/entry/comparison/ItemComparator.java | 67 ++ .../entry/comparison/ItemComparatorRegistry.java | 63 ++ .../api/common/entry/type/BuiltinEntryTypes.java | 35 + .../rei/api/common/entry/type/EntryDefinition.java | 71 ++ .../rei/api/common/entry/type/EntryType.java | 44 + .../rei/api/common/entry/type/EntryTypeBridge.java | 35 + .../api/common/entry/type/EntryTypeRegistry.java | 99 +++ .../api/common/entry/type/VanillaEntryTypes.java | 35 + .../rei/api/common/fluid/FluidSupportProvider.java | 2 +- .../rei/api/common/ingredient/EntryIngredient.java | 64 -- .../rei/api/common/ingredient/EntryStack.java | 228 ----- .../common/ingredient/entry/EntrySerializer.java | 42 - .../entry/comparison/ComparisonContext.java | 49 -- .../entry/comparison/ItemComparator.java | 67 -- .../entry/comparison/ItemComparatorRegistry.java | 63 -- .../ingredient/entry/type/BuiltinEntryTypes.java | 35 - .../ingredient/entry/type/EntryDefinition.java | 71 -- .../common/ingredient/entry/type/EntryType.java | 44 - .../ingredient/entry/type/EntryTypeBridge.java | 35 - .../ingredient/entry/type/EntryTypeRegistry.java | 99 --- .../ingredient/entry/type/VanillaEntryTypes.java | 35 - .../common/ingredient/util/EntryIngredients.java | 173 ---- .../api/common/ingredient/util/EntryStacks.java | 207 ----- .../rei/api/common/plugins/REIPlugin.java | 4 +- .../rei/api/common/plugins/REIPluginProvider.java | 3 +- .../rei/api/common/plugins/REIServerPlugin.java | 5 + .../rei/api/common/transfer/info/MenuInfo.java | 2 +- .../api/common/transfer/info/MenuInfoRegistry.java | 4 + .../rei/api/common/util/CollectionUtils.java | 3 +- .../rei/api/common/util/EntryIngredients.java | 173 ++++ .../shedaniel/rei/api/common/util/EntryStacks.java | 207 +++++ .../me/shedaniel/rei/impl/ClientInternals.java | 8 +- .../main/java/me/shedaniel/rei/impl/Internals.java | 14 +- .../beacon/base/DefaultBeaconBaseCategory.java | 2 +- .../beacon/base/DefaultBeaconBaseDisplay.java | 4 +- .../payment/DefaultBeaconPaymentCategory.java | 2 +- .../payment/DefaultBeaconPaymentDisplay.java | 4 +- .../plugin/blasting/DefaultBlastingDisplay.java | 2 +- .../rei/plugin/brewing/DefaultBrewingCategory.java | 2 +- .../rei/plugin/brewing/DefaultBrewingDisplay.java | 6 +- .../rei/plugin/client/BuiltinClientPlugin.java | 4 +- .../rei/plugin/client/DefaultClientPlugin.java | 6 +- .../shedaniel/rei/plugin/common/DefaultPlugin.java | 6 +- .../common/campfire/DefaultCampfireCategory.java | 2 +- .../common/campfire/DefaultCampfireDisplay.java | 4 +- .../composting/DefaultCompostingCategory.java | 6 +- .../composting/DefaultCompostingDisplay.java | 4 +- .../common/cooking/DefaultCookingCategory.java | 2 +- .../common/cooking/DefaultCookingDisplay.java | 4 +- .../common/crafting/DefaultCraftingCategory.java | 4 +- .../common/crafting/DefaultCraftingDisplay.java | 6 +- .../common/crafting/DefaultCustomDisplay.java | 4 +- .../common/crafting/DefaultShapedDisplay.java | 4 +- .../common/crafting/DefaultShapelessDisplay.java | 4 +- .../stonecutting/DefaultStoneCuttingCategory.java | 2 +- .../stonecutting/DefaultStoneCuttingDisplay.java | 4 +- .../rei/plugin/fuel/DefaultFuelCategory.java | 2 +- .../rei/plugin/fuel/DefaultFuelDisplay.java | 2 +- .../information/DefaultInformationDisplay.java | 4 +- .../rei/plugin/pathing/DefaultPathingCategory.java | 2 +- .../rei/plugin/pathing/DefaultPathingDisplay.java | 11 +- .../plugin/smelting/DefaultSmeltingDisplay.java | 2 +- .../plugin/smithing/DefaultSmithingCategory.java | 2 +- .../plugin/smithing/DefaultSmithingDisplay.java | 4 +- .../rei/plugin/smoking/DefaultSmokingDisplay.java | 2 +- .../plugin/stripping/DefaultStrippingCategory.java | 2 +- .../plugin/stripping/DefaultStrippingDisplay.java | 4 +- .../rei/plugin/tilling/DefaultTillingCategory.java | 2 +- .../rei/plugin/tilling/DefaultTillingDisplay.java | 4 +- .../shedaniel/rei/fabric/PluginDetectorImpl.java | 57 +- .../rei/fabric/RoughlyEnoughItemsFabric.java | 2 +- fabric/src/main/resources/fabric.mod.json | 3 +- .../me/shedaniel/rei/forge/PluginDetectorImpl.java | 2 +- .../me/shedaniel/rei/RoughlyEnoughItemsCore.java | 182 ++-- .../rei/RoughlyEnoughItemsInitializer.java | 34 +- .../shedaniel/rei/RoughlyEnoughItemsNetwork.java | 6 +- .../gui/config/entry/FilteringAddRuleScreen.java | 195 ---- .../client/gui/config/entry/FilteringEntry.java | 110 --- .../config/entry/FilteringRuleOptionsScreen.java | 240 ----- .../gui/config/entry/FilteringRulesScreen.java | 247 ------ .../client/gui/config/entry/FilteringScreen.java | 518 ----------- .../client/gui/config/entry/NoFilteringEntry.java | 90 -- .../gui/config/entry/RecipeScreenTypeEntry.java | 112 --- .../gui/config/entry/ReloadPluginsEntry.java | 96 -- .../entry/SearchFilterSyntaxHighlightingEntry.java | 114 --- .../shedaniel/rei/api/server/InputSlotCrafter.java | 205 ----- .../me/shedaniel/rei/compat/LBASupportPlugin.java | 52 -- .../rei/gui/AbstractDisplayViewingScreen.java | 141 --- .../rei/gui/CompositeDisplayViewingScreen.java | 422 --------- .../shedaniel/rei/gui/ConfigReloadingScreen.java | 72 -- .../shedaniel/rei/gui/ContainerScreenOverlay.java | 846 ------------------ .../me/shedaniel/rei/gui/CurrentDraggingStack.java | 192 ---- .../rei/gui/DefaultDisplayViewingScreen.java | 516 ----------- .../java/me/shedaniel/rei/gui/DelegateScreen.java | 292 ------ .../me/shedaniel/rei/gui/OverlaySearchField.java | 239 ----- .../shedaniel/rei/gui/RecipeDisplayExporter.java | 131 --- .../java/me/shedaniel/rei/gui/RecipeScreen.java | 42 - .../gui/SearchFilterSyntaxHighlightingScreen.java | 64 -- .../me/shedaniel/rei/gui/TransformingScreen.java | 150 ---- .../rei/gui/UncertainDisplayViewingScreen.java | 292 ------ .../shedaniel/rei/gui/WarningAndErrorScreen.java | 292 ------ .../rei/gui/credits/CreditsEntryListWidget.java | 212 ----- .../shedaniel/rei/gui/credits/CreditsScreen.java | 151 ---- .../java/me/shedaniel/rei/gui/modules/Menu.java | 282 ------ .../me/shedaniel/rei/gui/modules/MenuEntry.java | 45 - .../entries/EntryStackSubsetsMenuEntry.java | 145 --- .../rei/gui/modules/entries/GameModeMenuEntry.java | 107 --- .../gui/modules/entries/SubSubsetsMenuEntry.java | 237 ----- .../rei/gui/modules/entries/WeatherMenuEntry.java | 108 --- .../rei/gui/plugin/DefaultClientRuntimePlugin.java | 250 ------ .../rei/gui/plugin/entry/FluidEntryDefinition.java | 210 ----- .../rei/gui/plugin/entry/ItemEntryDefinition.java | 252 ------ .../rei/gui/toast/CopyRecipeIdentifierToast.java | 76 -- .../rei/gui/toast/ExportRecipeIdentifierToast.java | 76 -- .../gui/widget/DefaultDisplayChoosePageWidget.java | 209 ----- .../shedaniel/rei/gui/widget/DraggableWidget.java | 105 --- .../rei/gui/widget/EntryListEntryWidget.java | 114 --- .../shedaniel/rei/gui/widget/EntryListWidget.java | 630 ------------- .../me/shedaniel/rei/gui/widget/EntryWidget.java | 472 ---------- .../rei/gui/widget/FavoritesListWidget.java | 977 --------------------- .../shedaniel/rei/gui/widget/LateRenderable.java | 30 - .../me/shedaniel/rei/gui/widget/QueuedTooltip.java | 106 --- .../me/shedaniel/rei/gui/widget/TabWidget.java | 166 ---- .../main/java/me/shedaniel/rei/impl/Animator.java | 98 --- .../rei/impl/DynamicErrorFreeEntryListWidget.java | 588 ------------- .../java/me/shedaniel/rei/impl/ErrorDisplayer.java | 57 -- .../me/shedaniel/rei/impl/InternalWidgets.java | 248 ------ .../java/me/shedaniel/rei/impl/IssuesDetector.java | 72 -- .../impl/OverlaySearchFieldSyntaxHighlighter.java | 75 -- .../me/shedaniel/rei/impl/PluginManagerImpl.java | 213 ----- .../java/me/shedaniel/rei/impl/REIHelperImpl.java | 230 ----- .../me/shedaniel/rei/impl/TextTransformations.java | 99 --- .../main/java/me/shedaniel/rei/impl/Weather.java | 61 -- .../rei/impl/client/ClientHelperImpl.java | 453 ++++++++++ .../shedaniel/rei/impl/client/ErrorDisplayer.java | 57 ++ .../shedaniel/rei/impl/client/REIHelperImpl.java | 230 +++++ .../rei/impl/client/config/ConfigManagerImpl.java | 337 +++++++ .../rei/impl/client/config/ConfigObjectImpl.java | 550 ++++++++++++ .../config/entries/FilteringAddRuleScreen.java | 195 ++++ .../impl/client/config/entries/FilteringEntry.java | 110 +++ .../config/entries/FilteringRuleOptionsScreen.java | 240 +++++ .../config/entries/FilteringRulesScreen.java | 247 ++++++ .../client/config/entries/FilteringScreen.java | 518 +++++++++++ .../client/config/entries/NoFilteringEntry.java | 90 ++ .../config/entries/RecipeScreenTypeEntry.java | 112 +++ .../client/config/entries/ReloadPluginsEntry.java | 96 ++ .../SearchFilterSyntaxHighlightingEntry.java | 114 +++ .../entry/filtering/AbstractFilteringRule.java | 40 + .../client/entry/filtering/FilteringContext.java | 47 + .../entry/filtering/FilteringContextImpl.java | 104 +++ .../entry/filtering/FilteringContextType.java | 34 + .../client/entry/filtering/FilteringResult.java | 93 ++ .../entry/filtering/FilteringResultImpl.java | 55 ++ .../impl/client/entry/filtering/FilteringRule.java | 89 ++ .../entry/filtering/rules/ManualFilteringRule.java | 80 ++ .../entry/filtering/rules/SearchFilteringRule.java | 164 ++++ .../entry/type/types/RenderingEntryDefinition.java | 74 ++ .../favorites/FavoriteEntryTypeRegistryImpl.java | 106 +++ .../impl/client/gui/ContainerScreenOverlay.java | 849 ++++++++++++++++++ .../rei/impl/client/gui/RecipeDisplayExporter.java | 131 +++ .../client/gui/credits/CreditsEntryListWidget.java | 212 +++++ .../rei/impl/client/gui/credits/CreditsScreen.java | 151 ++++ .../client/gui/dragging/CurrentDraggingStack.java | 192 ++++ .../rei/impl/client/gui/modules/Menu.java | 282 ++++++ .../rei/impl/client/gui/modules/MenuEntry.java | 45 + .../entries/EntryStackSubsetsMenuEntry.java | 145 +++ .../gui/modules/entries/GameModeMenuEntry.java | 107 +++ .../gui/modules/entries/SubSubsetsMenuEntry.java | 237 +++++ .../gui/modules/entries/WeatherMenuEntry.java | 108 +++ .../gui/screen/AbstractDisplayViewingScreen.java | 141 +++ .../gui/screen/CompositeDisplayViewingScreen.java | 422 +++++++++ .../client/gui/screen/ConfigReloadingScreen.java | 72 ++ .../gui/screen/DefaultDisplayViewingScreen.java | 517 +++++++++++ .../rei/impl/client/gui/screen/DelegateScreen.java | 292 ++++++ .../rei/impl/client/gui/screen/RecipeScreen.java | 42 + .../SearchFilterSyntaxHighlightingScreen.java | 64 ++ .../impl/client/gui/screen/TransformingScreen.java | 151 ++++ .../gui/screen/UncertainDisplayViewingScreen.java | 292 ++++++ .../client/gui/screen/WarningAndErrorScreen.java | 292 ++++++ .../impl/client/gui/text/TextTransformations.java | 99 +++ .../gui/toast/CopyRecipeIdentifierToast.java | 76 ++ .../gui/toast/ExportRecipeIdentifierToast.java | 76 ++ .../gui/widget/DefaultDisplayChoosePageWidget.java | 209 +++++ .../impl/client/gui/widget/DraggableWidget.java | 105 +++ .../widget/DynamicErrorFreeEntryListWidget.java | 588 +++++++++++++ .../client/gui/widget/EntryListEntryWidget.java | 114 +++ .../impl/client/gui/widget/EntryListWidget.java | 631 +++++++++++++ .../rei/impl/client/gui/widget/EntryWidget.java | 472 ++++++++++ .../client/gui/widget/FavoritesListWidget.java | 977 +++++++++++++++++++++ .../impl/client/gui/widget/InternalWidgets.java | 315 +++++++ .../rei/impl/client/gui/widget/LateRenderable.java | 30 + .../rei/impl/client/gui/widget/QueuedTooltip.java | 106 +++ .../rei/impl/client/gui/widget/TabWidget.java | 166 ++++ .../client/gui/widget/basewidgets/ArrowWidget.java | 77 ++ .../gui/widget/basewidgets/BurningFireWidget.java | 77 ++ .../gui/widget/basewidgets/ButtonWidget.java | 309 +++++++ .../gui/widget/basewidgets/DrawableWidget.java | 50 ++ .../basewidgets/FillRectangleDrawableConsumer.java | 68 ++ .../client/gui/widget/basewidgets/LabelWidget.java | 287 ++++++ .../client/gui/widget/basewidgets/PanelWidget.java | 152 ++++ .../gui/widget/basewidgets/TextFieldWidget.java | 643 ++++++++++++++ .../basewidgets/TexturedDrawableConsumer.java | 75 ++ .../gui/widget/basewidgets/package-info.java | 27 + .../gui/widget/search/OverlaySearchField.java | 239 +++++ .../OverlaySearchFieldSyntaxHighlighter.java | 74 ++ .../registry/category/CategoryRegistryImpl.java | 149 ++++ .../registry/display/DisplayRegistryImpl.java | 195 ++++ .../client/registry/screen/ExclusionZonesImpl.java | 131 +++ .../client/registry/screen/ScreenRegistryImpl.java | 233 +++++ .../rei/impl/client/search/SearchProviderImpl.java | 64 ++ .../search/argument/AlternativeArgument.java | 68 ++ .../rei/impl/client/search/argument/Argument.java | 215 +++++ .../client/search/argument/CompoundArgument.java | 86 ++ .../argument/type/AlwaysMatchingArgumentType.java | 61 ++ .../client/search/argument/type/ArgumentType.java | 82 ++ .../argument/type/ArgumentTypesRegistry.java | 52 ++ .../argument/type/IdentifierArgumentType.java | 93 ++ .../client/search/argument/type/MatchType.java | 41 + .../search/argument/type/ModArgumentType.java | 106 +++ .../search/argument/type/RegexArgumentType.java | 95 ++ .../search/argument/type/TagArgumentType.java | 101 +++ .../search/argument/type/TextArgumentType.java | 67 ++ .../search/argument/type/TooltipArgumentType.java | 84 ++ .../search/result/ArgumentApplicableResult.java | 122 +++ .../impl/client/subsets/SubsetsRegistryImpl.java | 112 +++ .../transfer/TransferHandlerRegistryImpl.java | 61 ++ .../shedaniel/rei/impl/client/view/ViewsImpl.java | 228 +++++ .../rei/impl/common/compat/LBASupportPlugin.java | 52 ++ .../display/DisplaySerializerRegistryImpl.java | 6 + .../rei/impl/common/entry/AbstractEntryStack.java | 137 +++ .../rei/impl/common/entry/EntryIngredientImpl.java | 370 ++++++++ .../rei/impl/common/entry/TypedEntryStack.java | 111 +++ .../comparison/ItemComparatorRegistryImpl.java | 70 ++ .../entry/comparison/NbtHasherProviderImpl.java | 100 +++ .../impl/common/entry/type/EntryRegistryImpl.java | 209 +++++ .../impl/common/entry/type/EntryTypeDeferred.java | 64 ++ .../common/entry/type/EntryTypeRegistryImpl.java | 96 ++ .../entry/type/types/BuiltinEntryDefinition.java | 141 +++ .../entry/type/types/EmptyEntryDefinition.java | 55 ++ .../common/fluid/FluidSupportProviderImpl.java | 77 ++ .../rei/impl/common/plugins/PluginManagerImpl.java | 219 +++++ .../common/registry/RecipeManagerContextImpl.java | 59 ++ .../rei/impl/common/transfer/InputSlotCrafter.java | 205 +++++ .../impl/common/transfer/MenuInfoRegistryImpl.java | 46 +- .../shedaniel/rei/impl/common/util/Animator.java | 102 +++ .../impl/common/util/HashedEntryStackWrapper.java | 62 ++ .../rei/impl/common/util/IssuesDetector.java | 72 ++ .../me/shedaniel/rei/impl/common/util/Weather.java | 61 ++ .../rei/impl/config/ConfigManagerImpl.java | 337 ------- .../rei/impl/config/ConfigObjectImpl.java | 550 ------------ .../rei/impl/entry/EntryIngredientImpl.java | 370 -------- .../impl/entry/FavoriteEntryTypeRegistryImpl.java | 106 --- .../rei/impl/entry/ItemComparatorRegistryImpl.java | 70 -- .../rei/impl/entry/NbtHasherProviderImpl.java | 100 --- .../entry/filtering/AbstractFilteringRule.java | 40 - .../rei/impl/entry/filtering/FilteringContext.java | 47 - .../impl/entry/filtering/FilteringContextImpl.java | 104 --- .../impl/entry/filtering/FilteringContextType.java | 34 - .../rei/impl/entry/filtering/FilteringResult.java | 93 -- .../impl/entry/filtering/FilteringResultImpl.java | 55 -- .../rei/impl/entry/filtering/FilteringRule.java | 89 -- .../entry/filtering/rules/ManualFilteringRule.java | 80 -- .../entry/filtering/rules/SearchFilteringRule.java | 164 ---- .../rei/impl/entry/stack/AbstractEntryStack.java | 137 --- .../rei/impl/entry/stack/TypedEntryStack.java | 111 --- .../rei/impl/entry/type/EntryRegistryImpl.java | 209 ----- .../rei/impl/entry/type/EntryTypeDeferred.java | 64 -- .../rei/impl/entry/type/EntryTypeRegistryImpl.java | 96 -- .../entry/type/types/BuiltinEntryDefinition.java | 141 --- .../entry/type/types/EmptyEntryDefinition.java | 55 -- .../entry/type/types/RenderingEntryDefinition.java | 73 -- .../rei/impl/fluid/FluidSupportProviderImpl.java | 77 -- .../rei/impl/registry/CategoryRegistryImpl.java | 149 ---- .../rei/impl/registry/ClientHelperImpl.java | 430 --------- .../rei/impl/registry/DisplayRegistryImpl.java | 194 ---- .../impl/registry/RecipeManagerContextImpl.java | 59 -- .../impl/registry/screen/ExclusionZonesImpl.java | 131 --- .../impl/registry/screen/ScreenRegistryImpl.java | 233 ----- .../rei/impl/search/AlternativeArgument.java | 68 -- .../impl/search/AlwaysMatchingArgumentType.java | 60 -- .../me/shedaniel/rei/impl/search/Argument.java | 211 ----- .../rei/impl/search/ArgumentApplicableResult.java | 121 --- .../me/shedaniel/rei/impl/search/ArgumentType.java | 81 -- .../rei/impl/search/ArgumentTypesRegistry.java | 52 -- .../rei/impl/search/CompoundArgument.java | 86 -- .../rei/impl/search/IdentifierArgumentType.java | 93 -- .../me/shedaniel/rei/impl/search/MatchType.java | 41 - .../shedaniel/rei/impl/search/ModArgumentType.java | 106 --- .../rei/impl/search/RegexArgumentType.java | 94 -- .../rei/impl/search/SearchProviderImpl.java | 62 -- .../shedaniel/rei/impl/search/TagArgumentType.java | 101 --- .../rei/impl/search/TextArgumentType.java | 67 -- .../rei/impl/search/TooltipArgumentType.java | 83 -- .../rei/impl/subsets/SubsetsRegistryImpl.java | 112 --- .../impl/transfer/TransferHandlerRegistryImpl.java | 61 -- .../rei/impl/utils/HashedEntryStackWrapper.java | 62 -- .../java/me/shedaniel/rei/impl/view/ViewsImpl.java | 228 ----- .../me/shedaniel/rei/impl/widgets/ArrowWidget.java | 77 -- .../rei/impl/widgets/BurningFireWidget.java | 77 -- .../shedaniel/rei/impl/widgets/ButtonWidget.java | 309 ------- .../shedaniel/rei/impl/widgets/DrawableWidget.java | 50 -- .../widgets/FillRectangleDrawableConsumer.java | 68 -- .../me/shedaniel/rei/impl/widgets/LabelWidget.java | 287 ------ .../me/shedaniel/rei/impl/widgets/PanelWidget.java | 152 ---- .../rei/impl/widgets/TextFieldWidget.java | 643 -------------- .../rei/impl/widgets/TexturedDrawableConsumer.java | 75 -- .../shedaniel/rei/impl/widgets/package-info.java | 27 - .../plugin/client/DefaultClientRuntimePlugin.java | 250 ++++++ .../plugin/client/entry/FluidEntryDefinition.java | 210 +++++ .../plugin/client/entry/ItemEntryDefinition.java | 252 ++++++ .../shedaniel/rei/plugin/test/REITestPlugin.java | 73 ++ .../shedaniel/rei/tests/plugin/REITestPlugin.java | 73 -- 350 files changed, 22248 insertions(+), 22160 deletions(-) create mode 100644 api/src/main/java/me/shedaniel/rei/api/client/entry/renderer/AbstractEntryRenderer.java create mode 100644 api/src/main/java/me/shedaniel/rei/api/client/entry/renderer/BatchEntryRenderer.java create mode 100644 api/src/main/java/me/shedaniel/rei/api/client/entry/renderer/EntryRenderer.java create mode 100644 api/src/main/java/me/shedaniel/rei/api/client/entry/type/BuiltinClientEntryTypes.java delete mode 100644 api/src/main/java/me/shedaniel/rei/api/client/ingredient/entry/renderer/AbstractEntryRenderer.java delete mode 100644 api/src/main/java/me/shedaniel/rei/api/client/ingredient/entry/renderer/BatchEntryRenderer.java delete mode 100644 api/src/main/java/me/shedaniel/rei/api/client/ingredient/entry/renderer/EntryRenderer.java delete mode 100644 api/src/main/java/me/shedaniel/rei/api/client/ingredient/entry/type/BuiltinClientEntryTypes.java delete mode 100644 api/src/main/java/me/shedaniel/rei/api/client/ingredient/util/ClientEntryIngredients.java delete mode 100644 api/src/main/java/me/shedaniel/rei/api/client/ingredient/util/ClientEntryStacks.java create mode 100644 api/src/main/java/me/shedaniel/rei/api/client/util/ClientEntryIngredients.java create mode 100644 api/src/main/java/me/shedaniel/rei/api/client/util/ClientEntryStacks.java create mode 100644 api/src/main/java/me/shedaniel/rei/api/common/entry/EntryIngredient.java create mode 100644 api/src/main/java/me/shedaniel/rei/api/common/entry/EntrySerializer.java create mode 100644 api/src/main/java/me/shedaniel/rei/api/common/entry/EntryStack.java create mode 100644 api/src/main/java/me/shedaniel/rei/api/common/entry/comparison/ComparisonContext.java create mode 100644 api/src/main/java/me/shedaniel/rei/api/common/entry/comparison/ItemComparator.java create mode 100644 api/src/main/java/me/shedaniel/rei/api/common/entry/comparison/ItemComparatorRegistry.java create mode 100644 api/src/main/java/me/shedaniel/rei/api/common/entry/type/BuiltinEntryTypes.java create mode 100644 api/src/main/java/me/shedaniel/rei/api/common/entry/type/EntryDefinition.java create mode 100644 api/src/main/java/me/shedaniel/rei/api/common/entry/type/EntryType.java create mode 100644 api/src/main/java/me/shedaniel/rei/api/common/entry/type/EntryTypeBridge.java create mode 100644 api/src/main/java/me/shedaniel/rei/api/common/entry/type/EntryTypeRegistry.java create mode 100644 api/src/main/java/me/shedaniel/rei/api/common/entry/type/VanillaEntryTypes.java delete mode 100644 api/src/main/java/me/shedaniel/rei/api/common/ingredient/EntryIngredient.java delete mode 100644 api/src/main/java/me/shedaniel/rei/api/common/ingredient/EntryStack.java delete mode 100644 api/src/main/java/me/shedaniel/rei/api/common/ingredient/entry/EntrySerializer.java delete mode 100644 api/src/main/java/me/shedaniel/rei/api/common/ingredient/entry/comparison/ComparisonContext.java delete mode 100644 api/src/main/java/me/shedaniel/rei/api/common/ingredient/entry/comparison/ItemComparator.java delete mode 100644 api/src/main/java/me/shedaniel/rei/api/common/ingredient/entry/comparison/ItemComparatorRegistry.java delete mode 100644 api/src/main/java/me/shedaniel/rei/api/common/ingredient/entry/type/BuiltinEntryTypes.java delete mode 100644 api/src/main/java/me/shedaniel/rei/api/common/ingredient/entry/type/EntryDefinition.java delete mode 100644 api/src/main/java/me/shedaniel/rei/api/common/ingredient/entry/type/EntryType.java delete mode 100644 api/src/main/java/me/shedaniel/rei/api/common/ingredient/entry/type/EntryTypeBridge.java delete mode 100644 api/src/main/java/me/shedaniel/rei/api/common/ingredient/entry/type/EntryTypeRegistry.java delete mode 100644 api/src/main/java/me/shedaniel/rei/api/common/ingredient/entry/type/VanillaEntryTypes.java delete mode 100644 api/src/main/java/me/shedaniel/rei/api/common/ingredient/util/EntryIngredients.java delete mode 100644 api/src/main/java/me/shedaniel/rei/api/common/ingredient/util/EntryStacks.java create mode 100644 api/src/main/java/me/shedaniel/rei/api/common/util/EntryIngredients.java create mode 100644 api/src/main/java/me/shedaniel/rei/api/common/util/EntryStacks.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/api/client/gui/config/entry/FilteringAddRuleScreen.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/api/client/gui/config/entry/FilteringEntry.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/api/client/gui/config/entry/FilteringRuleOptionsScreen.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/api/client/gui/config/entry/FilteringRulesScreen.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/api/client/gui/config/entry/FilteringScreen.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/api/client/gui/config/entry/NoFilteringEntry.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/api/client/gui/config/entry/RecipeScreenTypeEntry.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/api/client/gui/config/entry/ReloadPluginsEntry.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/api/client/gui/config/entry/SearchFilterSyntaxHighlightingEntry.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/api/server/InputSlotCrafter.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/compat/LBASupportPlugin.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/gui/AbstractDisplayViewingScreen.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/gui/CompositeDisplayViewingScreen.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/gui/ConfigReloadingScreen.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/gui/CurrentDraggingStack.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/gui/DefaultDisplayViewingScreen.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/gui/DelegateScreen.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/gui/OverlaySearchField.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/gui/RecipeDisplayExporter.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/gui/RecipeScreen.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/gui/SearchFilterSyntaxHighlightingScreen.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/gui/TransformingScreen.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/gui/UncertainDisplayViewingScreen.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/gui/WarningAndErrorScreen.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/gui/credits/CreditsEntryListWidget.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/gui/credits/CreditsScreen.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/gui/modules/Menu.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/gui/modules/MenuEntry.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/gui/modules/entries/EntryStackSubsetsMenuEntry.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/gui/modules/entries/GameModeMenuEntry.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/gui/modules/entries/SubSubsetsMenuEntry.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/gui/modules/entries/WeatherMenuEntry.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/gui/plugin/DefaultClientRuntimePlugin.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/gui/plugin/entry/FluidEntryDefinition.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/gui/plugin/entry/ItemEntryDefinition.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/gui/toast/CopyRecipeIdentifierToast.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/gui/toast/ExportRecipeIdentifierToast.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/gui/widget/DefaultDisplayChoosePageWidget.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/gui/widget/DraggableWidget.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/gui/widget/EntryListEntryWidget.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/gui/widget/EntryListWidget.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/gui/widget/EntryWidget.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/gui/widget/FavoritesListWidget.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/gui/widget/LateRenderable.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/gui/widget/QueuedTooltip.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/gui/widget/TabWidget.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/Animator.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/DynamicErrorFreeEntryListWidget.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/ErrorDisplayer.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/InternalWidgets.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/IssuesDetector.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/OverlaySearchFieldSyntaxHighlighter.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/PluginManagerImpl.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/REIHelperImpl.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/TextTransformations.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/Weather.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/ClientHelperImpl.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/ErrorDisplayer.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/REIHelperImpl.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigManagerImpl.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigObjectImpl.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringAddRuleScreen.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringEntry.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringRuleOptionsScreen.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringRulesScreen.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringScreen.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/NoFilteringEntry.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/RecipeScreenTypeEntry.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/ReloadPluginsEntry.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/SearchFilterSyntaxHighlightingEntry.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/entry/filtering/AbstractFilteringRule.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/entry/filtering/FilteringContext.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/entry/filtering/FilteringContextImpl.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/entry/filtering/FilteringContextType.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/entry/filtering/FilteringResult.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/entry/filtering/FilteringResultImpl.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/entry/filtering/FilteringRule.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/entry/filtering/rules/ManualFilteringRule.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/entry/filtering/rules/SearchFilteringRule.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/entry/type/types/RenderingEntryDefinition.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/favorites/FavoriteEntryTypeRegistryImpl.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/gui/ContainerScreenOverlay.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/gui/RecipeDisplayExporter.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/gui/credits/CreditsEntryListWidget.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/gui/credits/CreditsScreen.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/gui/dragging/CurrentDraggingStack.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/gui/modules/Menu.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/gui/modules/MenuEntry.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/gui/modules/entries/EntryStackSubsetsMenuEntry.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/gui/modules/entries/GameModeMenuEntry.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/gui/modules/entries/SubSubsetsMenuEntry.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/gui/modules/entries/WeatherMenuEntry.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/AbstractDisplayViewingScreen.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/CompositeDisplayViewingScreen.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/ConfigReloadingScreen.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/DefaultDisplayViewingScreen.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/DelegateScreen.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/RecipeScreen.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/SearchFilterSyntaxHighlightingScreen.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/TransformingScreen.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/UncertainDisplayViewingScreen.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/WarningAndErrorScreen.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/gui/text/TextTransformations.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/gui/toast/CopyRecipeIdentifierToast.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/gui/toast/ExportRecipeIdentifierToast.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/DefaultDisplayChoosePageWidget.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/DraggableWidget.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/DynamicErrorFreeEntryListWidget.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryListEntryWidget.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryListWidget.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryWidget.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/FavoritesListWidget.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/InternalWidgets.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/LateRenderable.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/QueuedTooltip.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/TabWidget.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/basewidgets/ArrowWidget.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/basewidgets/BurningFireWidget.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/basewidgets/ButtonWidget.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/basewidgets/DrawableWidget.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/basewidgets/FillRectangleDrawableConsumer.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/basewidgets/LabelWidget.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/basewidgets/PanelWidget.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/basewidgets/TextFieldWidget.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/basewidgets/TexturedDrawableConsumer.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/basewidgets/package-info.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/search/OverlaySearchField.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/search/OverlaySearchFieldSyntaxHighlighter.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/registry/category/CategoryRegistryImpl.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/registry/display/DisplayRegistryImpl.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/registry/screen/ExclusionZonesImpl.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/registry/screen/ScreenRegistryImpl.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/search/SearchProviderImpl.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/search/argument/AlternativeArgument.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/search/argument/Argument.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/search/argument/CompoundArgument.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/search/argument/type/AlwaysMatchingArgumentType.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/search/argument/type/ArgumentType.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/search/argument/type/ArgumentTypesRegistry.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/search/argument/type/IdentifierArgumentType.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/search/argument/type/MatchType.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/search/argument/type/ModArgumentType.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/search/argument/type/RegexArgumentType.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/search/argument/type/TagArgumentType.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/search/argument/type/TextArgumentType.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/search/argument/type/TooltipArgumentType.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/search/result/ArgumentApplicableResult.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/subsets/SubsetsRegistryImpl.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/transfer/TransferHandlerRegistryImpl.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/client/view/ViewsImpl.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/common/compat/LBASupportPlugin.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/common/entry/AbstractEntryStack.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/common/entry/EntryIngredientImpl.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/common/entry/TypedEntryStack.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/common/entry/comparison/ItemComparatorRegistryImpl.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/common/entry/comparison/NbtHasherProviderImpl.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/common/entry/type/EntryRegistryImpl.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/common/entry/type/EntryTypeDeferred.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/common/entry/type/EntryTypeRegistryImpl.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/common/entry/type/types/BuiltinEntryDefinition.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/common/entry/type/types/EmptyEntryDefinition.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/common/fluid/FluidSupportProviderImpl.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/common/plugins/PluginManagerImpl.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/common/registry/RecipeManagerContextImpl.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/common/transfer/InputSlotCrafter.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/common/util/Animator.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/common/util/HashedEntryStackWrapper.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/common/util/IssuesDetector.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/common/util/Weather.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/config/ConfigManagerImpl.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/config/ConfigObjectImpl.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/entry/EntryIngredientImpl.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/entry/FavoriteEntryTypeRegistryImpl.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/entry/ItemComparatorRegistryImpl.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/entry/NbtHasherProviderImpl.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/entry/filtering/AbstractFilteringRule.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/entry/filtering/FilteringContext.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/entry/filtering/FilteringContextImpl.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/entry/filtering/FilteringContextType.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/entry/filtering/FilteringResult.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/entry/filtering/FilteringResultImpl.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/entry/filtering/FilteringRule.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/entry/filtering/rules/ManualFilteringRule.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/entry/filtering/rules/SearchFilteringRule.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/entry/stack/AbstractEntryStack.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/entry/stack/TypedEntryStack.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/entry/type/EntryRegistryImpl.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/entry/type/EntryTypeDeferred.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/entry/type/EntryTypeRegistryImpl.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/entry/type/types/BuiltinEntryDefinition.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/entry/type/types/EmptyEntryDefinition.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/entry/type/types/RenderingEntryDefinition.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/fluid/FluidSupportProviderImpl.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/registry/CategoryRegistryImpl.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/registry/ClientHelperImpl.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/registry/DisplayRegistryImpl.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/registry/RecipeManagerContextImpl.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/registry/screen/ExclusionZonesImpl.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/registry/screen/ScreenRegistryImpl.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/search/AlternativeArgument.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/search/AlwaysMatchingArgumentType.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/search/Argument.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/search/ArgumentApplicableResult.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/search/ArgumentType.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/search/ArgumentTypesRegistry.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/search/CompoundArgument.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/search/IdentifierArgumentType.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/search/MatchType.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/search/ModArgumentType.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/search/RegexArgumentType.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/search/SearchProviderImpl.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/search/TagArgumentType.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/search/TextArgumentType.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/search/TooltipArgumentType.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/subsets/SubsetsRegistryImpl.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/transfer/TransferHandlerRegistryImpl.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/utils/HashedEntryStackWrapper.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/view/ViewsImpl.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/widgets/ArrowWidget.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/widgets/BurningFireWidget.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/widgets/ButtonWidget.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/widgets/DrawableWidget.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/widgets/FillRectangleDrawableConsumer.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/widgets/LabelWidget.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/widgets/PanelWidget.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/widgets/TextFieldWidget.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/widgets/TexturedDrawableConsumer.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/impl/widgets/package-info.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/plugin/client/DefaultClientRuntimePlugin.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/FluidEntryDefinition.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/ItemEntryDefinition.java create mode 100644 runtime/src/main/java/me/shedaniel/rei/plugin/test/REITestPlugin.java delete mode 100644 runtime/src/main/java/me/shedaniel/rei/tests/plugin/REITestPlugin.java diff --git a/api/src/main/java/me/shedaniel/rei/api/client/ClientHelper.java b/api/src/main/java/me/shedaniel/rei/api/client/ClientHelper.java index 4193fbc22..5b8a0a210 100644 --- a/api/src/main/java/me/shedaniel/rei/api/client/ClientHelper.java +++ b/api/src/main/java/me/shedaniel/rei/api/client/ClientHelper.java @@ -25,7 +25,7 @@ package me.shedaniel.rei.api.client; import me.shedaniel.rei.api.client.config.ConfigManager; import me.shedaniel.rei.api.client.view.ViewSearchBuilder; -import me.shedaniel.rei.api.common.ingredient.EntryStack; +import me.shedaniel.rei.api.common.entry.EntryStack; import me.shedaniel.rei.api.common.util.FormattingUtils; import me.shedaniel.rei.impl.ClientInternals; import net.fabricmc.api.EnvType; diff --git a/api/src/main/java/me/shedaniel/rei/api/client/config/ConfigObject.java b/api/src/main/java/me/shedaniel/rei/api/client/config/ConfigObject.java index db654e089..1af08129d 100644 --- a/api/src/main/java/me/shedaniel/rei/api/client/config/ConfigObject.java +++ b/api/src/main/java/me/shedaniel/rei/api/client/config/ConfigObject.java @@ -26,7 +26,7 @@ package me.shedaniel.rei.api.client.config; import me.shedaniel.clothconfig2.api.ModifierKeyCode; import me.shedaniel.rei.api.client.favorites.FavoriteEntry; import me.shedaniel.rei.api.client.gui.config.*; -import me.shedaniel.rei.api.common.ingredient.EntryStack; +import me.shedaniel.rei.api.common.entry.EntryStack; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import org.jetbrains.annotations.ApiStatus; 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 new file mode 100644 index 000000000..ac92e83c2 --- /dev/null +++ b/api/src/main/java/me/shedaniel/rei/api/client/entry/renderer/AbstractEntryRenderer.java @@ -0,0 +1,29 @@ +/* + * This file is licensed under the MIT License, part of Roughly Enough Items. + * Copyright (c) 2018, 2019, 2020 shedaniel + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package me.shedaniel.rei.api.client.entry.renderer; + +import net.minecraft.client.gui.GuiComponent; + +public abstract class AbstractEntryRenderer extends GuiComponent implements EntryRenderer { +} diff --git a/api/src/main/java/me/shedaniel/rei/api/client/entry/renderer/BatchEntryRenderer.java b/api/src/main/java/me/shedaniel/rei/api/client/entry/renderer/BatchEntryRenderer.java new file mode 100644 index 000000000..89f1d0034 --- /dev/null +++ b/api/src/main/java/me/shedaniel/rei/api/client/entry/renderer/BatchEntryRenderer.java @@ -0,0 +1,61 @@ +/* + * This file is licensed under the MIT License, part of Roughly Enough Items. + * Copyright (c) 2018, 2019, 2020 shedaniel + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +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.minecraft.client.Minecraft; +import net.minecraft.client.renderer.MultiBufferSource; + +public interface BatchEntryRenderer extends EntryRenderer { + static int getBatchIdFrom(EntryStack entry) { + EntryRenderer renderer = entry.getRenderer(); + if (renderer instanceof BatchEntryRenderer) return ((BatchEntryRenderer) renderer).getBatchId(entry); + return renderer.getClass().hashCode(); + } + + default int getBatchId(EntryStack entry) { + return getClass().hashCode(); + } + + void startBatch(EntryStack entry, PoseStack matrices, float delta); + + void renderBase(EntryStack entry, PoseStack matrices, MultiBufferSource.BufferSource immediate, Rectangle bounds, int mouseX, int mouseY, float delta); + + void renderOverlay(EntryStack entry, PoseStack matrices, Rectangle bounds, int mouseX, int mouseY, float delta); + + void endBatch(EntryStack entry, PoseStack matrices, float delta); + + @Deprecated + @Override + default void render(EntryStack entry, PoseStack matrices, Rectangle bounds, int mouseX, int mouseY, float delta) { + startBatch(entry, matrices, delta); + MultiBufferSource.BufferSource immediate = Minecraft.getInstance().renderBuffers().bufferSource(); + renderBase(entry, matrices, immediate, bounds, mouseX, mouseY, delta); + immediate.endBatch(); + renderOverlay(entry, matrices, bounds, mouseX, mouseY, delta); + endBatch(entry, matrices, delta); + } +} \ No newline at end of file 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 new file mode 100644 index 000000000..14cbcaa04 --- /dev/null +++ b/api/src/main/java/me/shedaniel/rei/api/client/entry/renderer/EntryRenderer.java @@ -0,0 +1,49 @@ +/* + * This file is licensed under the MIT License, part of Roughly Enough Items. + * Copyright (c) 2018, 2019, 2020 shedaniel + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package me.shedaniel.rei.api.client.entry.renderer; + +import com.mojang.blaze3d.vertex.PoseStack; +import me.shedaniel.math.Point; +import me.shedaniel.math.Rectangle; +import me.shedaniel.rei.api.client.gui.widgets.Tooltip; +import me.shedaniel.rei.api.common.entry.EntryStack; +import me.shedaniel.rei.impl.ClientInternals; +import org.jetbrains.annotations.ApiStatus; +import org.jetbrains.annotations.Nullable; + +public interface EntryRenderer { + static EntryRenderer empty() { + return ClientInternals.getEmptyEntryRenderer(); + } + + void render(EntryStack entry, PoseStack matrices, Rectangle bounds, int mouseX, int mouseY, float delta); + + @Nullable + Tooltip getTooltip(EntryStack entry, Point mouse); + + @ApiStatus.NonExtendable + default EntryRenderer cast() { + return (EntryRenderer) this; + } +} \ No newline at end of file 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 new file mode 100644 index 000000000..405afccac --- /dev/null +++ b/api/src/main/java/me/shedaniel/rei/api/client/entry/type/BuiltinClientEntryTypes.java @@ -0,0 +1,36 @@ +/* + * This file is licensed under the MIT License, part of Roughly Enough Items. + * Copyright (c) 2018, 2019, 2020 shedaniel + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +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.minecraft.resources.ResourceLocation; +import org.jetbrains.annotations.ApiStatus; + +@ApiStatus.NonExtendable +public interface BuiltinClientEntryTypes { + ResourceLocation RENDERING_ID = new ResourceLocation("rendering"); + + EntryType RENDERING = EntryType.deferred(RENDERING_ID); +} diff --git a/api/src/main/java/me/shedaniel/rei/api/client/favorites/FavoriteEntry.java b/api/src/main/java/me/shedaniel/rei/api/client/favorites/FavoriteEntry.java index ec2662677..da68b4d39 100644 --- a/api/src/main/java/me/shedaniel/rei/api/client/favorites/FavoriteEntry.java +++ b/api/src/main/java/me/shedaniel/rei/api/client/favorites/FavoriteEntry.java @@ -25,7 +25,7 @@ package me.shedaniel.rei.api.client.favorites; import com.google.gson.JsonObject; import me.shedaniel.rei.api.client.gui.Renderer; -import me.shedaniel.rei.api.common.ingredient.EntryStack; +import me.shedaniel.rei.api.common.entry.EntryStack; import me.shedaniel.rei.impl.ClientInternals; import net.minecraft.resources.ResourceLocation; import org.jetbrains.annotations.Nullable; diff --git a/api/src/main/java/me/shedaniel/rei/api/client/favorites/FavoriteEntryType.java b/api/src/main/java/me/shedaniel/rei/api/client/favorites/FavoriteEntryType.java index 939fdcac4..c341581a9 100644 --- a/api/src/main/java/me/shedaniel/rei/api/client/favorites/FavoriteEntryType.java +++ b/api/src/main/java/me/shedaniel/rei/api/client/favorites/FavoriteEntryType.java @@ -25,7 +25,7 @@ package me.shedaniel.rei.api.client.favorites; import com.google.gson.JsonObject; import me.shedaniel.rei.api.client.plugins.REIClientPlugin; -import me.shedaniel.rei.api.common.ingredient.EntryStack; +import me.shedaniel.rei.api.common.entry.EntryStack; import me.shedaniel.rei.api.common.plugins.PluginManager; import me.shedaniel.rei.api.common.registry.Reloadable; import net.minecraft.network.chat.Component; diff --git a/api/src/main/java/me/shedaniel/rei/api/client/gui/SimpleDisplayRenderer.java b/api/src/main/java/me/shedaniel/rei/api/client/gui/SimpleDisplayRenderer.java index c7400784a..12dec407f 100644 --- a/api/src/main/java/me/shedaniel/rei/api/client/gui/SimpleDisplayRenderer.java +++ b/api/src/main/java/me/shedaniel/rei/api/client/gui/SimpleDisplayRenderer.java @@ -31,9 +31,9 @@ import me.shedaniel.math.Rectangle; import me.shedaniel.rei.api.client.gui.widgets.Slot; import me.shedaniel.rei.api.client.gui.widgets.Tooltip; import me.shedaniel.rei.api.client.gui.widgets.Widgets; -import me.shedaniel.rei.api.common.ingredient.EntryIngredient; -import me.shedaniel.rei.api.common.ingredient.EntryStack; -import me.shedaniel.rei.api.common.ingredient.util.EntryStacks; +import me.shedaniel.rei.api.common.entry.EntryIngredient; +import me.shedaniel.rei.api.common.entry.EntryStack; +import me.shedaniel.rei.api.common.util.EntryStacks; import me.shedaniel.rei.api.common.util.CollectionUtils; import net.minecraft.client.Minecraft; import net.minecraft.resources.ResourceLocation; diff --git a/api/src/main/java/me/shedaniel/rei/api/client/gui/drag/DraggableStack.java b/api/src/main/java/me/shedaniel/rei/api/client/gui/drag/DraggableStack.java index 3be6cc6d9..9a5d17f1e 100644 --- a/api/src/main/java/me/shedaniel/rei/api/client/gui/drag/DraggableStack.java +++ b/api/src/main/java/me/shedaniel/rei/api/client/gui/drag/DraggableStack.java @@ -25,7 +25,7 @@ package me.shedaniel.rei.api.client.gui.drag; import com.mojang.blaze3d.vertex.PoseStack; import me.shedaniel.math.Rectangle; -import me.shedaniel.rei.api.common.ingredient.EntryStack; +import me.shedaniel.rei.api.common.entry.EntryStack; public interface DraggableStack { EntryStack getStack(); diff --git a/api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/Slot.java b/api/src/main/java/me/shedaniel/rei/api/client/gui/widg