From 09b4754a4239b12b3aa3da0ee557e1aa804787a5 Mon Sep 17 00:00:00 2001 From: shedaniel Date: Thu, 16 Jun 2022 23:06:03 +0800 Subject: Add acceptsNull() in EntryDefinition --- .../java/me/shedaniel/rei/impl/common/entry/TypedEntryStack.java | 5 +++++ .../me/shedaniel/rei/plugin/client/entry/FluidEntryDefinition.java | 5 +++++ .../me/shedaniel/rei/plugin/client/entry/ItemEntryDefinition.java | 5 +++++ 3 files changed, 15 insertions(+) (limited to 'runtime/src/main/java') diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/common/entry/TypedEntryStack.java b/runtime/src/main/java/me/shedaniel/rei/impl/common/entry/TypedEntryStack.java index 7112af245..5d159d79b 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/common/entry/TypedEntryStack.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/common/entry/TypedEntryStack.java @@ -34,6 +34,11 @@ public class TypedEntryStack extends AbstractEntryStack { public TypedEntryStack(EntryDefinition definition, T value) { this.definition = definition; this.value = value; + if (!definition.acceptsNull()) { + if (value == null) { + throw new IllegalArgumentException("Value cannot be null for " + definition.getType().getId()); + } + } } @Override diff --git a/runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/FluidEntryDefinition.java b/runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/FluidEntryDefinition.java index d3055d0c8..7646fa1e8 100644 --- a/runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/FluidEntryDefinition.java +++ b/runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/FluidEntryDefinition.java @@ -184,6 +184,11 @@ public class FluidEntryDefinition implements EntryDefinition, EntryS return true; } + @Override + public boolean acceptsNull() { + return false; + } + @Override public CompoundTag save(EntryStack entry, FluidStack value) { return value.write(new CompoundTag()); diff --git a/runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/ItemEntryDefinition.java b/runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/ItemEntryDefinition.java index 7beab03b9..1667058fa 100644 --- a/runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/ItemEntryDefinition.java +++ b/runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/ItemEntryDefinition.java @@ -169,6 +169,11 @@ public class ItemEntryDefinition implements EntryDefinition, EntrySer return true; } + @Override + public boolean acceptsNull() { + return false; + } + @Override public CompoundTag save(EntryStack entry, ItemStack value) { return value.save(new CompoundTag()); -- cgit