Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release v0.2.2 #12

Merged
merged 6 commits into from
Jun 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,13 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [0.2.2] - 2024-06-20

### Fixed

- Potential loading order issues on Fabric.
- Broken recipe transfer.

## [0.2.1] - 2024-06-16

### Fixed
Expand All @@ -29,7 +36,9 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
- Recipe transfer integration for the Crafting Grid.
- Grid / JEI search box synchronization options.

[Unreleased]: https://github.com/refinedmods/refinedstorage-jei-integration/compare/v0.2.1...HEAD
[Unreleased]: https://github.com/refinedmods/refinedstorage-jei-integration/compare/v0.2.2...HEAD

[0.2.2]: https://github.com/refinedmods/refinedstorage-jei-integration/compare/v0.2.1...v0.2.2

[0.2.1]: https://github.com/refinedmods/refinedstorage-jei-integration/compare/v0.2.0...v0.2.1

Expand Down
1 change: 1 addition & 0 deletions config/checkstyle/checkstyle-suppressions.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,5 @@
<suppressions>
<!-- Test directories don't need a package-info.java file -->
<suppress checks="JavadocPackage" files="test[\\/].*.java"/>
<suppress checks="HideUtilityClassConstructor" files="ModInitializer.java"/>
</suppressions>
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
refinedstorageVersion=2.0.0-milestone.3.10
refinedstorageVersion=2.0.0-milestone.3.13
jeiVersion=17.3.0.52
# Gradle
org.gradle.jvmargs=-Xmx1G
11 changes: 6 additions & 5 deletions refinedstorage-jei-integration-common/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -5,24 +5,25 @@ plugins {
archivesBaseName = 'refinedstorage-jei-integration-common'

repositories {
maven {
name = 'JEI'
url = "https://maven.blamejared.com/"
}
maven {
url = uri("https://maven.pkg.github.com/refinedmods/refinedstorage2")
credentials {
username = "anything"
password = "\u0067hp_oGjcDFCn8jeTzIj4Ke9pLoEVtpnZMP4VQgaX"
}
}
maven {
name = 'JEI'
url = "https://maven.blamejared.com/"
}
}

commonProject()

dependencies {
api "mezz.jei:jei-${minecraftVersion}-common-api:${jeiVersion}"
api "com.refinedmods.refinedstorage2:refinedstorage2-platform-common:${refinedstorageVersion}"
api "mezz.jei:jei-${minecraftVersion}-common-api:${jeiVersion}"
api "mezz.jei:jei-${minecraftVersion}-common:${jeiVersion}"
}

enablePublishing()
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
package com.refinedmods.refinedstorage.jei.common;

import com.refinedmods.refinedstorage2.platform.api.PlatformApi;
import net.minecraft.resources.ResourceLocation;

import static java.util.Objects.requireNonNull;

public final class Common {
Expand All @@ -17,4 +20,16 @@ public static void setPlatform(final Platform platform) {
public static Platform getPlatform() {
return requireNonNull(platform, "Platform isn't set yet");
}

public static void init(final PlatformApi platformApi) {
platformApi.addIngredientConverter(new JeiRecipeModIngredientConverter());
platformApi.getGridSynchronizerRegistry().register(
new ResourceLocation(Common.MOD_ID, "jei"),
new JeiGridSynchronizer(false)
);
platformApi.getGridSynchronizerRegistry().register(
new ResourceLocation(Common.MOD_ID, "jei_two_way"),
new JeiGridSynchronizer(true)
);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ private List<List<ItemResource>> getInputs(final IRecipeSlotsView recipeSlots) {
return recipeSlots.getSlotViews(RecipeIngredientRole.INPUT).stream().map(slotView -> {
final List<ItemStack> stacks = slotView.getItemStacks().collect(Collectors.toList());
prioritizeDisplayedStack(slotView, stacks);
return stacks.stream().map(ItemResource::ofItemStack).toList();
return stacks.stream().map(ItemResource::ofItemStack).collect(Collectors.toList());
}).toList();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
import java.util.Collections;
import java.util.List;

import com.refinedmods.refinedstorage2.platform.api.PlatformApi;
import com.refinedmods.refinedstorage2.platform.api.support.resource.PlatformResourceKey;
import com.refinedmods.refinedstorage2.platform.api.support.resource.RecipeModIngredientConverter;
import com.refinedmods.refinedstorage2.platform.common.Platform;
import com.refinedmods.refinedstorage2.platform.common.support.AbstractBaseScreen;
import com.refinedmods.refinedstorage2.platform.common.support.containermenu.AbstractResourceContainerMenu;
Expand All @@ -16,12 +16,6 @@

@SuppressWarnings("rawtypes")
class GhostIngredientHandler implements IGhostIngredientHandler<AbstractBaseScreen> {
private final RecipeModIngredientConverter ingredientConverter;

GhostIngredientHandler(final RecipeModIngredientConverter ingredientConverter) {
this.ingredientConverter = ingredientConverter;
}

@Override
public <I> List<Target<I>> getTargetsTyped(final AbstractBaseScreen screen,
final ITypedIngredient<I> ingredient,
Expand All @@ -36,7 +30,7 @@ private <I> List<Target<I>> getTargets(final AbstractBaseScreen screen,
final I ingredient,
final AbstractResourceContainerMenu menu) {
final List<Target<I>> targets = new ArrayList<>();
ingredientConverter.convertToResource(ingredient).ifPresent(resource -> {
PlatformApi.INSTANCE.getIngredientConverter().convertToResource(ingredient).ifPresent(resource -> {
for (final ResourceSlot slot : menu.getResourceSlots()) {
if (slot.isFilter() && slot.isValid(resource)) {
final Rect2i bounds = getBounds(screen, slot);
Expand Down Expand Up @@ -72,7 +66,7 @@ public Rect2i getArea() {

@Override
public void accept(final I ingredient) {
ingredientConverter.convertToResource(ingredient).ifPresent(this::accept);
PlatformApi.INSTANCE.getIngredientConverter().convertToResource(ingredient).ifPresent(this::accept);
}

private void accept(final PlatformResourceKey resource) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

import java.util.Optional;

import com.refinedmods.refinedstorage2.platform.api.PlatformApi;
import com.refinedmods.refinedstorage2.platform.api.grid.view.PlatformGridResource;
import com.refinedmods.refinedstorage2.platform.api.support.resource.PlatformResourceKey;
import com.refinedmods.refinedstorage2.platform.api.support.resource.RecipeModIngredientConverter;
import com.refinedmods.refinedstorage2.platform.common.grid.screen.AbstractGridScreen;
import mezz.jei.api.gui.handlers.IGuiContainerHandler;
import mezz.jei.api.ingredients.IIngredientHelper;
Expand All @@ -13,11 +13,9 @@
import mezz.jei.api.runtime.IIngredientManager;

class GridGuiContainerHandler implements IGuiContainerHandler<AbstractGridScreen<?>> {
private final RecipeModIngredientConverter converter;
private final IIngredientManager ingredientManager;

GridGuiContainerHandler(final RecipeModIngredientConverter converter, final IIngredientManager ingredientManager) {
this.converter = converter;
GridGuiContainerHandler(final IIngredientManager ingredientManager) {
this.ingredientManager = ingredientManager;
}

Expand All @@ -35,7 +33,7 @@ public Optional<IClickableIngredient<?>> getClickableIngredientUnderMouse(
if (underlyingResource == null) {
return Optional.empty();
}
return converter.convertToIngredient(underlyingResource).flatMap(
return PlatformApi.INSTANCE.getIngredientConverter().convertToIngredient(underlyingResource).flatMap(
ingredient -> convertToClickableIngredient(mouseX, mouseY, ingredient)
);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,9 @@ class JeiGridSynchronizer extends AbstractGridSynchronizer {
"gui.%s.grid.synchronizer.two_way.help".formatted(MOD_ID)
);

private final JeiProxy jeiProxy;
private final boolean twoWay;

JeiGridSynchronizer(final JeiProxy jeiProxy, final boolean twoWay) {
this.jeiProxy = jeiProxy;
JeiGridSynchronizer(final boolean twoWay) {
this.twoWay = twoWay;
}

Expand All @@ -38,13 +36,13 @@ public Component getHelpText() {

@Override
public void synchronizeFromGrid(final String text) {
jeiProxy.setSearchFieldText(text);
JeiHelper.setSearchFieldText(text);
}

@Override
@Nullable
public String getTextToSynchronizeToGrid() {
return twoWay ? jeiProxy.getSearchFieldText() : null;
return twoWay ? JeiHelper.getSearchFieldText() : null;
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,20 @@

import mezz.jei.api.runtime.IJeiRuntime;

public class JeiProxy {
public String getSearchFieldText() {
final IJeiRuntime runtime = RefinedStorageJeiModPlugin.getRuntime();
public final class JeiHelper {
private JeiHelper() {
}

public static String getSearchFieldText() {
final IJeiRuntime runtime = RefinedStorageModPlugin.getRuntime();
if (runtime == null) {
return "";
}
return runtime.getIngredientFilter().getFilterText();
}

public void setSearchFieldText(final String text) {
final IJeiRuntime runtime = RefinedStorageJeiModPlugin.getRuntime();
public static void setSearchFieldText(final String text) {
final IJeiRuntime runtime = RefinedStorageModPlugin.getRuntime();
if (runtime != null) {
runtime.getIngredientFilter().setFilterText(text);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,10 @@
import com.refinedmods.refinedstorage2.platform.common.support.resource.FluidResource;
import com.refinedmods.refinedstorage2.platform.common.support.resource.ItemResource;
import mezz.jei.api.helpers.IPlatformFluidHelper;
import mezz.jei.common.platform.Services;
import net.minecraft.world.item.ItemStack;

class JeiRecipeModIngredientConverter implements RecipeModIngredientConverter {
private final IPlatformFluidHelper<?> fluidHelper;

JeiRecipeModIngredientConverter(final IPlatformFluidHelper<?> fluidHelper) {
this.fluidHelper = fluidHelper;
}

@Override
public Optional<PlatformResourceKey> convertToResource(final Object ingredient) {
final var fluid = Common.getPlatform().convertJeiIngredientToFluid(ingredient);
Expand All @@ -34,6 +29,7 @@ public Optional<Object> convertToIngredient(final PlatformResourceKey resource)
return Optional.of(itemResource.toItemStack());
}
if (resource instanceof FluidResource fluidResource) {
final IPlatformFluidHelper<?> fluidHelper = Services.PLATFORM.getFluidHelper();
return Optional.of(fluidHelper.create(
fluidResource.fluid(),
fluidHelper.bucketVolume(),
Expand Down

This file was deleted.

Loading
Loading