From 9742af2626722fdce20d2be6a8e1f0ec3559bf13 Mon Sep 17 00:00:00 2001 From: CodexAdrian <83074853+CodexAdrian@users.noreply.github.com> Date: Sat, 4 May 2024 00:14:41 -0400 Subject: [PATCH] Actually add `isPresent` method to lookups --- changelog.md | 2 +- .../terrarium/botarium/item/ItemApi.java | 1 + .../botarium/data/DataManagerRegistry.java | 1 + gradle.properties | 2 +- .../botarium/lookup/BlockLookup.java | 8 ++++++++ .../botarium/lookup/EntityLookup.java | 4 ++++ .../terrarium/botarium/lookup/ItemLookup.java | 4 ++++ .../resources/fluid/util/FluidAmounts.java | 18 ++++++++--------- .../fluid/util/FluidAmountsActual.java | 20 +++++++++---------- 9 files changed, 39 insertions(+), 21 deletions(-) diff --git a/changelog.md b/changelog.md index 0c6cc897..d359a7a5 100644 --- a/changelog.md +++ b/changelog.md @@ -1 +1 @@ -Port to 1.20.6 (anything more detailed would give me an anuerism, i rewrote the mod) \ No newline at end of file +Added `isPresent` method to lookups \ No newline at end of file diff --git a/core/common/src/main/java/earth/terrarium/botarium/item/ItemApi.java b/core/common/src/main/java/earth/terrarium/botarium/item/ItemApi.java index decc6750..888927d1 100644 --- a/core/common/src/main/java/earth/terrarium/botarium/item/ItemApi.java +++ b/core/common/src/main/java/earth/terrarium/botarium/item/ItemApi.java @@ -10,6 +10,7 @@ import net.msrandom.multiplatform.annotations.Expect; import org.jetbrains.annotations.Nullable; +@SuppressWarnings("NoMatchingActual") @Expect public class ItemApi { public static final BlockLookup, @Nullable Direction> BLOCK; diff --git a/data/common/src/main/java/earth/terrarium/botarium/data/DataManagerRegistry.java b/data/common/src/main/java/earth/terrarium/botarium/data/DataManagerRegistry.java index af81cd01..5dc43666 100644 --- a/data/common/src/main/java/earth/terrarium/botarium/data/DataManagerRegistry.java +++ b/data/common/src/main/java/earth/terrarium/botarium/data/DataManagerRegistry.java @@ -4,6 +4,7 @@ import java.util.function.Supplier; +@SuppressWarnings("ALL") @Expect public final class DataManagerRegistry { public static DataManagerRegistry create(String modid); diff --git a/gradle.properties b/gradle.properties index 793802fa..fc6ebf26 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,7 +4,7 @@ org.gradle.parallel=true enabledPlatforms=fabric,neoforge -version=3.0.0 +version=4.0.0 group=earth.terrarium.botarium minecraftVersion=1.20.6 diff --git a/lookup/common/src/main/java/earth/terrarium/botarium/lookup/BlockLookup.java b/lookup/common/src/main/java/earth/terrarium/botarium/lookup/BlockLookup.java index 869a689f..2f84deab 100644 --- a/lookup/common/src/main/java/earth/terrarium/botarium/lookup/BlockLookup.java +++ b/lookup/common/src/main/java/earth/terrarium/botarium/lookup/BlockLookup.java @@ -41,6 +41,14 @@ default T find(Level level, BlockPos pos, @Nullable C direction) { return find(level, pos, null, null, direction); } + default boolean isPresent(Level level, BlockPos pos, @Nullable BlockState state, @Nullable BlockEntity entity, @Nullable C direction) { + return find(level, pos, state, entity, direction) != null; + } + + default boolean isPresent(BlockEntity block, @Nullable C direction) { + return find(block, direction) != null; + } + default void registerSelf(BlockGetter getter, Block ... blocks) { onRegister(registrar -> registrar.registerBlocks(getter, blocks)); } diff --git a/lookup/common/src/main/java/earth/terrarium/botarium/lookup/EntityLookup.java b/lookup/common/src/main/java/earth/terrarium/botarium/lookup/EntityLookup.java index 651bc5d1..6ec8965c 100644 --- a/lookup/common/src/main/java/earth/terrarium/botarium/lookup/EntityLookup.java +++ b/lookup/common/src/main/java/earth/terrarium/botarium/lookup/EntityLookup.java @@ -30,6 +30,10 @@ static EntityLookup createAutomation(ResourceLocation name, Cl @Nullable T find(Entity entity, C context); + default boolean isPresent(Entity entity, C context) { + return find(entity, context) != null; + } + default void registerFallback(EntityGetter getter) { onRegister(registrar -> { for (EntityType entityType : BuiltInRegistries.ENTITY_TYPE) { diff --git a/lookup/common/src/main/java/earth/terrarium/botarium/lookup/ItemLookup.java b/lookup/common/src/main/java/earth/terrarium/botarium/lookup/ItemLookup.java index b4b09b68..68d6b1df 100644 --- a/lookup/common/src/main/java/earth/terrarium/botarium/lookup/ItemLookup.java +++ b/lookup/common/src/main/java/earth/terrarium/botarium/lookup/ItemLookup.java @@ -25,6 +25,10 @@ static ItemLookup create(ResourceLocation name, Class typeClass) @Nullable T find(ItemStack stack, C context); + default boolean isPresent(ItemStack stack, C context) { + return find(stack, context) != null; + } + default void registerSelf(ItemGetter getter, Item ... items) { onRegister(registrar -> registrar.register(getter, items)); } diff --git a/resources/common/src/main/java/earth/terrarium/botarium/resources/fluid/util/FluidAmounts.java b/resources/common/src/main/java/earth/terrarium/botarium/resources/fluid/util/FluidAmounts.java index 92aa8803..5330ce5c 100644 --- a/resources/common/src/main/java/earth/terrarium/botarium/resources/fluid/util/FluidAmounts.java +++ b/resources/common/src/main/java/earth/terrarium/botarium/resources/fluid/util/FluidAmounts.java @@ -4,15 +4,6 @@ @SuppressWarnings("ALL") public final class FluidAmounts { - private FluidAmounts() { - } - - @Expect - public static long toPlatformAmount(long millibuckets); - - @Expect - public static long toMillibuckets(long platformAmount); - @Expect public static final long BUCKET; @@ -27,4 +18,13 @@ private FluidAmounts() { @Expect public static final long NUGGET; + + private FluidAmounts() { + } + + @Expect + public static long toPlatformAmount(long millibuckets); + + @Expect + public static long toMillibuckets(long platformAmount); } \ No newline at end of file diff --git a/resources/fabric/src/main/java/earth/terrarium/botarium/resources/fluid/util/FluidAmountsActual.java b/resources/fabric/src/main/java/earth/terrarium/botarium/resources/fluid/util/FluidAmountsActual.java index bedb8b88..8eae7159 100644 --- a/resources/fabric/src/main/java/earth/terrarium/botarium/resources/fluid/util/FluidAmountsActual.java +++ b/resources/fabric/src/main/java/earth/terrarium/botarium/resources/fluid/util/FluidAmountsActual.java @@ -4,16 +4,6 @@ import net.msrandom.multiplatform.annotations.Actual; public class FluidAmountsActual { - @Actual - public static long toPlatformAmount(long millibuckets) { - return FluidConstants.fromBucketFraction(millibuckets, 1000); - } - - @Actual - public static long toMillibuckets(long platformAmount) { - return (platformAmount * 1000) / FluidConstants.BUCKET; - } - @Actual public static final long BUCKET = FluidConstants.BUCKET; @@ -28,4 +18,14 @@ public static long toMillibuckets(long platformAmount) { @Actual public static final long NUGGET = FluidConstants.NUGGET; + + @Actual + public static long toPlatformAmount(long millibuckets) { + return FluidConstants.fromBucketFraction(millibuckets, 1000); + } + + @Actual + public static long toMillibuckets(long platformAmount) { + return (platformAmount * 1000) / FluidConstants.BUCKET; + } }