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/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 -- 239 files changed, 20629 insertions(+), 20555 deletions(-) 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 (limited to 'runtime/src') diff --git a/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java b/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java index eee235266..787a25cb6 100644 --- a/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java +++ b/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java @@ -33,59 +33,59 @@ import me.shedaniel.architectury.networking.NetworkManager; import me.shedaniel.architectury.platform.Platform; import me.shedaniel.architectury.utils.Env; import me.shedaniel.math.Point; -import me.shedaniel.math.Rectangle; import me.shedaniel.rei.api.client.REIHelper; import me.shedaniel.rei.api.client.REIOverlay; import me.shedaniel.rei.api.client.config.ConfigObject; import me.shedaniel.rei.api.client.favorites.FavoriteEntry; import me.shedaniel.rei.api.client.favorites.FavoriteEntryType; import me.shedaniel.rei.api.client.favorites.FavoriteMenuEntry; -import me.shedaniel.rei.api.client.gui.DrawableConsumer; import me.shedaniel.rei.api.client.gui.Renderer; import me.shedaniel.rei.api.client.gui.widgets.*; -import me.shedaniel.rei.api.client.ingredient.entry.renderer.EntryRenderer; +import me.shedaniel.rei.api.client.entry.renderer.EntryRenderer; import me.shedaniel.rei.api.client.plugins.REIClientPlugin; import me.shedaniel.rei.api.client.registry.screen.ClickArea; import me.shedaniel.rei.api.client.registry.screen.OverlayDecider; import me.shedaniel.rei.api.client.registry.screen.ScreenRegistry; -import me.shedaniel.rei.api.client.view.Views; import me.shedaniel.rei.api.common.category.CategoryIdentifier; -import me.shedaniel.rei.api.common.ingredient.EntryStack; -import me.shedaniel.rei.api.common.ingredient.entry.type.BuiltinEntryTypes; -import me.shedaniel.rei.api.common.ingredient.entry.type.EntryDefinition; -import me.shedaniel.rei.api.common.ingredient.entry.type.EntryType; -import me.shedaniel.rei.api.common.ingredient.util.EntryStacks; +import me.shedaniel.rei.api.common.entry.EntryStack; +import me.shedaniel.rei.api.common.entry.type.BuiltinEntryTypes; +import me.shedaniel.rei.api.common.entry.type.EntryDefinition; +import me.shedaniel.rei.api.common.entry.type.EntryType; +import me.shedaniel.rei.api.common.util.EntryStacks; import me.shedaniel.rei.api.common.plugins.PluginManager; import me.shedaniel.rei.api.common.plugins.PluginView; import me.shedaniel.rei.api.common.plugins.REIPlugin; import me.shedaniel.rei.api.common.plugins.REIServerPlugin; -import me.shedaniel.rei.gui.ContainerScreenOverlay; -import me.shedaniel.rei.gui.widget.EntryWidget; -import me.shedaniel.rei.gui.widget.QueuedTooltip; +import me.shedaniel.rei.impl.client.REIHelperImpl; +import me.shedaniel.rei.impl.client.gui.ContainerScreenOverlay; +import me.shedaniel.rei.impl.client.gui.widget.InternalWidgets; +import me.shedaniel.rei.impl.client.gui.widget.QueuedTooltip; import me.shedaniel.rei.impl.*; import me.shedaniel.rei.impl.common.category.CategoryIdentifierImpl; +import me.shedaniel.rei.impl.common.display.DisplaySerializerRegistryImpl; +import me.shedaniel.rei.impl.common.plugins.PluginManagerImpl; import me.shedaniel.rei.impl.common.transfer.MenuInfoRegistryImpl; -import me.shedaniel.rei.impl.config.ConfigManagerImpl; -import me.shedaniel.rei.impl.entry.EntryIngredientImpl; -import me.shedaniel.rei.impl.entry.FavoriteEntryTypeRegistryImpl; -import me.shedaniel.rei.impl.entry.ItemComparatorRegistryImpl; -import me.shedaniel.rei.impl.entry.NbtHasherProviderImpl; -import me.shedaniel.rei.impl.entry.stack.TypedEntryStack; -import me.shedaniel.rei.impl.entry.type.EntryRegistryImpl; -import me.shedaniel.rei.impl.entry.type.EntryTypeDeferred; -import me.shedaniel.rei.impl.entry.type.EntryTypeRegistryImpl; -import me.shedaniel.rei.impl.entry.type.types.EmptyEntryDefinition; -import me.shedaniel.rei.impl.entry.type.types.RenderingEntryDefinition; -import me.shedaniel.rei.impl.fluid.FluidSupportProviderImpl; -import me.shedaniel.rei.impl.registry.CategoryRegistryImpl; -import me.shedaniel.rei.impl.registry.DisplayRegistryImpl; -import me.shedaniel.rei.impl.registry.screen.ScreenRegistryImpl; -import me.shedaniel.rei.impl.search.SearchProviderImpl; -import me.shedaniel.rei.impl.subsets.SubsetsRegistryImpl; -import me.shedaniel.rei.impl.transfer.TransferHandlerRegistryImpl; -import me.shedaniel.rei.impl.view.ViewsImpl; -import me.shedaniel.rei.impl.widgets.*; -import me.shedaniel.rei.tests.plugin.REITestPlugin; +import me.shedaniel.rei.impl.client.config.ConfigManagerImpl; +import me.shedaniel.rei.impl.common.entry.EntryIngredientImpl; +import me.shedaniel.rei.impl.client.favorites.FavoriteEntryTypeRegistryImpl; +import me.shedaniel.rei.impl.common.entry.comparison.ItemComparatorRegistryImpl; +import me.shedaniel.rei.impl.common.entry.comparison.NbtHasherProviderImpl; +import me.shedaniel.rei.impl.common.entry.TypedEntryStack; +import me.shedaniel.rei.impl.common.entry.type.EntryRegistryImpl; +import me.shedaniel.rei.impl.common.entry.type.EntryTypeDeferred; +import me.shedaniel.rei.impl.common.entry.type.EntryTypeRegistryImpl; +import me.shedaniel.rei.impl.common.entry.type.types.EmptyEntryDefinition; +import me.shedaniel.rei.impl.client.entry.type.types.RenderingEntryDefinition; +import me.shedaniel.rei.impl.common.fluid.FluidSupportProviderImpl; +import me.shedaniel.rei.impl.client.registry.category.CategoryRegistryImpl; +import me.shedaniel.rei.impl.client.registry.display.DisplayRegistryImpl; +import me.shedaniel.rei.impl.client.registry.screen.ScreenRegistryImpl; +import me.shedaniel.rei.impl.client.search.SearchProviderImpl; +import me.shedaniel.rei.impl.client.subsets.SubsetsRegistryImpl; +import me.shedaniel.rei.impl.common.util.IssuesDetector; +import me.shedaniel.rei.impl.client.transfer.TransferHandlerRegistryImpl; +import me.shedaniel.rei.impl.client.view.ViewsImpl; +import me.shedaniel.rei.plugin.test.REITestPlugin; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.client.Minecraft; @@ -99,7 +99,6 @@ import net.minecraft.client.gui.screens.recipebook.RecipeBookComponent; import net.minecraft.client.gui.screens.recipebook.RecipeUpdateListener; import net.minecraft.client.resources.language.I18n; import net.minecraft.network.chat.Component; -import net.minecraft.network.chat.FormattedText; import net.minecraft.network.chat.TextComponent; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.GsonHelper; @@ -133,7 +132,7 @@ public class RoughlyEnoughItemsCore { @ApiStatus.Internal public static final Logger LOGGER = LogManager.getFormatterLogger("REI"); private static final ExecutorService SYNC_RECIPES = Executors.newSingleThreadScheduledExecutor(r -> new Thread(r, "REI-SyncRecipes")); @ApiStatus.Experimental - public static boolean isLeftModePressed = false; + public static boolean isLeftMousePressed = false; static { attachCommonInternals(); @@ -144,12 +143,15 @@ public class RoughlyEnoughItemsCore { public static void attachCommonInternals() { CategoryIdentifierImpl.attach(); - Internals.attachInstance(new PluginManagerImpl>( + Internals.attachInstanceSupplier(new PluginManagerImpl<>( + REIPlugin.class, UnaryOperator.identity(), new EntryTypeRegistryImpl(), new ItemComparatorRegistryImpl(), + new DisplaySerializerRegistryImpl(), new FluidSupportProviderImpl()), "commonPluginManager"); - Internals.attachInstance(new PluginManagerImpl( + Internals.attachInstanceSupplier(new PluginManagerImpl<>( + REIServerPlugin.class, view -> view.then(PluginView.getInstance()), new MenuInfoRegistryImpl()), "serverPluginManager"); Internals.attachInstance((Function>) new Function>() { @@ -195,7 +197,6 @@ public class RoughlyEnoughItemsCore { return id; } - @SuppressWarnings("rawtypes") @Override public EntryDefinition getDefinition() { return RenderingEntryDefinition.RENDERING; @@ -226,7 +227,8 @@ public class RoughlyEnoughItemsCore { @Environment(EnvType.CLIENT) public static void attachClientInternals() { - ClientInternals.attachInstance(new PluginManagerImpl( + ClientInternals.attachInstanceSupplier(new PluginManagerImpl<>( + REIClientPlugin.class, view -> view.then(PluginView.getInstance()), new ViewsImpl(), new SearchProviderImpl(), @@ -239,63 +241,7 @@ public class RoughlyEnoughItemsCore { new SubsetsRegistryImpl(), new TransferHandlerRegistryImpl(), new REIHelperImpl()), "clientPluginManager"); - ClientInternals.attachInstance(new ClientInternals.WidgetsProvider() { - @Override - public boolean isRenderingPanel(Panel panel) { - return PanelWidget.isRendering(panel); - } - - @Override - public Widget createDrawableWidget(DrawableConsumer drawable) { - return new DrawableWidget(drawable); - } - - @Override - public me.shedaniel.rei.api.client.gui.widgets.Slot createSlot(Point point) { - return new EntryWidget(point); - } - - @Override - public me.shedaniel.rei.api.client.gui.widgets.Slot createSlot(Rectangle bounds) { - return new EntryWidget(bounds); - } - - @Override - public Button createButton(Rectangle bounds, Component text) { - return new ButtonWidget(bounds, text); - } - - @Override - public Panel createPanelWidget(Rectangle bounds) { - return new PanelWidget(bounds); - } - - @Override - public Label createLabel(Point point, FormattedText text) { - return new LabelWidget(point, text); - } - - @Override - public Arrow createArrow(Rectangle rectangle) { - return new ArrowWidget(rectangle); - } - - @Override - public BurningFire createBurningFire(Rectangle rectangle) { - return new BurningFireWidget(rectangle); - } - - @Override - public DrawableConsumer createTexturedConsumer(ResourceLocation texture, int x, int y, int width, int height, float u, float v, int uWidth, int vHeight, int textureWidth, int textureHeight) { - return new TexturedDrawableConsumer(texture, x, y, width, height, u, v, uWidth, vHeight, textureWidth, textureHeight); - } - - @Override - public DrawableConsumer createFillRectangleConsumer(Rectangle rectangle, int color) { - return new FillRectangleDrawableConsumer(rectangle, color); - } - }, ClientInternals.WidgetsProvider.class); - ClientInternals.attachInstance(new ViewsImpl(), Views.class); + InternalWidgets.attach(); ClientInternals.attachInstance((Supplier>) () -> EmptyEntryDefinition.EmptyRenderer.INSTANCE, "emptyEntryRenderer"); ClientInternals.attachInstance((BiFunction, Supplier, FavoriteEntry>) (supplier, toJson) -> new FavoriteEntry() { FavoriteEntry value = null; @@ -405,27 +351,6 @@ public class RoughlyEnoughItemsCore { }, "clickAreaHandlerResult"); } - public static boolean hasPermissionToUsePackets() { - try { - Minecraft.getInstance().getConnection().getSuggestionsProvider().hasPermission(0); - return hasOperatorPermission() && canUsePackets(); - } catch (NullPointerException e) { - return true; - } - } - - public static boolean hasOperatorPermission() { - try { - return Minecraft.getInstance().getConnection().getSuggestionsProvider().hasPermission(1); - } catch (NullPointerException e) { - return true; - } - } - - public static boolean canUsePackets() { - return NetworkManager.canServerReceive(RoughlyEnoughItemsNetwork.CREATE_ITEMS_PACKET) && NetworkManager.canServerReceive(RoughlyEnoughItemsNetwork.CREATE_ITEMS_GRAB_PACKET) && NetworkManager.canServerReceive(RoughlyEnoughItemsNetwork.DELETE_ITEMS_PACKET); - } - @ApiStatus.Internal public static void reloadPlugins(MutableLong lastReload) { if (lastReload != null) { @@ -448,15 +373,13 @@ public class RoughlyEnoughItemsCore { } } - @ApiStatus.Internal - public static boolean isDebugModeEnabled() { - return System.getProperty("rei.test", "false").equals("true"); - } - - public static boolean canDeleteItems() { - return hasPermissionToUsePackets() || Minecraft.getInstance().gameMode.hasInfiniteItems(); + public void onInitialize() { + PluginDetector.detectCommonPlugins(); + PluginDetector.detectServerPlugins(); + RoughlyEnoughItemsNetwork.onInitialize(); } + @Environment(EnvType.CLIENT) public void onInitializeClient() { IssuesDetector.detect(); registerClothEvents(); @@ -502,12 +425,14 @@ public class RoughlyEnoughItemsCore { }); } + @Environment(EnvType.CLIENT) private void loadTestPlugins() { - if (isDebugModeEnabled()) { + if ( System.getProperty("rei.test", "false").equals("true")) { PluginView.getClientInstance().registerPlugin(new REITestPlugin()); } } + @Environment(EnvType.CLIENT) private boolean shouldReturn(Screen screen) { if (!REIHelper.getInstance().getOverlay().isPresent()) return true; if (screen == null) return true; @@ -515,6 +440,7 @@ public class RoughlyEnoughItemsCore { return _shouldReturn(screen); } + @Environment(EnvType.CLIENT) private boolean _shouldReturn(Screen screen) { try { Class screenClass = screen.getClass(); @@ -531,6 +457,7 @@ public class RoughlyEnoughItemsCore { return true; } + @Environment(EnvType.CLIENT) private void registerClothEvents() { Minecraft client = Minecraft.getInstance(); final ResourceLocation recipeButtonTex = new ResourceLocation("textures/gui/recipe_button.png"); @@ -543,7 +470,7 @@ public class RoughlyEnoughItemsCore { } }); ClientScreenInputEvent.MOUSE_CLICKED_PRE.register((minecraftClient, screen, mouseX, mouseY, button) -> { - isLeftModePressed = true; + isLeftMousePressed = true; if (shouldReturn(screen)) return InteractionResult.PASS; resetFocused(screen); @@ -557,7 +484,7 @@ public class RoughlyEnoughItemsCore { return InteractionResult.PASS; }); ClientScreenInputEvent.MOUSE_RELEASED_PRE.register((minecraftClient, screen, mouseX, mouseY, button) -> { - isLeftModePressed = false; + isLeftMousePressed = false; if (shouldReturn(screen)) return InteractionResult.PASS; resetFocused(screen); @@ -621,6 +548,7 @@ public class RoughlyEnoughItemsCore { }); } + @Environment(EnvType.CLIENT) private boolean resetFocused(Screen screen) { if (screen.getFocused() instanceof REIOverlay || screen.getFocused() == screen) { screen.setFocused(null); diff --git a/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsInitializer.java b/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsInitializer.java index e817493be..a75362eb6 100644 --- a/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsInitializer.java +++ b/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsInitializer.java @@ -40,35 +40,39 @@ public class RoughlyEnoughItemsInitializer { } if (RoughlyEnoughItemsState.getErrors().isEmpty()) { - initializeEntryPoint("me.shedaniel.rei.RoughlyEnoughItemsNetwork"); + initializeEntryPoint(false, "me.shedaniel.rei.RoughlyEnoughItemsCore"); } } public static void onInitializeClient() { if (RoughlyEnoughItemsState.getErrors().isEmpty()) { - initializeEntryPoint("me.shedaniel.rei.RoughlyEnoughItemsCore"); - initializeEntryPoint("me.shedaniel.rei.REIModMenuEntryPoint"); - initializeEntryPoint("me.shedaniel.rei.impl.ClientHelperImpl"); - initializeEntryPoint("me.shedaniel.rei.impl.REIHelperImpl"); + initializeEntryPoint(true, "me.shedaniel.rei.RoughlyEnoughItemsCore"); + initializeEntryPoint(true, "me.shedaniel.rei.REIModMenuEntryPoint"); + initializeEntryPoint(true, "me.shedaniel.rei.impl.client.ClientHelperImpl"); + initializeEntryPoint(true, "me.shedaniel.rei.impl.client.REIHelperImpl"); } - initializeEntryPoint("me.shedaniel.rei.impl.ErrorDisplayer"); + initializeEntryPoint(true, "me.shedaniel.rei.impl.client.ErrorDisplayer"); } - public static void initializeEntryPoint(String className) { + public static void initializeEntryPoint(boolean client, String className) { try { Class name = Class.forName(className); Object instance = name.getConstructor().newInstance(); Method method = null; - try { - method = name.getDeclaredMethod("onInitialize"); - } catch (NoSuchMethodException ignored) { - } - if (method != null) { - method.invoke(instance); - } else if (Platform.getEnv() == EnvType.CLIENT) { + if (client) { + if (Platform.getEnv() == EnvType.CLIENT) { + try { + method = name.getDeclaredMethod("onInitializeClient"); + } catch (NoSuchMethodException ignored) { + } + if (method != null) { + method.invoke(instance); + } + } + } else { try { - method = name.getDeclaredMethod("onInitializeClient"); + method = name.getDeclaredMethod("onInitialize"); } catch (NoSuchMethodException ignored) { } if (method != null) { diff --git a/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java b/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java index 852471faa..0e79ca8f6 100644 --- a/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java +++ b/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java @@ -27,7 +27,7 @@ import io.netty.buffer.Unpooled; import me.shedaniel.architectury.networking.NetworkManager; import me.shedaniel.rei.api.common.category.CategoryIdentifier; import me.shedaniel.rei.api.common.display.Display; -import me.shedaniel.rei.api.server.InputSlotCrafter; +import me.shedaniel.rei.impl.common.transfer.InputSlotCrafter; import net.minecraft.ChatFormatting; import net.minecraft.Util; import net.minecraft.network.FriendlyByteBuf; @@ -50,9 +50,7 @@ public class RoughlyEnoughItemsNetwork { public static final ResourceLocation MOVE_ITEMS_PACKET = new ResourceLocation("roughlyenoughitems", "move_items"); public static final ResourceLocation NOT_ENOUGH_ITEMS_PACKET = new ResourceLocation("roughlyenoughitems", "og_not_enough"); - public void onInitialize() { - PluginDetector.detectCommonPlugins(); - PluginDetector.detectServerPlugins(); + public static void onInitialize() { NetworkManager.registerReceiver(NetworkManager.c2s(), DELETE_ITEMS_PACKET, (buf, context) -> { ServerPlayer player = (ServerPlayer) context.getPlayer(); if (player.getServer().getProfilePermissions(player.getGameProfile()) < player.getServer().getOperatorUserPermissionLevel()) { diff --git a/runtime/src/main/java/me/shedaniel/rei/api/client/gui/config/entry/FilteringAddRuleScreen.java b/runtime/src/main/java/me/shedaniel/rei/api/client/gui/config/entry/FilteringAddRuleScreen.java deleted file mode 100644 index 5b023b246..000000000 --- a/runtime/src/main/java/me/shedaniel/rei/api/client/gui/config/entry/FilteringAddRuleScreen.java +++ /dev/null @@ -1,195 +0,0 @@ -/* - * 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.gui.config.entry; - -import com.mojang.blaze3d.vertex.PoseStack; -import me.shedaniel.clothconfig2.gui.widget.DynamicElementListWidget; -import me.shedaniel.rei.impl.entry.filtering.FilteringRule; -import me.shedaniel.rei.impl.entry.filtering.rules.ManualFilteringRule; -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.components.Button; -import net.minecraft.client.gui.components.events.GuiEventListener; -import net.minecraft.client.gui.screens.Screen; -import net.minecraft.locale.Language; -import net.minecraft.network.chat.Component; -import net.minecraft.network.chat.FormattedText; -import net.minecraft.network.chat.TextComponent; -import net.minecraft.network.chat.TranslatableComponent; -import net.minecraft.resources.ResourceLocation; - -import java.util.Collections; -import java.util.List; -import java.util.Objects; -import java.util.function.BiFunction; - -public class FilteringAddRuleScreen extends Screen { - private final FilteringEntry entry; - private RulesList rulesList; - Screen parent; - - public FilteringAddRuleScreen(FilteringEntry entry) { - super(new TranslatableComponent("config.roughlyenoughitems.filteringRulesScreen.new")); - this.entry = entry; - } - - @Override - public void init() { - super.init(); - { - Component backText = new TextComponent("↩ ").append(new TranslatableComponent("gui.back")); - addButton(new Button(4, 4, Minecraft.getInstance().font.width(backText) + 10, 20, backText, button -> { - minecraft.setScreen(parent); - this.parent = null; - })); - } - rulesList = addWidget(new RulesList(minecraft, width, height, 30, height, BACKGROUND_LOCATION)); - for (FilteringRule rule : FilteringRule.REGISTRY) { - if (!(rule instanceof ManualFilteringRule)) - rulesList.addItem(new DefaultRuleEntry(parent, entry, rule.createNew(), null)); - } - rulesList.selectItem(rulesList.children().get(0)); - } - - @Override - public void render(PoseStack matrices, int mouseX, int mouseY, float delta) { - this.rulesList.render(matrices, mouseX, mouseY, delta); - super.render(matrices, mouseX, mouseY, delta); - this.font.drawShadow(matrices, this.title.getVisualOrderText(), this.width / 2.0F - this.font.width(this.title) / 2.0F, 12.0F, -1); - } - - public static class RulesList extends DynamicElementListWidget { - private boolean inFocus; - - public RulesList(Minecraft client, int width, int height, int top, int bottom, ResourceLocation backgroundLocation) { - super(client, width, height, top, bottom, backgroundLocation); - } - - @Override - public boolean changeFocus(boolean lookForwards) { - if (!this.inFocus && this.getItemCount() == 0) { - return false; - } else { - this.inFocus = !this.inFocus; - if (this.inFocus && this.getSelectedItem() == null && this.getItemCount() > 0) { - this.moveSelection(1); - } else if (this.inFocus && this.getSelectedItem() != null) { - this.getSelectedItem(); - } - - return this.