diff options
| author | shedaniel <daniel@shedaniel.me> | 2022-06-22 18:21:04 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2022-06-28 03:21:12 +0800 |
| commit | 86f438c9d823b45f4fc113f1e813d2e12de0ca40 (patch) | |
| tree | 4a8ab3f36cea03c18f78bd615a25ebd0747aa014 /runtime/src/main/java/me/shedaniel/rei/plugin | |
| parent | e982a8fbaa7b94a2eea242106322334a1a0eefe9 (diff) | |
| download | RoughlyEnoughItems-86f438c9d823b45f4fc113f1e813d2e12de0ca40.tar.gz RoughlyEnoughItems-86f438c9d823b45f4fc113f1e813d2e12de0ca40.tar.bz2 RoughlyEnoughItems-86f438c9d823b45f4fc113f1e813d2e12de0ca40.zip | |
Close #839
Diffstat (limited to 'runtime/src/main/java/me/shedaniel/rei/plugin')
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; |
