diff options
| author | shedaniel <daniel@shedaniel.me> | 2021-06-27 16:38:33 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2021-06-27 16:38:33 +0800 |
| commit | c0c2bd8d259b9ccc55d2111d806220753b9d89bd (patch) | |
| tree | 52059a5dd2bcc6320e750a48e1b1e4c22adebbca /runtime/src/main/java/me/shedaniel/rei/plugin/client | |
| parent | f6b10e75179c8237cab172d757238d1404273187 (diff) | |
| download | RoughlyEnoughItems-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.java | 21 |
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 |
