diff options
| author | shedaniel <daniel@shedaniel.me> | 2023-03-04 22:00:07 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2023-03-04 22:00:07 +0800 |
| commit | d405e2c9489890f9f28113af3cf07259484b9827 (patch) | |
| tree | 74b022a06e9d8b9a8e7a8b73d626fc57f7cb4c2b /default-plugin/src/main/java/me/shedaniel/rei/plugin | |
| parent | 70924ee791821c254f8f4c5b4e79503b0bc10c94 (diff) | |
| download | RoughlyEnoughItems-d405e2c9489890f9f28113af3cf07259484b9827.tar.gz RoughlyEnoughItems-d405e2c9489890f9f28113af3cf07259484b9827.tar.bz2 RoughlyEnoughItems-d405e2c9489890f9f28113af3cf07259484b9827.zip | |
Initial Port to 1.19.4-pre3
Diffstat (limited to 'default-plugin/src/main/java/me/shedaniel/rei/plugin')
14 files changed, 78 insertions, 31 deletions
diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/DefaultClientPlugin.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/DefaultClientPlugin.java index da031d740..d1361c235 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/DefaultClientPlugin.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/DefaultClientPlugin.java @@ -40,6 +40,7 @@ import me.shedaniel.rei.api.client.registry.entry.EntryRegistry; import me.shedaniel.rei.api.client.registry.screen.ExclusionZones; import me.shedaniel.rei.api.client.registry.screen.ScreenRegistry; import me.shedaniel.rei.api.client.registry.transfer.TransferHandlerRegistry; +import me.shedaniel.rei.api.common.display.basic.BasicDisplay; import me.shedaniel.rei.api.common.entry.EntryIngredient; import me.shedaniel.rei.api.common.entry.EntryStack; import me.shedaniel.rei.api.common.util.EntryIngredients; @@ -128,7 +129,8 @@ public class DefaultClientPlugin implements REIClientPlugin, BuiltinClientPlugin return; Minecraft.getInstance().executeBlocking(() -> { CreativeModeTabs.tryRebuildTabContents(Minecraft.getInstance().player.connection.enabledFeatures(), - Minecraft.getInstance().options.operatorItemsTab().get() && Minecraft.getInstance().player.canUseGameMasterBlocks()); + Minecraft.getInstance().options.operatorItemsTab().get() && Minecraft.getInstance().player.canUseGameMasterBlocks(), + BasicDisplay.registryAccess()); }); Multimap<Item, EntryStack<ItemStack>> items = Multimaps.newListMultimap(new Reference2ObjectOpenHashMap<>() , ArrayList::new); @@ -263,7 +265,9 @@ public class DefaultClientPlugin implements REIClientPlugin, BuiltinClientPlugin registry.registerRecipeFiller(BlastingRecipe.class, RecipeType.BLASTING, DefaultBlastingDisplay::new); registry.registerRecipeFiller(CampfireCookingRecipe.class, RecipeType.CAMPFIRE_COOKING, DefaultCampfireDisplay::new); registry.registerRecipeFiller(StonecutterRecipe.class, RecipeType.STONECUTTING, DefaultStoneCuttingDisplay::new); - registry.registerRecipeFiller(UpgradeRecipe.class, RecipeType.SMITHING, DefaultSmithingDisplay::new); + registry.registerRecipeFiller(LegacyUpgradeRecipe.class, RecipeType.SMITHING, DefaultSmithingDisplay::new); + registry.registerRecipeFiller(SmithingTransformRecipe.class, RecipeType.SMITHING, DefaultSmithingDisplay::new); + registry.registerRecipeFiller(SmithingTrimRecipe.class, RecipeType.SMITHING, DefaultSmithingDisplay::new); registry.registerFiller(AnvilRecipe.class, DefaultAnvilDisplay::new); registry.registerFiller(BrewingRecipe.class, DefaultBrewingDisplay::new); registry.registerFiller(TagKey.class, tagKey -> { diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/DefaultCompostingCategory.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/DefaultCompostingCategory.java index 6f5c942c2..c0d2a08b6 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/DefaultCompostingCategory.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/DefaultCompostingCategory.java @@ -98,7 +98,7 @@ public class DefaultCompostingCategory implements DisplayCategory<DefaultCompost ItemStack firstStack = (ItemStack) entryIngredient.get(0).getValue(); float chance = ComposterBlock.COMPOSTABLES.getFloat(firstStack.getItem()); if (chance > 0.0f) { - entryIngredient = entryIngredient.map(stack -> stack.copy().tooltip(Component.translatable("text.rei.composting.chance", Mth.clamp(Mth.fastFloor(chance * 100), 0, 100)).withStyle(ChatFormatting.YELLOW))); + entryIngredient = entryIngredient.map(stack -> stack.copy().tooltip(Component.translatable("text.rei.composting.chance", Mth.clamp(Mth.floor(chance * 100), 0, 100)).withStyle(ChatFormatting.YELLOW))); } } widgets.add(Widgets.createSlot(new Point(bounds.getCenterX() - 72 + 9 + x * 18, bounds.y + 12 + y * 18)).entries(entryIngredient).markInput()); diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/DefaultSmithingCategory.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/DefaultSmithingCategory.java index 9e9f5e72b..982221600 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/DefaultSmithingCategory.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/DefaultSmithingCategory.java @@ -60,11 +60,19 @@ public class DefaultSmithingCategory implements DisplayCategory<DefaultSmithingD Point startPoint = new Point(bounds.getCenterX() - 31, bounds.getCenterY() - 13); List<Widget> widgets = Lists.newArrayList(); widgets.add(Widgets.createRecipeBase(bounds)); - widgets.add(Widgets.createArrow(new Point(startPoint.x + 27, startPoint.y + 4))); - widgets.add(Widgets.createResultSlotBackground(new Point(startPoint.x + 61, startPoint.y + 5))); - widgets.add(Widgets.createSlot(new Point(startPoint.x + 4 - 22, startPoint.y + 5)).entries(display.getInputEntries().get(0)).markInput()); - widgets.add(Widgets.createSlot(new Point(startPoint.x + 4, startPoint.y + 5)).entries(display.getInputEntries().get(1)).markInput()); - widgets.add(Widgets.createSlot(new Point(startPoint.x + 61, startPoint.y + 5)).entries(display.getOutputEntries().get(0)).disableBackground().markOutput()); + boolean legacy = display.getInputEntries().size() <= 2; + int offsetX = legacy ? 0 : 5; + widgets.add(Widgets.createArrow(new Point(startPoint.x + 27 + offsetX, startPoint.y + 4))); + widgets.add(Widgets.createResultSlotBackground(new Point(startPoint.x + 61 + offsetX, startPoint.y + 5))); + if (!legacy) { + widgets.add(Widgets.createSlot(new Point(startPoint.x + 4 - 18 * 2 + offsetX, startPoint.y + 5)).entries(display.getInputEntries().get(0)).markInput()); + widgets.add(Widgets.createSlot(new Point(startPoint.x + 4 - 18 + offsetX, startPoint.y + 5)).entries(display.getInputEntries().get(1)).markInput()); + widgets.add(Widgets.createSlot(new Point(startPoint.x + 4 + offsetX, startPoint.y + 5)).entries(display.getInputEntries().get(2)).markInput()); + } else { + widgets.add(Widgets.createSlot(new Point(startPoint.x + 4 - 22 + offsetX, startPoint.y + 5)).entries(display.getInputEntries().get(0)).markInput()); + widgets.add(Widgets.createSlot(new Point(startPoint.x + 4 + offsetX, startPoint.y + 5)).entries(display.getInputEntries().get(1)).markInput()); + } + widgets.add(Widgets.createSlot(new Point(startPoint.x + 61 + offsetX, startPoint.y + 5)).entries(display.getOutputEntries().get(0)).disableBackground().markOutput()); return widgets; } diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/favorites/GameModeFavoriteEntry.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/favorites/GameModeFavoriteEntry.java index 2a07bbdca..85accd118 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/favorites/GameModeFavoriteEntry.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/favorites/GameModeFavoriteEntry.java @@ -198,9 +198,9 @@ public class GameModeFavoriteEntry extends FavoriteEntry { @Override public DataResult<GameModeFavoriteEntry> fromArgs(Object... args) { - if (args.length == 0) return DataResult.error("Cannot create GameModeFavoriteEntry from empty args!"); + if (args.length == 0) return DataResult.error(() -> "Cannot create GameModeFavoriteEntry from empty args!"); if (!(args[0] instanceof GameType type)) - return DataResult.error("Creation of GameModeFavoriteEntry from args expected GameType as the first argument!"); + return DataResult.error(() -> "Creation of GameModeFavoriteEntry from args expected GameType as the first argument!"); return DataResult.success(new GameModeFavoriteEntry(type), Lifecycle.stable()); } diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/favorites/TimeFavoriteEntry.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/favorites/TimeFavoriteEntry.java index 33d95a52d..69f5c9aa9 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/favorites/TimeFavoriteEntry.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/favorites/TimeFavoriteEntry.java @@ -232,9 +232,9 @@ public class TimeFavoriteEntry extends FavoriteEntry { @Override public DataResult<TimeFavoriteEntry> fromArgs(Object... args) { - if (args.length == 0) return DataResult.error("Cannot create GameModeFavoriteEntry from empty args!"); + if (args.length == 0) return DataResult.error(() -> "Cannot create GameModeFavoriteEntry from empty args!"); if (!(args[0] instanceof Time type)) - return DataResult.error("Creation of GameModeFavoriteEntry from args expected Time as the first argument!"); + return DataResult.error(() -> "Creation of GameModeFavoriteEntry from args expected Time as the first argument!"); return DataResult.success(new TimeFavoriteEntry(type), Lifecycle.stable()); } diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/favorites/WeatherFavoriteEntry.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/favorites/WeatherFavoriteEntry.java index 652a498ca..ce5fac685 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/favorites/WeatherFavoriteEntry.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/favorites/WeatherFavoriteEntry.java @@ -206,9 +206,9 @@ public class WeatherFavoriteEntry extends FavoriteEntry { @Override public DataResult<WeatherFavoriteEntry> fromArgs(Object... args) { - if (args.length == 0) return DataResult.error("Cannot create WeatherFavoriteEntry from empty args!"); + if (args.length == 0) return DataResult.error(() -> "Cannot create WeatherFavoriteEntry from empty args!"); if (!(args[0] instanceof Weather weather)) - return DataResult.error("Creation of WeatherFavoriteEntry from args expected Weather as the first argument!"); + return DataResult.error(() -> "Creation of WeatherFavoriteEntry from args expected Weather as the first argument!"); return DataResult.success(new WeatherFavoriteEntry(weather), Lifecycle.stable()); } diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/DefaultCampfireDisplay.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/DefaultCampfireDisplay.java index fe8c605d3..3119c8f85 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/DefaultCampfireDisplay.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/DefaultCampfireDisplay.java @@ -40,7 +40,7 @@ public class DefaultCampfireDisplay extends BasicDisplay { private double cookTime; public DefaultCampfireDisplay(CampfireCookingRecipe recipe) { - this(EntryIngredients.ofIngredients(recipe.getIngredients()), Collections.singletonList(EntryIngredients.of(recipe.getResultItem())), + this(EntryIngredients.ofIngredients(recipe.getIngredients()), Collections.singletonList(EntryIngredients.of(recipe.getResultItem(BasicDisplay.registryAccess()))), Optional.ofNullable(recipe).map(CampfireCookingRecipe::getId), recipe.getCookingTime()); } diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/DefaultSmithingDisplay.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/DefaultSmithingDisplay.java index db3e7c46b..f999a4a27 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/DefaultSmithingDisplay.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/DefaultSmithingDisplay.java @@ -29,21 +29,54 @@ import me.shedaniel.rei.api.common.entry.EntryIngredient; import me.shedaniel.rei.api.common.util.EntryIngredients; import me.shedaniel.rei.plugin.common.BuiltinPlugin; import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.item.crafting.UpgradeRecipe; +import net.minecraft.world.item.crafting.LegacyUpgradeRecipe; +import net.minecraft.world.item.crafting.SmithingRecipe; +import net.minecraft.world.item.crafting.SmithingTransformRecipe; +import net.minecraft.world.item.crafting.SmithingTrimRecipe; +import org.jetbrains.annotations.ApiStatus; -import java.util.Arrays; -import java.util.Collections; import java.util.List; import java.util.Optional; public class DefaultSmithingDisplay extends BasicDisplay { - public DefaultSmithingDisplay(UpgradeRecipe recipe) { + public DefaultSmithingDisplay(LegacyUpgradeRecipe recipe) { this( - Arrays.asList( + recipe, + List.of( EntryIngredients.ofIngredient(recipe.base), EntryIngredients.ofIngredient(recipe.addition) - ), - Collections.singletonList(EntryIngredients.of(recipe.getResultItem())), + ) + ); + } + + @ApiStatus.Experimental + public DefaultSmithingDisplay(SmithingTransformRecipe recipe) { + this( + recipe, + List.of( + EntryIngredients.ofIngredient(recipe.template), + EntryIngredients.ofIngredient(recipe.base), + EntryIngredients.ofIngredient(recipe.addition) + ) + ); + } + + @ApiStatus.Experimental + public DefaultSmithingDisplay(SmithingTrimRecipe recipe) { + this( + recipe, + List.of( + EntryIngredients.ofIngredient(recipe.template), + EntryIngredients.ofIngredient(recipe.base), + EntryIngredients.ofIngredient(recipe.addition) + ) + ); + } + + public DefaultSmithingDisplay(SmithingRecipe recipe, List<EntryIngredient> inputs) { + this( + inputs, + List.of(EntryIngredients.of(recipe.getResultItem(BasicDisplay.registryAccess()))), Optional.ofNullable(recipe.getId()) ); } diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/DefaultStoneCuttingDisplay.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/DefaultStoneCuttingDisplay.java index 64fe2b3e7..9359d6d0e 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/DefaultStoneCuttingDisplay.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/DefaultStoneCuttingDisplay.java @@ -37,7 +37,7 @@ import java.util.Optional; public class DefaultStoneCuttingDisplay extends BasicDisplay { public DefaultStoneCuttingDisplay(StonecutterRecipe recipe) { - this(EntryIngredients.ofIngredients(recipe.getIngredients()), Collections.singletonList(EntryIngredients.of(recipe.getResultItem())), + this(EntryIngredients.ofIngredients(recipe.getIngredients()), Collections.singletonList(EntryIngredients.of(recipe.getResultItem(BasicDisplay.registryAccess()))), Optional.ofNullable(recipe.getId())); } diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/cooking/DefaultCookingDisplay.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/cooking/DefaultCookingDisplay.java index 7ce5a2f02..a69f49a61 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/cooking/DefaultCookingDisplay.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/cooking/DefaultCookingDisplay.java @@ -43,7 +43,7 @@ public abstract class DefaultCookingDisplay extends BasicDisplay implements Simp private double cookTime; public DefaultCookingDisplay(AbstractCookingRecipe recipe) { - this(EntryIngredients.ofIngredients(recipe.getIngredients()), Collections.singletonList(EntryIngredients.of(recipe.getResultItem())), + this(EntryIngredients.ofIngredients(recipe.getIngredients()), Collections.singletonList(EntryIngredients.of(recipe.getResultItem(BasicDisplay.registryAccess()))), recipe, recipe.getExperience(), recipe.getCookingTime()); } diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/crafting/DefaultCraftingDisplay.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/crafting/DefaultCraftingDisplay.java index 4ac5263ea..03243114a 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/crafting/DefaultCraftingDisplay.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/crafting/DefaultCraftingDisplay.java @@ -101,13 +101,13 @@ public abstract class DefaultCraftingDisplay<C extends Recipe<?>> extends BasicD if (size != null) { return new DefaultCustomShapedDisplay(recipe, EntryIngredients.ofIngredients(recipe.getIngredients()), - Collections.singletonList(EntryIngredients.of(recipe.getResultItem())), + Collections.singletonList(EntryIngredients.of(recipe.getResultItem(BasicDisplay.registryAccess()))), size.getWidth(), size.getHeight()); } } return new DefaultCustomDisplay(recipe, EntryIngredients.ofIngredients(recipe.getIngredients()), - Collections.singletonList(EntryIngredients.of(recipe.getResultItem()))); + Collections.singletonList(EntryIngredients.of(recipe.getResultItem(BasicDisplay.registryAccess())))); } return null; diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/crafting/DefaultShapedDisplay.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/crafting/DefaultShapedDisplay.java index d81500c29..fcfa5db47 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/crafting/DefaultShapedDisplay.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/crafting/DefaultShapedDisplay.java @@ -23,6 +23,7 @@ package me.shedaniel.rei.plugin.common.displays.crafting; +import me.shedaniel.rei.api.common.display.basic.BasicDisplay; import me.shedaniel.rei.api.common.util.EntryIngredients; import net.minecraft.world.item.crafting.ShapedRecipe; @@ -33,7 +34,7 @@ public class DefaultShapedDisplay extends DefaultCraftingDisplay<ShapedRecipe> { public DefaultShapedDisplay(ShapedRecipe recipe) { super( EntryIngredients.ofIngredients(recipe.getIngredients()), - Collections.singletonList(EntryIngredients.of(recipe.getResultItem())), + Collections.singletonList(EntryIngredients.of(recipe.getResultItem(BasicDisplay.registryAccess()))), Optional.of(recipe) ); } diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/crafting/DefaultShapelessDisplay.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/crafting/DefaultShapelessDisplay.java index a8550bce2..e03356b03 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/crafting/DefaultShapelessDisplay.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/crafting/DefaultShapelessDisplay.java @@ -23,6 +23,7 @@ package me.shedaniel.rei.plugin.common.displays.crafting; +import me.shedaniel.rei.api.common.display.basic.BasicDisplay; import me.shedaniel.rei.api.common.util.EntryIngredients; import net.minecraft.world.item.crafting.ShapelessRecipe; @@ -33,7 +34,7 @@ public class DefaultShapelessDisplay extends DefaultCraftingDisplay<ShapelessRec public DefaultShapelessDisplay(ShapelessRecipe recipe) { super( EntryIngredients.ofIngredients(recipe.getIngredients()), - Collections.singletonList(EntryIngredients.of(recipe.getResultItem())), + Collections.singletonList(EntryIngredients.of(recipe.getResultItem(BasicDisplay.registryAccess()))), Optional.of(recipe) ); } diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/tag/TagNodes.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/tag/TagNodes.java index f2a0747fd..9e4fafadd 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/tag/TagNodes.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/tag/TagNodes.java @@ -141,7 +141,7 @@ public class TagNodes { if (Minecraft.getInstance().getSingleplayerServer() != null) { callback.accept(DataResult.success(TAG_DATA_MAP.get(resourceKey))); } else if (!NetworkManager.canServerReceive(REQUEST_TAGS_PACKET_C2S)) { - callback.accept(DataResult.error("Cannot request tags from server")); + callback.accept(DataResult.error(() -> "Cannot request tags from server")); } else if (requestedTags.containsKey(resourceKey)) { requestedTags.get(resourceKey).accept(callback); callback.accept(DataResult.success(TAG_DATA_MAP.getOrDefault(resourceKey, Collections.emptyMap()))); @@ -197,7 +197,7 @@ public class TagNodes { public static <T> void create(TagKey<T> tagKey, Consumer<DataResult<TagNode<T>>> callback) { Registry<T> registry = ((Registry<Registry<T>>) BuiltInRegistries.REGISTRY).get((ResourceKey<Registry<T>>) tagKey.registry()); requestTagData(tagKey.registry(), result -> { - callback.accept(result.flatMap(dataMap -> dataMap != null ? resolveTag(tagKey, registry, dataMap).orElse(DataResult.error("No tag data")) : DataResult.error("No tag data"))); + callback.accept(result.flatMap(dataMap -> dataMap != null ? resolveTag(tagKey, registry, dataMap).orElse(DataResult.error(() -> "No tag data")) : DataResult.error(() -> "No tag data"))); }); } @@ -222,7 +222,7 @@ public class TagNodes { Optional<DataResult<TagNode<T>>> resultOptional = resolveTag(childTagKey, registry, tagDataMap); if (resultOptional.isPresent()) { DataResult<TagNode<T>> result = resultOptional.get(); - if (result.error().isPresent()) return Optional.of(DataResult.error(result.error().get().message())); + if (result.error().isPresent()) return Optional.of(DataResult.error(() -> result.error().get().message())); self.addChild(result.result().get()); } } |
