aboutsummaryrefslogtreecommitdiff
path: root/runtime/src/main/java/me/shedaniel/rei/plugin/client
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2021-06-27 16:38:33 +0800
committershedaniel <daniel@shedaniel.me>2021-06-27 16:38:33 +0800
commitc0c2bd8d259b9ccc55d2111d806220753b9d89bd (patch)
tree52059a5dd2bcc6320e750a48e1b1e4c22adebbca /runtime/src/main/java/me/shedaniel/rei/plugin/client
parentf6b10e75179c8237cab172d757238d1404273187 (diff)
downloadRoughlyEnoughItems-c0c2bd8d259b9ccc55d2111d806220753b9d89bd.tar.gz
RoughlyEnoughItems-c0c2bd8d259b9ccc55d2111d806220753b9d89bd.tar.bz2
RoughlyEnoughItems-c0c2bd8d259b9ccc55d2111d806220753b9d89bd.zip
Fix #572 & add getDraggableAcceptingBounds
Diffstat (limited to 'runtime/src/main/java/me/shedaniel/rei/plugin/client')
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/plugin/client/DefaultClientRuntimePlugin.java21
1 files changed, 17 insertions, 4 deletions
diff --git a/runtime/src/main/java/me/shedaniel/rei/plugin/client/DefaultClientRuntimePlugin.java b/runtime/src/main/java/me/shedaniel/rei/plugin/client/DefaultClientRuntimePlugin.java
index ec1ffd2d2..a87cfc722 100644
--- a/runtime/src/main/java/me/shedaniel/rei/plugin/client/DefaultClientRuntimePlugin.java
+++ b/runtime/src/main/java/me/shedaniel/rei/plugin/client/DefaultClientRuntimePlugin.java
@@ -25,6 +25,8 @@ package me.shedaniel.rei.plugin.client;
import com.mojang.blaze3d.systems.RenderSystem;
import com.mojang.blaze3d.vertex.PoseStack;
+import com.mojang.serialization.DataResult;
+import com.mojang.serialization.Lifecycle;
import dev.architectury.fluid.FluidStack;
import me.shedaniel.math.Point;
import me.shedaniel.math.Rectangle;
@@ -160,13 +162,24 @@ public class DefaultClientRuntimePlugin implements REIClientPlugin {
}
@Override
- public EntryStackFavoriteEntry read(CompoundTag object) {
- return new EntryStackFavoriteEntry(EntryStack.read(object.getCompound(key)));
+ public DataResult<EntryStackFavoriteEntry> readResult(CompoundTag object) {
+ EntryStack<?> stack;
+ try {
+ stack = EntryStack.read(object.getCompound(key));
+ } catch (Throwable throwable) {
+ return DataResult.error(throwable.getMessage());
+ }
+ return DataResult.success(new EntryStackFavoriteEntry(stack), Lifecycle.stable());
}
@Override
- public EntryStackFavoriteEntry fromArgs(Object... args) {
- return new EntryStackFavoriteEntry((EntryStack<?>) args[0]);
+ public DataResult<EntryStackFavoriteEntry> fromArgsResult(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!");
+ if (!stack.supportSaving())
+ return DataResult.error("Creation of EntryStackFavoriteEntry from an unserializable stack!");
+ return DataResult.success(new EntryStackFavoriteEntry(stack), Lifecycle.stable());
}
@Override