diff --git a/common/src/main/java/dev/architectury/transfer/access/BlockTransferAccess.java b/common/src/main/java/dev/architectury/transfer/access/BlockTransferAccess.java index dd786256..6f4007ad 100644 --- a/common/src/main/java/dev/architectury/transfer/access/BlockTransferAccess.java +++ b/common/src/main/java/dev/architectury/transfer/access/BlockTransferAccess.java @@ -27,6 +27,8 @@ import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.state.BlockState; import org.jetbrains.annotations.Nullable; +import java.util.function.Function; + public interface BlockTransferAccess extends TransferAccess { @Nullable T get(Level level, BlockPos pos, C context); @@ -39,12 +41,6 @@ public interface BlockTransferAccess extends TransferAccess { @FunctionalInterface interface BlockAccessProvider { @Nullable - BlockAccessApplicator get(Level level, BlockPos pos, BlockState state, BlockEntity blockEntity); - } - - @FunctionalInterface - interface BlockAccessApplicator { - @Nullable - T get(Level level, BlockPos pos, BlockState state, BlockEntity blockEntity, @Nullable C context); + Function get(Level level, BlockPos pos, BlockState state, BlockEntity blockEntity); } } diff --git a/forge/src/main/java/dev/architectury/transfer/forge/ForgeBlockTransferAccess.java b/forge/src/main/java/dev/architectury/transfer/forge/ForgeBlockTransferAccess.java index 8ce35544..243ed4bc 100644 --- a/forge/src/main/java/dev/architectury/transfer/forge/ForgeBlockTransferAccess.java +++ b/forge/src/main/java/dev/architectury/transfer/forge/ForgeBlockTransferAccess.java @@ -29,6 +29,8 @@ import net.minecraftforge.common.util.LazyOptional; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import java.util.function.Function; + public interface ForgeBlockTransferAccess extends BlockTransferAccess { Capability getCapability(); @@ -39,14 +41,14 @@ public interface ForgeBlockTransferAccess extends BlockTransferAccess { if (event.getObject() instanceof BlockEntity) { BlockEntity blockEntity = (BlockEntity) event.getObject(); - BlockAccessApplicator applicator = provider.get(blockEntity.getLevel(), blockEntity.getBlockPos(), blockEntity.getBlockState(), blockEntity); + Function applicator = provider.get(blockEntity.getLevel(), blockEntity.getBlockPos(), blockEntity.getBlockState(), blockEntity); if (applicator != null) { event.addCapability(id, new ICapabilityProvider() { @NotNull @Override public LazyOptional getCapability(@NotNull Capability capability, @Nullable Direction arg) { if (capability == ForgeBlockTransferAccess.this.getCapability()) { - T handler = applicator.get(blockEntity.getLevel(), blockEntity.getBlockPos(), blockEntity.getBlockState(), blockEntity, arg); + T handler = applicator.apply(arg); return LazyOptional.of(() -> from(handler)).cast(); }