aboutsummaryrefslogtreecommitdiff
path: root/runtime
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2021-11-14 03:20:23 +0800
committershedaniel <daniel@shedaniel.me>2021-11-14 03:20:23 +0800
commitf04d72b96e5c562d4de7f5f5e5521942de5df49a (patch)
tree2740c71c1b3b641757f0d1627e53546250e08845 /runtime
parent760f20e8bdf63ee4af47bb408cdac18e6dd7a591 (diff)
downloadRoughlyEnoughItems-f04d72b96e5c562d4de7f5f5e5521942de5df49a.tar.gz
RoughlyEnoughItems-f04d72b96e5c562d4de7f5f5e5521942de5df49a.tar.bz2
RoughlyEnoughItems-f04d72b96e5c562d4de7f5f5e5521942de5df49a.zip
Removed deprecated APIs, 1.18-pre1
Diffstat (limited to 'runtime')
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCoreClient.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigObjectImpl.java8
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/entry/type/types/RenderingEntryDefinition.java8
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/dragging/CurrentDraggingStack.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryListWidget.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryStacksRegionWidget.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/FavoritesListWidget.java4
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/QueuedTooltip.java6
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/search/argument/type/TooltipArgumentType.java11
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/view/ViewsImpl.java59
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/common/plugins/PluginManagerImpl.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/common/transfer/InputSlotCrafter.java13
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/common/transfer/MenuInfoRegistryImpl.java14
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultCategoryHandler.java17
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/plugin/client/runtime/DefaultClientRuntimePlugin.java4
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/plugin/test/REITestPlugin.java4
16 files changed, 58 insertions, 100 deletions
diff --git a/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCoreClient.java b/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCoreClient.java
index 2069d8139..4c493fa39 100644
--- a/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCoreClient.java
+++ b/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCoreClient.java
@@ -135,7 +135,7 @@ public class RoughlyEnoughItemsCoreClient {
ResourceLocation id = new ResourceLocation(type);
FavoriteEntryType<FavoriteEntry> entryType = FavoriteEntryType.registry().get(id);
if (entryType == null) return DataResult.error("Unknown favorite type: " + id + ", json: " + object);
- return entryType.readResult(object);
+ return entryType.read(object);
}, "favoriteEntryFromJson");
ClientInternals.attachInstance((BiFunction<@Nullable Point, Collection<Tooltip.Entry>, Tooltip>) QueuedTooltip::impl, "tooltipProvider");
ClientInternals.attachInstance((Function<Object, Tooltip.Entry>) QueuedTooltip.TooltipEntryImpl::new, "tooltipEntryProvider");
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigObjectImpl.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigObjectImpl.java
index 73521ae30..672032940 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigObjectImpl.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigObjectImpl.java
@@ -35,8 +35,6 @@ import me.shedaniel.rei.api.client.config.ConfigObject;
import me.shedaniel.rei.api.client.config.entry.EntryStackProvider;
import me.shedaniel.rei.api.client.favorites.FavoriteEntry;
import me.shedaniel.rei.api.client.gui.config.*;
-import me.shedaniel.rei.api.common.entry.EntryStack;
-import me.shedaniel.rei.api.common.util.CollectionUtils;
import me.shedaniel.rei.impl.client.entry.filtering.FilteringRule;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
@@ -48,7 +46,6 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
@ApiStatus.Internal
@@ -310,11 +307,6 @@ public class ConfigObjectImpl implements ConfigObject, ConfigData {
}
@Override
- public List<EntryStack<?>> getFilteredStacks() {
- return Collections.unmodifiableList(CollectionUtils.map(advanced.filtering.filteredStacks, EntryStackProvider::provide));
- }
-
- @Override
public List<EntryStackProvider<?>> getFilteredStackProviders() {
return advanced.filtering.filteredStacks;
}
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/entry/type/types/RenderingEntryDefinition.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/entry/type/types/RenderingEntryDefinition.java
index dd72f6ea5..c1fb7dbb1 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/client/entry/type/types/RenderingEntryDefinition.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/entry/type/types/RenderingEntryDefinition.java
@@ -47,8 +47,12 @@ public class RenderingEntryDefinition {
@Override
public Component asFormattedText(EntryStack<Renderer> entry, Renderer value) {
Tooltip tooltip = value.getTooltip(PointHelper.ofMouse());
- if (tooltip != null && !tooltip.getText().isEmpty()) {
- return tooltip.getText().get(0);
+ if (tooltip != null) {
+ for (Tooltip.Entry e : tooltip.entries()) {
+ if (e.isText()) {
+ return e.getAsText();
+ }
+ }
}
return super.asFormattedText(entry, value);
}
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/dragging/CurrentDraggingStack.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/dragging/CurrentDraggingStack.java
index 32a2e08a5..5a22b61ea 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/dragging/CurrentDraggingStack.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/dragging/CurrentDraggingStack.java
@@ -157,7 +157,7 @@ public class CurrentDraggingStack extends Widget implements LateRenderable, Drag
private boolean drop() {
if (entry != null && entry.dragging) {
- DraggedAcceptorResult result = visitor.acceptDraggedStackWithResult(this, entry.stack);
+ DraggedAcceptorResult result = visitor.acceptDraggedStack(this, entry.stack);
entry.stack.release(result);
entry = null;
return true;
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryListWidget.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryListWidget.java
index a41a305a8..2faf558d6 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryListWidget.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryListWidget.java
@@ -189,7 +189,7 @@ public class EntryListWidget extends WidgetWithBounds implements OverlayListWidg
}
@Override
- public DraggedAcceptorResult acceptDraggedStackWithResult(DraggingContext<Screen> context, DraggableStack stack) {
+ public DraggedAcceptorResult acceptDraggedStack(DraggingContext<Screen> context, DraggableStack stack) {
if (innerBounds.contains(context.getCurrentPosition())) {
context.renderToVoid(stack);
return DraggedAcceptorResult.CONSUMED;
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryStacksRegionWidget.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryStacksRegionWidget.java
index c68c7bb46..557b2af0f 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryStacksRegionWidget.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryStacksRegionWidget.java
@@ -221,7 +221,7 @@ public class EntryStacksRegionWidget<T extends RegionEntry<T>> extends WidgetWit
}
@Override
- public DraggedAcceptorResult acceptDraggedStackWithResult(DraggingContext<Screen> context, DraggableStack stack) {
+ public DraggedAcceptorResult acceptDraggedStack(DraggingContext<Screen> context, DraggableStack stack) {
return checkDraggedStacks(context, stack)
.filter(entry -> innerBounds.contains(context.getCurrentPosition()))
.flatMap(entry -> {
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/FavoritesListWidget.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/FavoritesListWidget.java
index aec7a5950..d55f2a2a3 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/FavoritesListWidget.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/FavoritesListWidget.java
@@ -210,13 +210,13 @@ public class FavoritesListWidget extends WidgetWithBounds implements DraggableSt
}
@Override
- public DraggedAcceptorResult acceptDraggedStackWithResult(DraggingContext<Screen> context, DraggableStack stack) {
+ public DraggedAcceptorResult acceptDraggedStack(DraggingContext<Screen> context, DraggableStack stack) {
if (favoritePanel.bounds.contains(context.getCurrentPosition()) || trashBounds.contains(context.getCurrentPosition())) {
context.renderToVoid(stack);
return DraggedAcceptorResult.CONSUMED;
}
return Stream.of(region, systemRegion)
- .map(visitor -> visitor.acceptDraggedStackWithResult(context, stack))
+ .map(visitor -> visitor.acceptDraggedStack(context, stack))
.filter(result -> result != DraggedAcceptorResult.PASS)
.findFirst()
.orElse(DraggedAcceptorResult.PASS);
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/QueuedTooltip.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/QueuedTooltip.java
index aed5add29..831aaa98d 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/QueuedTooltip.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/QueuedTooltip.java
@@ -29,7 +29,6 @@ import me.shedaniel.math.Point;
import me.shedaniel.math.impl.PointHelper;
import me.shedaniel.rei.api.client.gui.widgets.Tooltip;
import me.shedaniel.rei.api.common.entry.EntryStack;
-import me.shedaniel.rei.api.common.util.CollectionUtils;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.gui.screens.inventory.tooltip.ClientTooltipComponent;
@@ -75,11 +74,6 @@ public class QueuedTooltip implements Tooltip {
}
@Override
- public List<Component> getText() {
- return CollectionUtils.filterAndMap(entries, Tooltip.Entry::isText, Tooltip.Entry::getAsText);
- }
-
- @Override
public List<Entry> entries() {
return entries;
}
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/search/argument/type/TooltipArgumentType.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/search/argument/type/TooltipArgumentType.java
index aa5e35e6a..74693fc69 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/client/search/argument/type/TooltipArgumentType.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/search/argument/type/TooltipArgumentType.java
@@ -28,10 +28,8 @@ import me.shedaniel.rei.api.client.config.ConfigObject;
import me.shedaniel.rei.api.client.gui.config.SearchMode;
import me.shedaniel.rei.api.client.gui.widgets.Tooltip;
import me.shedaniel.rei.api.common.entry.EntryStack;
-import me.shedaniel.rei.api.common.util.CollectionUtils;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
-import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.Style;
import net.minecraft.network.chat.TextColor;
import net.minecraft.util.Unit;
@@ -40,6 +38,7 @@ import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Nullable;
import java.util.Locale;
+import java.util.StringJoiner;
@ApiStatus.Internal
@Environment(EnvType.CLIENT)
@@ -80,7 +79,13 @@ public final class TooltipArgumentType extends ArgumentType<Unit, String> {
public static String tryGetEntryStackTooltip(EntryStack<?> stack) {
Tooltip tooltip = stack.getTooltip(new Point(), false);
if (tooltip != null) {
- return CollectionUtils.mapAndJoinToString(tooltip.getText(), Component::getString, "\n");
+ StringJoiner joiner = new StringJoiner("\n");
+ for (Tooltip.Entry entry : tooltip.entries()) {
+ if (entry.isText()) {
+ joiner.add(entry.getAsText().getString());
+ }
+ }
+ return joiner.toString();
}
return "";
}
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/view/ViewsImpl.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/view/ViewsImpl.java
index a76cce52f..cd254fb3d 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/client/view/ViewsImpl.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/view/ViewsImpl.java
@@ -41,8 +41,8 @@ import me.shedaniel.rei.api.common.entry.EntryIngredient;
import me.shedaniel.rei.api.common.entry.EntryStack;
import me.shedaniel.rei.api.common.plugins.PluginManager;
import me.shedaniel.rei.api.common.transfer.info.MenuInfo;
-import me.shedaniel.rei.api.common.transfer.info.MenuInfoContext;
import me.shedaniel.rei.api.common.transfer.info.MenuInfoRegistry;
+import me.shedaniel.rei.api.common.transfer.info.MenuSerializationContext;
import me.shedaniel.rei.api.common.transfer.info.stack.SlotAccessor;
import me.shedaniel.rei.api.common.util.CollectionUtils;
import me.shedaniel.rei.api.common.util.EntryIngredients;
@@ -280,47 +280,32 @@ public class ViewsImpl implements Views {
AbstractContainerMenu menu = Minecraft.getInstance().player.containerMenu;
Set<EntryStack<?>> craftables = new HashSet<>();
for (Map.Entry<CategoryIdentifier<?>, List<Display>> entry : DisplayRegistry.getInstance().getAll().entrySet()) {
+ class InfoSerializationContext implements MenuSerializationContext<AbstractContainerMenu, LocalPlayer, Display> {
+ @Override
+ public AbstractContainerMenu getMenu() {
+ return menu;
+ }
+
+ @Override
+ public LocalPlayer getPlayerEntity() {
+ return Minecraft.getInstance().player;
+ }
+
+ @Override
+ public CategoryIdentifier<Display> getCategoryIdentifier() {
+ return (CategoryIdentifier<Display>) entry.getKey();
+ }
+ }
+
+ InfoSerializationContext context = new InfoSerializationContext();
+
List<Display> displays = entry.getValue();
for (Display display : displays) {
MenuInfo<AbstractContainerMenu, Display> info = menu != null ?
- MenuInfoRegistry.getInstance().getClient(display, menu)
+ MenuInfoRegistry.getInstance().getClient(display, context, menu)
: null;
- class InfoContext implements MenuInfoContext<AbstractContainerMenu, LocalPlayer, Display> {
- private Display display;
-
- public InfoContext(Display display) {
- this.display = display;
- }
-
- @Override
- public AbstractContainerMenu getMenu() {
- return menu;
- }
-
- @Override
- public LocalPlayer getPlayerEntity() {
- return Minecraft.getInstance().player;
- }
-
- @Override
- public MenuInfo<AbstractContainerMenu, Display> getContainerInfo() {
- return info;
- }
-
- @Override
- public CategoryIdentifier<Display> getCategoryIdentifier() {
- return (CategoryIdentifier<Display>) entry.getKey();
- }
-
- @Override
- public Display getDisplay() {
- return display;
- }
- }
-
- InfoContext context = new InfoContext(display);
- Iterable<SlotAccessor> inputSlots = info != null ? info.getInputSlots(context) : Collections.emptySet();
+ Iterable<SlotAccessor> inputSlots = info != null ? info.getInputSlots(context.withDisplay(display)) : Collections.emptySet();
int slotsCraftable = 0;
List<EntryIngredient> requiredInput = display.getRequiredEntries();
for (EntryIngredient slot : requiredInput) {
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/common/plugins/PluginManagerImpl.java b/runtime/src/main/java/me/shedaniel/rei/impl/common/plugins/PluginManagerImpl.java
index bda591fb1..29250600d 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/common/plugins/PluginManagerImpl.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/common/plugins/PluginManagerImpl.java
@@ -209,7 +209,6 @@ public class PluginManagerImpl<P extends REIPlugin<?>> implements PluginManager<
PerformanceLogger.Plugin perfLogger = RoughlyEnoughItemsCore.PERFORMANCE_LOGGER.stage("Pre Registration")) {
pluginSection(stage, "pre-register/", plugins, null, plugin -> {
try (PerformanceLogger.Plugin.Inner inner = perfLogger.plugin(new Pair<>(plugin.provider, plugin.plugin))) {
- plugin.plugin.preRegister();
((REIPlugin<P>) plugin.plugin).preStage(this, stage);
}
});
@@ -227,7 +226,6 @@ public class PluginManagerImpl<P extends REIPlugin<?>> implements PluginManager<
PerformanceLogger.Plugin perfLogger = RoughlyEnoughItemsCore.PERFORMANCE_LOGGER.stage("Post Registration")) {
pluginSection(stage, "post-register/", plugins, null, plugin -> {
try (PerformanceLogger.Plugin.Inner inner = perfLogger.plugin(new Pair<>(plugin.provider, plugin.plugin))) {
- plugin.plugin.postRegister();
((REIPlugin<P>) plugin.plugin).postStage(this, stage);
}
});
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/common/transfer/InputSlotCrafter.java b/runtime/src/main/java/me/shedaniel/rei/impl/common/transfer/InputSlotCrafter.java
index aa233ca85..9ebeab648 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/common/transfer/InputSlotCrafter.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/common/transfer/InputSlotCrafter.java
@@ -49,7 +49,6 @@ import java.util.Objects;
public class InputSlotCrafter<T extends AbstractContainerMenu, C extends Container, D extends Display> implements MenuInfoContext<T, ServerPlayer, D> {
protected CategoryIdentifier<D> category;
protected T container;
- protected D display;
protected MenuInfo<T, D> menuInfo;
private Iterable<SlotAccessor> inputStacks;
private Iterable<SlotAccessor> inventoryStacks;
@@ -60,10 +59,6 @@ public class InputSlotCrafter<T extends AbstractContainerMenu, C extends Contain
this.container = container;
}
- public void setDisplay(D display) {
- this.display = display;
- }
-
public void setMenuInfo(MenuInfo<T, D> menuInfo) {
this.menuInfo = menuInfo;
}
@@ -72,7 +67,6 @@ public class InputSlotCrafter<T extends AbstractContainerMenu, C extends Contain
InputSlotCrafter<T, C, D> crafter = new InputSlotCrafter<>(category, menu);
MenuInfo<T, D> menuInfo = Objects.requireNonNull(MenuInfoRegistry.getInstance().get(category, menu, crafter, display), "Container Info does not exist on the server!");
crafter.setMenuInfo(menuInfo);
- crafter.setDisplay(menuInfo.read(crafter, display));
crafter.fillInputSlots(player, hasShift);
return crafter;
}
@@ -192,13 +186,8 @@ public class InputSlotCrafter<T extends AbstractContainerMenu, C extends Contain
}
@Override
- public MenuInfo<T, D> getContainerInfo() {
- return menuInfo;
- }
-
- @Override
public D getDisplay() {
- return display;
+ return menuInfo.getDisplay();
}
@Override
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/common/transfer/MenuInfoRegistryImpl.java b/runtime/src/main/java/me/shedaniel/rei/impl/common/transfer/MenuInfoRegistryImpl.java
index a42cf8d89..b3f37ab57 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/common/transfer/MenuInfoRegistryImpl.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/common/transfer/MenuInfoRegistryImpl.java
@@ -31,7 +31,7 @@ import me.shedaniel.rei.api.common.plugins.REIServerPlugin;
import me.shedaniel.rei.api.common.transfer.info.MenuInfo;
import me.shedaniel.rei.api.common.transfer.info.MenuInfoProvider;
import me.shedaniel.rei.api.common.transfer.info.MenuInfoRegistry;
-import me.shedaniel.rei.api.common.transfer.info.MenuSerializationProviderContext;
+import me.shedaniel.rei.api.common.transfer.info.MenuSerializationContext;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.nbt.CompoundTag;
@@ -62,20 +62,14 @@ public class MenuInfoRegistryImpl implements MenuInfoRegistry {
@Override
@Nullable
- public <T extends AbstractContainerMenu, D extends Display> MenuInfo<T, D> get(CategoryIdentifier<D> category, Class<T> menuClass) {
- return getInternal(category, menuClass, provider -> provider.provide(category, menuClass));
- }
-
- @Override
- @Nullable
@Environment(EnvType.CLIENT)
- public <C extends AbstractContainerMenu, D extends Display> MenuInfo<C, D> getClient(D display, C menu) {
- return getInternal((CategoryIdentifier<D>) display.getCategoryIdentifier(), (Class<C>) menu.getClass(), provider -> provider.provideClient(display, menu));
+ public <C extends AbstractContainerMenu, D extends Display> MenuInfo<C, D> getClient(D display, MenuSerializationContext<C, ?, D> context, C menu) {
+ return getInternal((CategoryIdentifier<D>) display.getCategoryIdentifier(), (Class<C>) menu.getClass(), provider -> provider.provideClient(display, context, menu));
}
@Override
@Nullable
- public <C extends AbstractContainerMenu, D extends Display> MenuInfo<C, D> get(CategoryIdentifier<D> category, C menu, MenuSerializationProviderContext<C, ?, D> context, CompoundTag tag) {
+ public <C extends AbstractContainerMenu, D extends Display> MenuInfo<C, D> get(CategoryIdentifier<D> category, C menu, MenuSerializationContext<C, ?, D> context, CompoundTag tag) {
return getInternal(category, (Class<C>) menu.getClass(), provider -> provider.provide(category, menu, context, tag));
}
diff --git a/runtime/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultCategoryHandler.java b/runtime/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultCategoryHandler.java
index 1c9703d5e..52385b57f 100644
--- a/runtime/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultCategoryHandler.java
+++ b/runtime/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultCategoryHandler.java
@@ -61,11 +61,11 @@ public class DefaultCategoryHandler implements TransferHandler {
return Result.createNotApplicable();
}
AbstractContainerMenu menu = context.getMenu();
- MenuInfo<AbstractContainerMenu, Display> menuInfo = MenuInfoRegistry.getInstance().getClient(display, menu);
+ MenuInfoContext<AbstractContainerMenu, Player, Display> menuInfoContext = ofContext(menu, display);
+ MenuInfo<AbstractContainerMenu, Display> menuInfo = MenuInfoRegistry.getInstance().getClient(display, menuInfoContext, menu);
if (menuInfo == null) {
return Result.createNotApplicable();
}
- MenuInfoContext<AbstractContainerMenu, Player, Display> menuInfoContext = ofContext(menu, menuInfo, display);
try {
menuInfo.validate(menuInfoContext);
} catch (MenuTransferException e) {
@@ -76,7 +76,7 @@ public class DefaultCategoryHandler implements TransferHandler {
}
}
List<List<ItemStack>> input = menuInfo.getInputs(menuInfoContext);
- IntList intList = hasItems(menu, menuInfo, display, input);
+ IntList intList = hasItems(menuInfoContext, menu, menuInfo, display, input);
if (!intList.isEmpty()) {
return Result.createFailed(new TranslatableComponent("error.rei.not.enough.materials"), intList);
}
@@ -105,7 +105,7 @@ public class DefaultCategoryHandler implements TransferHandler {
return -10;
}
- private static MenuInfoContext<AbstractContainerMenu, Player, Display> ofContext(AbstractContainerMenu menu, MenuInfo<AbstractContainerMenu, Display> info, Display display) {
+ private static MenuInfoContext<AbstractContainerMenu, Player, Display> ofContext(AbstractContainerMenu menu, Display display) {
return new MenuInfoContext<AbstractContainerMenu, Player, Display>() {
@Override
public AbstractContainerMenu getMenu() {
@@ -118,11 +118,6 @@ public class DefaultCategoryHandler implements TransferHandler {
}
@Override
- public MenuInfo<AbstractContainerMenu, Display> getContainerInfo() {
- return info;
- }
-
- @Override
public CategoryIdentifier<Display> getCategoryIdentifier() {
return (CategoryIdentifier<Display>) display.getCategoryIdentifier();
}
@@ -134,10 +129,10 @@ public class DefaultCategoryHandler implements TransferHandler {
};
}
- public IntList hasItems(AbstractContainerMenu menu, MenuInfo<AbstractContainerMenu, Display> info, Display display, List<List<ItemStack>> inputs) {
+ public IntList hasItems(MenuInfoContext<AbstractContainerMenu, Player, Display> menuInfoContext, AbstractContainerMenu menu, MenuInfo<AbstractContainerMenu, Display> info, Display display, List<List<ItemStack>> inputs) {
// Create a clone of player's inventory, and count
RecipeFinder recipeFinder = new RecipeFinder();
- info.getRecipeFinderPopulator().populate(ofContext(menu, info, display), recipeFinder);
+ info.getRecipeFinderPopulator().populate(menuInfoContext, recipeFinder);
IntList intList = new IntArrayList();
for (int i = 0; i < inputs.size(); i++) {
List<ItemStack> possibleStacks = inputs.get(i);
diff --git a/runtime/src/main/java/me/shedaniel/rei/plugin/client/runtime/DefaultClientRuntimePlugin.java b/runtime/src/main/java/me/shedaniel/rei/plugin/client/runtime/DefaultClientRuntimePlugin.java
index 3a174ffa4..d7c9ed2f8 100644
--- a/runtime/src/main/java/me/shedaniel/rei/plugin/client/runtime/DefaultClientRuntimePlugin.java
+++ b/runtime/src/main/java/me/shedaniel/rei/plugin/client/runtime/DefaultClientRuntimePlugin.java
@@ -178,7 +178,7 @@ public class DefaultClientRuntimePlugin implements REIClientPlugin {
}
@Override
- public DataResult<EntryStackFavoriteEntry> readResult(CompoundTag object) {
+ public DataResult<EntryStackFavoriteEntry> read(CompoundTag object) {
EntryStack<?> stack;
try {
stack = EntryStack.read(object.getCompound(key));
@@ -189,7 +189,7 @@ public class DefaultClientRuntimePlugin implements REIClientPlugin {
}
@Override
- public DataResult<EntryStackFavoriteEntry> fromArgsResult(Object... args) {
+ public DataResult<EntryStackFavoriteEntry> fromArgs(Object... args) {
if (args.length == 0) return DataResult.error("Cannot create EntryStackFavoriteEntry from empty args!");
if (!(args[0] instanceof EntryStack<?> stack))
return DataResult.error("Creation of EntryStackFavoriteEntry from args expected EntryStack as the first argument!");
diff --git a/runtime/src/main/java/me/shedaniel/rei/plugin/test/REITestPlugin.java b/runtime/src/main/java/me/shedaniel/rei/plugin/test/REITestPlugin.java
index 28bbe66ca..7a943b273 100644
--- a/runtime/src/main/java/me/shedaniel/rei/plugin/test/REITestPlugin.java
+++ b/runtime/src/main/java/me/shedaniel/rei/plugin/test/REITestPlugin.java
@@ -30,6 +30,8 @@ import me.shedaniel.rei.api.client.plugins.REIClientPlugin;
import me.shedaniel.rei.api.client.registry.entry.EntryRegistry;
import me.shedaniel.rei.api.common.entry.EntryStack;
import me.shedaniel.rei.api.common.entry.comparison.ItemComparatorRegistry;
+import me.shedaniel.rei.api.common.plugins.PluginManager;
+import me.shedaniel.rei.api.common.registry.ReloadStage;
import me.shedaniel.rei.api.common.util.EntryStacks;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
@@ -53,7 +55,7 @@ public class REITestPlugin implements REIClientPlugin {
private Random random = new Random();
@Override
- public void preRegister() {
+ public void preStage(PluginManager<REIClientPlugin> manager, ReloadStage stage) {
LogManager.getLogger().error("REI Test Plugin is enabled! If you see this unintentionally, please report this!");
}