Skip to content

Commit

Permalink
Merge pull request #12 from refinedmods/release/0.2.2
Browse files Browse the repository at this point in the history
Release v0.2.2
  • Loading branch information
raoulvdberge authored Jun 20, 2024
2 parents 0a360b7 + 472d524 commit b0965d7
Show file tree
Hide file tree
Showing 19 changed files with 154 additions and 150 deletions.
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

0 comments on commit b0965d7

Please sign in to comment.