From e9d30b8794c867281dad09f33a24385f97890c74 Mon Sep 17 00:00:00 2001 From: dfsek Date: Fri, 2 Jan 2026 21:13:24 -0700 Subject: [PATCH] rename Lazy to Memo --- .../addons/image/config/image/ImageCache.java | 4 ++-- .../state/properties/base/EnumProperty.java | 4 ++-- .../api/structure/feature/BinaryColumn.java | 8 +++---- .../api/util/generic/{Lazy.java => Memo.java} | 22 +++++++++---------- .../dfsek/terra/cli/block/CLIBlockType.java | 6 ++--- 5 files changed, 22 insertions(+), 22 deletions(-) rename common/api/src/main/java/com/dfsek/terra/api/util/generic/{Lazy.java => Memo.java} (61%) diff --git a/common/addons/library-image/src/main/java/com/dfsek/terra/addons/image/config/image/ImageCache.java b/common/addons/library-image/src/main/java/com/dfsek/terra/addons/image/config/image/ImageCache.java index 7ad72a009..26be6b5b2 100644 --- a/common/addons/library-image/src/main/java/com/dfsek/terra/addons/image/config/image/ImageCache.java +++ b/common/addons/library-image/src/main/java/com/dfsek/terra/addons/image/config/image/ImageCache.java @@ -17,7 +17,7 @@ import com.dfsek.terra.addons.image.image.Image; import com.dfsek.terra.addons.image.image.SuppliedImage; import com.dfsek.terra.api.config.ConfigPack; import com.dfsek.terra.api.properties.Properties; -import com.dfsek.terra.api.util.generic.Lazy; +import com.dfsek.terra.api.util.generic.Memo; import static com.dfsek.terra.api.util.cache.CacheUtils.CACHE_EXECUTOR; @@ -41,7 +41,7 @@ record ImageCache(LoadingCache cache) implements Properties { return new SuppliedImage(() -> images.cache.get(path)); } else { // If images do not time out, image can be lazily loaded once instead of performing cache lookups for each image operation - Lazy lazyImage = Lazy.lazy(() -> images.cache.get(path)); + Memo lazyImage = Memo.lazy(() -> images.cache.get(path)); return new SuppliedImage(lazyImage::value); } } diff --git a/common/api/src/main/java/com/dfsek/terra/api/block/state/properties/base/EnumProperty.java b/common/api/src/main/java/com/dfsek/terra/api/block/state/properties/base/EnumProperty.java index 4053a90d1..1f44549a2 100644 --- a/common/api/src/main/java/com/dfsek/terra/api/block/state/properties/base/EnumProperty.java +++ b/common/api/src/main/java/com/dfsek/terra/api/block/state/properties/base/EnumProperty.java @@ -11,13 +11,13 @@ import java.util.Arrays; import java.util.Collection; import com.dfsek.terra.api.block.state.properties.Property; -import com.dfsek.terra.api.util.generic.Lazy; +import com.dfsek.terra.api.util.generic.Memo; public interface EnumProperty> extends Property { static > EnumProperty of(String name, Class clazz) { return new EnumProperty<>() { - private final Lazy> constants = Lazy.lazy(() -> Arrays.asList(clazz.getEnumConstants())); + private final Memo> constants = Memo.lazy(() -> Arrays.asList(clazz.getEnumConstants())); @Override public Collection values() { diff --git a/common/api/src/main/java/com/dfsek/terra/api/structure/feature/BinaryColumn.java b/common/api/src/main/java/com/dfsek/terra/api/structure/feature/BinaryColumn.java index 4bce25d7e..ddbcdc659 100644 --- a/common/api/src/main/java/com/dfsek/terra/api/structure/feature/BinaryColumn.java +++ b/common/api/src/main/java/com/dfsek/terra/api/structure/feature/BinaryColumn.java @@ -11,7 +11,7 @@ import java.util.function.BooleanSupplier; import java.util.function.IntConsumer; import com.dfsek.terra.api.util.function.IntPredicate; -import com.dfsek.terra.api.util.generic.Lazy; +import com.dfsek.terra.api.util.generic.Memo; import com.dfsek.terra.api.util.range.Range; @@ -23,7 +23,7 @@ public class BinaryColumn { private final IntPredicate data; private final int minY; private final int maxY; - private final Lazy results; + private final Memo results; /** * Constructs a new {@link BinaryColumn} with all values initiated to {@code false} @@ -34,7 +34,7 @@ public class BinaryColumn { public BinaryColumn(int minY, int maxY, IntPredicate data) { this.minY = minY; this.maxY = maxY; - this.results = Lazy.lazy(() -> { + this.results = Memo.lazy(() -> { boolean[] res = new boolean[maxY - minY]; for(int y = minY; y < maxY; y++) { res[y - minY] = get(y); @@ -48,7 +48,7 @@ public class BinaryColumn { public BinaryColumn(int minY, int maxY, boolean[] data) { this.minY = minY; this.maxY = maxY; - this.results = Lazy.lazy(() -> data); + this.results = Memo.lazy(() -> data); if(maxY <= minY) throw new IllegalArgumentException("Max y must be greater than min y"); this.data = y -> data[y - minY]; } diff --git a/common/api/src/main/java/com/dfsek/terra/api/util/generic/Lazy.java b/common/api/src/main/java/com/dfsek/terra/api/util/generic/Memo.java similarity index 61% rename from common/api/src/main/java/com/dfsek/terra/api/util/generic/Lazy.java rename to common/api/src/main/java/com/dfsek/terra/api/util/generic/Memo.java index e239a1f47..214d5f0d8 100644 --- a/common/api/src/main/java/com/dfsek/terra/api/util/generic/Lazy.java +++ b/common/api/src/main/java/com/dfsek/terra/api/util/generic/Memo.java @@ -16,21 +16,21 @@ import java.util.function.Function; import java.util.function.Supplier; -public final class Lazy implements Monad> { +public final class Memo implements Monad> { private final Supplier valueSupplier; private volatile T value = null; private final AtomicBoolean got = new AtomicBoolean(false); - private Lazy(Supplier valueSupplier) { + private Memo(Supplier valueSupplier) { this.valueSupplier = valueSupplier; } - public static Lazy lazy(Supplier valueSupplier) { - return new Lazy<>(valueSupplier); + public static Memo lazy(Supplier valueSupplier) { + return new Memo<>(valueSupplier); } - public static Lazy of(T value) { - return new Lazy<>(() -> value); + public static Memo of(T value) { + return new Memo<>(() -> value); } public T value() { @@ -41,17 +41,17 @@ public final class Lazy implements Monad> { } @Override - public @NotNull Lazy bind(@NotNull Function>> map) { - return lazy(() -> ((Lazy) map.apply(value())).value()); + public @NotNull Memo bind(@NotNull Function>> map) { + return lazy(() -> ((Memo) map.apply(value())).value()); } @Override - public @NotNull Lazy map(@NotNull Function map) { + public @NotNull Memo map(@NotNull Function map) { return lazy(() -> map.apply(value())); } @Override - public @NotNull Lazy pure(@NotNull T1 t) { - return new Lazy<>(() -> t); + public @NotNull Memo pure(@NotNull T1 t) { + return new Memo<>(() -> t); } } diff --git a/platforms/cli/src/main/java/com/dfsek/terra/cli/block/CLIBlockType.java b/platforms/cli/src/main/java/com/dfsek/terra/cli/block/CLIBlockType.java index 71772d0e5..b7623af19 100644 --- a/platforms/cli/src/main/java/com/dfsek/terra/cli/block/CLIBlockType.java +++ b/platforms/cli/src/main/java/com/dfsek/terra/cli/block/CLIBlockType.java @@ -2,21 +2,21 @@ package com.dfsek.terra.cli.block; import com.dfsek.terra.api.block.BlockType; import com.dfsek.terra.api.block.state.BlockState; -import com.dfsek.terra.api.util.generic.Lazy; +import com.dfsek.terra.api.util.generic.Memo; public class CLIBlockType implements BlockType { private final String value; private final boolean solid; private final boolean water; - private final Lazy defaultState; + private final Memo defaultState; public CLIBlockType(String value) { if(value.contains("[")) throw new IllegalArgumentException("Block Type must not contain properties"); this.value = value; this.solid = !value.equals("minecraft:air"); this.water = value.equals("minecraft:water"); - this.defaultState = Lazy.lazy(() -> new CLIBlockState(value)); + this.defaultState = Memo.lazy(() -> new CLIBlockState(value)); } @Override