aboutsummaryrefslogtreecommitdiff
path: root/runtime/src/main/java/me/shedaniel/rei/plugin
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2022-06-22 18:21:04 +0800
committershedaniel <daniel@shedaniel.me>2022-06-28 03:21:12 +0800
commit86f438c9d823b45f4fc113f1e813d2e12de0ca40 (patch)
tree4a8ab3f36cea03c18f78bd615a25ebd0747aa014 /runtime/src/main/java/me/shedaniel/rei/plugin
parente982a8fbaa7b94a2eea242106322334a1a0eefe9 (diff)
downloadRoughlyEnoughItems-86f438c9d823b45f4fc113f1e813d2e12de0ca40.tar.gz
RoughlyEnoughItems-86f438c9d823b45f4fc113f1e813d2e12de0ca40.tar.bz2
RoughlyEnoughItems-86f438c9d823b45f4fc113f1e813d2e12de0ca40.zip
Close #839
Diffstat (limited to 'runtime/src/main/java/me/shedaniel/rei/plugin')
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultCategoryHandler.java7
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/FluidEntryDefinition.java6
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/ItemEntryDefinition.java7
3 files changed, 19 insertions, 1 deletions
diff --git a/runtime/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultCategoryHandler.java b/runtime/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultCategoryHandler.java
index dcb63d6c7..b90c88707 100644
--- a/runtime/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultCategoryHandler.java
+++ b/runtime/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultCategoryHandler.java
@@ -41,6 +41,8 @@ import me.shedaniel.rei.api.common.transfer.info.MenuInfoContext;
import me.shedaniel.rei.api.common.transfer.info.MenuInfoRegistry;
import me.shedaniel.rei.api.common.transfer.info.MenuTransferException;
import me.shedaniel.rei.api.common.util.CollectionUtils;
+import me.shedaniel.rei.api.common.util.EntryIngredients;
+import me.shedaniel.rei.api.common.util.EntryStacks;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.Minecraft;
@@ -51,8 +53,10 @@ import net.minecraft.network.chat.Component;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.inventory.AbstractContainerMenu;
import net.minecraft.world.item.ItemStack;
+import net.minecraft.world.level.ItemLike;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.List;
@Environment(EnvType.CLIENT)
@@ -92,7 +96,8 @@ public class DefaultCategoryHandler implements TransferHandler {
.renderer((matrices, mouseX, mouseY, delta, widgets, bounds, d) -> {
menuInfo.renderMissingInput(menuInfoContext, oldInputs, missingIndices, matrices, mouseX, mouseY, delta, widgets, bounds);
menuInfo.renderMissingInput(menuInfoContext, input, missing, missingIndicesSet, matrices, mouseX, mouseY, delta, widgets, bounds);
- });
+ })
+ .tooltipMissing(CollectionUtils.map(missing, ingredient -> EntryIngredients.ofItemStacks(ingredient.get())));
}
if (!ClientHelper.getInstance().canUseMovePackets()) {
return Result.createFailed(Component.translatable("error.rei.not.on.server"));
diff --git a/runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/FluidEntryDefinition.java b/runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/FluidEntryDefinition.java
index 4241ccb1b..4798ac656 100644
--- a/runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/FluidEntryDefinition.java
+++ b/runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/FluidEntryDefinition.java
@@ -147,6 +147,12 @@ public class FluidEntryDefinition implements EntryDefinition<FluidStack>, EntryS
return new ItemStack(bucket);
}
+ @Nullable
+ @Override
+ public FluidStack add(FluidStack o1, FluidStack o2) {
+ return o1.copyWithAmount(o1.getAmount() + o2.getAmount());
+ }
+
@Override
public long hash(EntryStack<FluidStack> entry, FluidStack value, ComparisonContext context) {
int code = 1;
diff --git a/runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/ItemEntryDefinition.java b/runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/ItemEntryDefinition.java
index f7d0e771f..1309b9533 100644
--- a/runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/ItemEntryDefinition.java
+++ b/runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/ItemEntryDefinition.java
@@ -28,6 +28,7 @@ import com.mojang.blaze3d.platform.GlStateManager;
import com.mojang.blaze3d.platform.Lighting;
import com.mojang.blaze3d.systems.RenderSystem;
import com.mojang.blaze3d.vertex.PoseStack;
+import dev.architectury.hooks.item.ItemStackHooks;
import dev.architectury.utils.Env;
import dev.architectury.utils.EnvExecutor;
import it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet;
@@ -137,6 +138,12 @@ public class ItemEntryDefinition implements EntryDefinition<ItemStack>, EntrySer
return value.copy();
}
+ @Nullable
+ @Override
+ public ItemStack add(ItemStack o1, ItemStack o2) {
+ return ItemStackHooks.copyWithCount(o1, o1.getCount() + o2.getCount());
+ }
+
@Override
public long hash(EntryStack<ItemStack> entry, ItemStack value, ComparisonContext context) {
int code = 1;