From 5d8cca18abfb2538404b07a886edb854c9279952 Mon Sep 17 00:00:00 2001 From: shedaniel Date: Sun, 27 Jun 2021 20:36:30 +0800 Subject: Fix alignment of items, fix #570 --- api/build.gradle | 2 +- .../rei/api/client/favorites/FavoriteEntry.java | 3 +- .../me/shedaniel/rei/api/client/gui/Renderer.java | 4 +- .../rei/api/client/gui/SimpleDisplayRenderer.java | 4 +- .../api/client/gui/drag/DraggableStackVisitor.java | 2 +- .../gui/drag/DraggableStackVisitorWidget.java | 4 +- .../rei/api/client/gui/widgets/Tooltip.java | 60 ++++------------------ .../rei/api/client/gui/widgets/Widgets.java | 32 ++++++------ .../visibility/DisplayVisibilityPredicate.java | 2 +- .../registry/screen/FocusedStackProvider.java | 2 +- .../rei/api/client/util/ClientEntryStacks.java | 6 +-- .../rei/api/client/util/SpriteRenderer.java | 3 +- .../rei/api/common/display/basic/BasicDisplay.java | 2 +- .../shedaniel/rei/api/common/entry/EntryStack.java | 4 +- .../common/entry/comparison/EntryComparator.java | 2 +- .../entry/comparison/FluidComparatorRegistry.java | 2 +- .../rei/api/common/entry/type/EntryTypeBridge.java | 2 +- .../api/common/entry/type/VanillaEntryTypes.java | 2 +- .../rei/api/common/fluid/FluidSupportProvider.java | 4 +- .../rei/api/common/plugins/PluginManager.java | 2 +- .../rei/api/common/plugins/REIPlugin.java | 2 +- .../api/common/registry/RecipeManagerContext.java | 2 +- .../rei/api/common/transfer/info/MenuInfo.java | 7 ++- .../info/simple/SimplePlayerInventoryMenuInfo.java | 2 +- .../rei/api/common/util/EntryIngredients.java | 5 +- .../shedaniel/rei/api/common/util/EntryStacks.java | 12 +++-- .../me/shedaniel/rei/impl/ClientInternals.java | 17 +----- 27 files changed, 73 insertions(+), 118 deletions(-) (limited to 'api') diff --git a/api/build.gradle b/api/build.gradle index 08252ab79..3521dea1a 100644 --- a/api/build.gradle +++ b/api/build.gradle @@ -3,7 +3,7 @@ archivesBaseName = rootProject.name + "-" + project.name dependencies { modCompileOnly("net.fabricmc:fabric-loader:${project.fabricloader_version}") modCompileOnly("me.shedaniel.cloth:cloth-config:${cloth_config_version}") - modCompileOnly("dev.architectury:architectury:${architectury_version}") + modCompileOnly("me.shedaniel:architectury:${architectury_version}") } architectury { diff --git a/api/src/main/java/me/shedaniel/rei/api/client/favorites/FavoriteEntry.java b/api/src/main/java/me/shedaniel/rei/api/client/favorites/FavoriteEntry.java index 856cea841..dc50639b7 100644 --- a/api/src/main/java/me/shedaniel/rei/api/client/favorites/FavoriteEntry.java +++ b/api/src/main/java/me/shedaniel/rei/api/client/favorites/FavoriteEntry.java @@ -103,7 +103,8 @@ public abstract class FavoriteEntry { @Override public boolean equals(Object o) { if (this == o) return true; - if (!(o instanceof FavoriteEntry that)) return false; + if (!(o instanceof FavoriteEntry)) return false; + FavoriteEntry that = (FavoriteEntry) o; try { FavoriteEntry unwrapped = getUnwrapped(); FavoriteEntry thatUnwrapped = that.getUnwrapped(); diff --git a/api/src/main/java/me/shedaniel/rei/api/client/gui/Renderer.java b/api/src/main/java/me/shedaniel/rei/api/client/gui/Renderer.java index d00720ac9..c624262e8 100644 --- a/api/src/main/java/me/shedaniel/rei/api/client/gui/Renderer.java +++ b/api/src/main/java/me/shedaniel/rei/api/client/gui/Renderer.java @@ -53,8 +53,8 @@ public interface Renderer { default void fillCrashReport(CrashReport report, CrashReportCategory category) { category.setDetail("Renderer name", () -> getClass().getCanonicalName()); category.setDetail("Z level", () -> String.valueOf(getZ())); - if (this instanceof WidgetWithBounds widget) { - category.setDetail("Bounds", () -> String.valueOf(widget.getBounds())); + if (this instanceof WidgetWithBounds) { + category.setDetail("Bounds", () -> String.valueOf(((WidgetWithBounds) this).getBounds())); } } } diff --git a/api/src/main/java/me/shedaniel/rei/api/client/gui/SimpleDisplayRenderer.java b/api/src/main/java/me/shedaniel/rei/api/client/gui/SimpleDisplayRenderer.java index 95fc9ef6b..f51361164 100644 --- a/api/src/main/java/me/shedaniel/rei/api/client/gui/SimpleDisplayRenderer.java +++ b/api/src/main/java/me/shedaniel/rei/api/client/gui/SimpleDisplayRenderer.java @@ -24,7 +24,6 @@ package me.shedaniel.rei.api.client.gui; import com.google.common.base.Predicates; -import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.PoseStack; import it.unimi.dsi.fastutil.longs.LongOpenHashSet; import it.unimi.dsi.fastutil.longs.LongSet; @@ -38,6 +37,7 @@ import me.shedaniel.rei.api.common.entry.EntryIngredient; import me.shedaniel.rei.api.common.entry.EntryStack; import me.shedaniel.rei.api.common.util.CollectionUtils; import me.shedaniel.rei.api.common.util.EntryStacks; +import net.minecraft.client.Minecraft; import net.minecraft.client.gui.components.events.GuiEventListener; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.Mth; @@ -121,7 +121,7 @@ public class SimpleDisplayRenderer extends DisplayRenderer implements WidgetHold } xx = bounds.x + 4 + 18 * (getItemsPerLine() - 2); yy = bounds.y + getHeight() / 2 - 8; - RenderSystem.setShaderTexture(0, CHEST_GUI_TEXTURE); + Minecraft.getInstance().getTextureManager().bind(CHEST_GUI_TEXTURE); blit(matrices, xx, yy, 0, 28, 18, 18); xx += 18; yy += outputWidgets.size() * -9 + 9; diff --git a/api/src/main/java/me/shedaniel/rei/api/client/gui/drag/DraggableStackVisitor.java b/api/src/main/java/me/shedaniel/rei/api/client/gui/drag/DraggableStackVisitor.java index ae973be16..51d903bc1 100644 --- a/api/src/main/java/me/shedaniel/rei/api/client/gui/drag/DraggableStackVisitor.java +++ b/api/src/main/java/me/shedaniel/rei/api/client/gui/drag/DraggableStackVisitor.java @@ -70,7 +70,7 @@ public interface DraggableStackVisitor extends Comparable visitDraggedStack(DraggingContext context, DraggableStack stack) { return Optional.empty(); diff --git a/api/src/main/java/me/shedaniel/rei/api/client/gui/drag/DraggableStackVisitorWidget.java b/api/src/main/java/me/shedaniel/rei/api/client/gui/drag/DraggableStackVisitorWidget.java index 7bb813d4d..22556eadc 100644 --- a/api/src/main/java/me/shedaniel/rei/api/client/gui/drag/DraggableStackVisitorWidget.java +++ b/api/src/main/java/me/shedaniel/rei/api/client/gui/drag/DraggableStackVisitorWidget.java @@ -53,7 +53,7 @@ public interface DraggableStackVisitorWidget { } @ApiStatus.ScheduledForRemoval - @Deprecated(forRemoval = true) + @Deprecated default Optional visitDraggedStack(DraggingContext context, DraggableStack stack) { return Optional.empty(); } @@ -93,7 +93,7 @@ public interface DraggableStackVisitorWidget { } static DraggableStackVisitor toVisitor(DraggableStackVisitorWidget widget, double priority) { - return new DraggableStackVisitor<>() { + return new DraggableStackVisitor() { @Override public boolean acceptDraggedStack(DraggingContext context, DraggableStack stack) { return widget.acceptDraggedStack(context, stack); diff --git a/api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/Tooltip.java b/api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/Tooltip.java index 099061658..577f226b9 100644 --- a/api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/Tooltip.java +++ b/api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/Tooltip.java @@ -23,17 +23,14 @@ package me.shedaniel.rei.api.client.gui.widgets; -import dev.architectury.utils.EnvExecutor; +import me.shedaniel.architectury.utils.EnvExecutor; import me.shedaniel.math.Point; import me.shedaniel.rei.api.client.REIRuntime; -import me.shedaniel.rei.api.common.util.CollectionUtils; +import me.shedaniel.rei.api.common.entry.EntryStack; import me.shedaniel.rei.impl.ClientInternals; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import net.minecraft.client.gui.screens.inventory.tooltip.ClientTooltipComponent; import net.minecraft.network.chat.Component; -import net.minecraft.world.inventory.tooltip.TooltipComponent; -import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.Nullable; import java.util.Arrays; @@ -42,16 +39,8 @@ import java.util.List; @Environment(EnvType.CLIENT) public interface Tooltip { - static Tooltip.Entry entry(Component text) { - return ClientInternals.createTooltipEntry(text); - } - - static Tooltip.Entry entry(ClientTooltipComponent text) { - return ClientInternals.createTooltipEntry(text); - } - static Tooltip create(@Nullable Point point, Collection texts) { - return from(point, CollectionUtils.map(texts, Tooltip::entry)); + return from(point, texts); } static Tooltip create(@Nullable Point point, Component... texts) { @@ -66,19 +55,19 @@ public interface Tooltip { return create(Arrays.asList(texts)); } - static Tooltip from(@Nullable Point point, Collection entries) { + static Tooltip from(@Nullable Point point, Collection entries) { return ClientInternals.createTooltip(point, entries); } - static Tooltip from(@Nullable Point point, Entry... entries) { + static Tooltip from(@Nullable Point point, Component... entries) { return from(point, Arrays.asList(entries)); } - static Tooltip from(Collection entries) { + static Tooltip from(Collection entries) { return from(null, entries); } - static Tooltip from(Entry... entries) { + static Tooltip from(Component... entries) { return from(Arrays.asList(entries)); } @@ -86,27 +75,10 @@ public interface Tooltip { int getY(); - @Deprecated - @ApiStatus.ScheduledForRemoval List getText(); - List entries(); - - List components(); - - Tooltip add(ClientTooltipComponent component); - Tooltip add(Component text); - Tooltip add(TooltipComponent component); - - default Tooltip addAll(ClientTooltipComponent... components) { - for (ClientTooltipComponent component : components) { - add(component); - } - return this; - } - default Tooltip addAll(Component... text) { for (Component component : text) { add(component); @@ -114,13 +86,6 @@ public interface Tooltip { return this; } - default Tooltip addAllComponents(Iterable text) { - for (ClientTooltipComponent component : text) { - add(component); - } - return this; - } - default Tooltip addAllTexts(Iterable text) { for (Component component : text) { add(component); @@ -132,12 +97,7 @@ public interface Tooltip { EnvExecutor.runInEnv(EnvType.CLIENT, () -> () -> REIRuntime.getInstance().queueTooltip(this)); } - @ApiStatus.NonExtendable - interface Entry { - boolean isText(); - - Component getAsText(); - - ClientTooltipComponent getAsComponent(); - } + EntryStack getContextStack(); + + Tooltip withContextStack(EntryStack stack); } diff --git a/api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/Widgets.java b/api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/Widgets.java index 3eba93af1..0b348a858 100644 --- a/api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/Widgets.java +++ b/api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/Widgets.java @@ -147,10 +147,10 @@ public final class Widgets { @Override public void render(PoseStack matrices, int mouseX, int mouseY, float delta) { - if (element instanceof GuiComponent component) - component.setBlitOffset(getZ()); - if (element instanceof net.minecraft.client.gui.components.Widget widget) - widget.render(matrices, mouseX, mouseY, delta); + if (element instanceof GuiComponent) + ((GuiComponent) element).setBlitOffset(getZ()); + if (element instanceof net.minecraft.client.gui.components.Widget) + ((net.minecraft.client.gui.components.Widget) element).render(matrices, mouseX, mouseY, delta); } @Override @@ -168,8 +168,8 @@ public final class Widgets { public void setFocused(@Nullable GuiEventListener guiEventListener) { if (guiEventListener == element) { super.setFocused(element); - } else if (element instanceof ContainerEventHandler handler) { - handler.setFocused(guiEventListener); + } else if (element instanceof ContainerEventHandler) { + ((ContainerEventHandler) element).setFocused(guiEventListener); } } @@ -185,8 +185,8 @@ public final class Widgets { } public static WidgetWithBounds wrapRenderer(Rectangle bounds, Renderer renderer) { - if (renderer instanceof Widget widget) - return wrapWidgetWithBounds(widget, bounds); + if (renderer instanceof Widget) + return wrapWidgetWithBounds(((Widget) renderer), bounds); return new RendererWrappedWidget(renderer, bounds); } @@ -195,8 +195,8 @@ public final class Widgets { } public static WidgetWithBounds wrapWidgetWithBounds(Widget widget, Rectangle bounds) { - if (widget instanceof WidgetWithBounds withBounds) - return withBounds; + if (widget instanceof WidgetWithBounds) + return (WidgetWithBounds) widget; if (bounds == null) return new DelegateWidget(widget); return new DelegateWidgetWithBounds(widget, bounds); @@ -218,8 +218,8 @@ public final class Widgets { @Override public List children() { - if (renderer instanceof GuiEventListener listener) - return Collections.singletonList(listener); + if (renderer instanceof GuiEventListener) + return Collections.singletonList((GuiEventListener) renderer); return Collections.emptyList(); } @@ -388,13 +388,13 @@ public final class Widgets { if (predicate.test(listener)) { return (T) listener; } - if (listener instanceof ContainerEventHandler handler) { - List children = handler.children(); + if (listener instanceof ContainerEventHandler) { + List children = ((ContainerEventHandler) listener).children(); if (!children.isEmpty()) { stack.push(children.iterator()); } - } else if (listener instanceof WidgetHolder holder) { - List children = holder.children(); + } else if (listener instanceof WidgetHolder) { + List children = ((WidgetHolder) listener).children(); if (!children.isEmpty()) { stack.push(children.iterator()); } diff --git a/api/src/main/java/me/shedaniel/rei/api/client/registry/display/visibility/DisplayVisibilityPredicate.java b/api/src/main/java/me/shedaniel/rei/api/client/registry/display/visibility/DisplayVisibilityPredicate.java index e9368fb75..e8cec76bf 100644 --- a/api/src/main/java/me/shedaniel/rei/api/client/registry/display/visibility/DisplayVisibilityPredicate.java +++ b/api/src/main/java/me/shedaniel/rei/api/client/registry/display/visibility/DisplayVisibilityPredicate.java @@ -23,7 +23,7 @@ package me.shedaniel.rei.api.client.registry.display.visibility; -import dev.architectury.event.EventResult; +import me.shedaniel.architectury.event.EventResult; import me.shedaniel.rei.api.client.registry.display.DisplayCategory; import me.shedaniel.rei.api.common.display.Display; import net.fabricmc.api.EnvType; diff --git a/api/src/main/java/me/shedaniel/rei/api/client/registry/screen/FocusedStackProvider.java b/api/src/main/java/me/shedaniel/rei/api/client/registry/screen/FocusedStackProvider.java index 7eb47bfeb..c15ef5789 100644 --- a/api/src/main/java/me/shedaniel/rei/api/client/registry/screen/FocusedStackProvider.java +++ b/api/src/main/java/me/shedaniel/rei/api/client/registry/screen/FocusedStackProvider.java @@ -23,7 +23,7 @@ package me.shedaniel.rei.api.client.registry.screen; -import dev.architectury.event.CompoundEventResult; +import me.shedaniel.architectury.event.CompoundEventResult; import me.shedaniel.math.Point; import me.shedaniel.rei.api.common.entry.EntryStack; import net.fabricmc.api.EnvType; diff --git a/api/src/main/java/me/shedaniel/rei/api/client/util/ClientEntryStacks.java b/api/src/main/java/me/shedaniel/rei/api/client/util/ClientEntryStacks.java index 468b40759..41411063a 100644 --- a/api/src/main/java/me/shedaniel/rei/api/client/util/ClientEntryStacks.java +++ b/api/src/main/java/me/shedaniel/rei/api/client/util/ClientEntryStacks.java @@ -23,7 +23,7 @@ package me.shedaniel.rei.api.client.util; -import dev.architectury.fluid.FluidStack; +import me.shedaniel.architectury.fluid.FluidStack; import me.shedaniel.rei.api.client.entry.renderer.EntryRenderer; import me.shedaniel.rei.api.client.entry.type.BuiltinClientEntryTypes; import me.shedaniel.rei.api.client.gui.Renderer; @@ -37,8 +37,8 @@ public final class ClientEntryStacks { private ClientEntryStacks() {} public static EntryStack of(Renderer renderer) { - if (renderer instanceof EntryStack stack) { - return stack; + if (renderer instanceof EntryStack) { + return (EntryStack) renderer; } return EntryStack.of(BuiltinClientEntryTypes.RENDERING, renderer); diff --git a/api/src/main/java/me/shedaniel/rei/api/client/util/SpriteRenderer.java b/api/src/main/java/me/shedaniel/rei/api/client/util/SpriteRenderer.java index 7abd82bf9..d8f78bffa 100644 --- a/api/src/main/java/me/shedaniel/rei/api/client/util/SpriteRenderer.java +++ b/api/src/main/java/me/shedaniel/rei/api/client/util/SpriteRenderer.java @@ -30,6 +30,7 @@ import com.mojang.math.Matrix3f; import com.mojang.math.Matrix4f; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; +import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.texture.TextureAtlasSprite; @@ -215,7 +216,7 @@ public class SpriteRenderer { float sX = sprite.getWidth(); float sY = sprite.getHeight(); - RenderSystem.setShaderTexture(0, texture); + Minecraft.getInstance().getTextureManager().bind(texture); for (float y = y1; y < y2; y += Math.min(y2 - y, sY)) { for (float x = x1; x < x2; x += Math.min(x2 - x, sX)) { diff --git a/api/src/main/java/me/shedaniel/rei/api/common/display/basic/BasicDisplay.java b/api/src/main/java/me/shedaniel/rei/api/common/display/basic/BasicDisplay.java index da78fc0b1..c5827cbe6 100644 --- a/api/src/main/java/me/shedaniel/rei/api/common/display/basic/BasicDisplay.java +++ b/api/src/main/java/me/shedaniel/rei/api/common/display/basic/BasicDisplay.java @@ -23,7 +23,7 @@ package me.shedaniel.rei.api.common.display.basic; -import dev.architectury.utils.NbtType; +import me.shedaniel.architectury.utils.NbtType; import me.shedaniel.rei.api.common.display.Display; import me.shedaniel.rei.api.common.display.SimpleDisplaySerializer; import me.shedaniel.rei.api.common.entry.EntryIngredient; diff --git a/api/src/main/java/me/shedaniel/rei/api/common/entry/EntryStack.java b/api/src/main/java/me/shedaniel/rei/api/common/entry/EntryStack.java index 76ff50f98..d92d12d6f 100644 --- a/api/src/main/java/me/shedaniel/rei/api/common/entry/EntryStack.java +++ b/api/src/main/java/me/shedaniel/rei/api/common/entry/EntryStack.java @@ -23,8 +23,8 @@ package me.shedaniel.rei.api.common.entry; -import dev.architectury.utils.Env; -import dev.architectury.utils.EnvExecutor; +import me.shedaniel.architectury.utils.Env; +import me.shedaniel.architectury.utils.EnvExecutor; import me.shedaniel.math.Point; import me.shedaniel.rei.api.client.config.ConfigObject; import me.shedaniel.rei.api.client.entry.renderer.EntryRenderer; diff --git a/api/src/main/java/me/shedaniel/rei/api/common/entry/comparison/EntryComparator.java b/api/src/main/java/me/shedaniel/rei/api/common/entry/comparison/EntryComparator.java index 16d31908e..66b7661cb 100644 --- a/api/src/main/java/me/shedaniel/rei/api/common/entry/comparison/EntryComparator.java +++ b/api/src/main/java/me/shedaniel/rei/api/common/entry/comparison/EntryComparator.java @@ -23,7 +23,7 @@ package me.shedaniel.rei.api.common.entry.comparison; -import dev.architectury.fluid.FluidStack; +import me.shedaniel.architectury.fluid.FluidStack; import me.shedaniel.rei.impl.Internals; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.Tag; diff --git a/api/src/main/java/me/shedaniel/rei/api/common/entry/comparison/FluidComparatorRegistry.java b/api/src/main/java/me/shedaniel/rei/api/common/entry/comparison/FluidComparatorRegistry.java index 4fa6a85b3..b49a051d1 100644 --- a/api/src/main/java/me/shedaniel/rei/api/common/entry/comparison/FluidComparatorRegistry.java +++ b/api/src/main/java/me/shedaniel/rei/api/common/entry/comparison/FluidComparatorRegistry.java @@ -23,7 +23,7 @@ package me.shedaniel.rei.api.common.entry.comparison; -import dev.architectury.fluid.FluidStack; +import me.shedaniel.architectury.fluid.FluidStack; import me.shedaniel.rei.api.common.plugins.PluginManager; import net.minecraft.world.level.material.Fluid; diff --git a/api/src/main/java/me/shedaniel/rei/api/common/entry/type/EntryTypeBridge.java b/api/src/main/java/me/shedaniel/rei/api/common/entry/type/EntryTypeBridge.java index fcbf6e3db..3ef04a036 100644 --- a/api/src/main/java/me/shedaniel/rei/api/common/entry/type/EntryTypeBridge.java +++ b/api/src/main/java/me/shedaniel/rei/api/common/entry/type/EntryTypeBridge.java @@ -23,7 +23,7 @@ package me.shedaniel.rei.api.common.entry.type; -import dev.architectury.event.CompoundEventResult; +import me.shedaniel.architectury.event.CompoundEventResult; import me.shedaniel.rei.api.common.entry.EntryStack; import java.util.stream.Stream; diff --git a/api/src/main/java/me/shedaniel/rei/api/common/entry/type/VanillaEntryTypes.java b/api/src/main/java/me/shedaniel/rei/api/common/entry/type/VanillaEntryTypes.java index 5aee210c0..a078dc87f 100644 --- a/api/src/main/java/me/shedaniel/rei/api/common/entry/type/VanillaEntryTypes.java +++ b/api/src/main/java/me/shedaniel/rei/api/common/entry/type/VanillaEntryTypes.java @@ -23,7 +23,7 @@ package me.shedaniel.rei.api.common.entry.type; -import dev.architectury.fluid.FluidStack; +import me.shedaniel.architectury.fluid.FluidStack; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.ItemStack; import org.jetbrains.annotations.ApiStatus; diff --git a/api/src/main/java/me/shedaniel/rei/api/common/fluid/FluidSupportProvider.java b/api/src/main/java/me/shedaniel/rei/api/common/fluid/FluidSupportProvider.java index bc9ca90d8..cc94af01f 100644 --- a/api/src/main/java/me/shedaniel/rei/api/common/fluid/FluidSupportProvider.java +++ b/api/src/main/java/me/shedaniel/rei/api/common/fluid/FluidSupportProvider.java @@ -23,8 +23,8 @@ package me.shedaniel.rei.api.common.fluid; -import dev.architectury.event.CompoundEventResult; -import dev.architectury.fluid.FluidStack; +import me.shedaniel.architectury.event.CompoundEventResult; +import me.shedaniel.architectury.fluid.FluidStack; import me.shedaniel.rei.api.common.entry.EntryStack; import me.shedaniel.rei.api.common.plugins.PluginManager; import me.shedaniel.rei.api.common.plugins.REIPlugin; diff --git a/api/src/main/java/me/shedaniel/rei/api/common/plugins/PluginManager.java b/api/src/main/java/me/shedaniel/rei/api/common/plugins/PluginManager.java index bf52a2db4..7a525c045 100644 --- a/api/src/main/java/me/shedaniel/rei/api/common/plugins/PluginManager.java +++ b/api/src/main/java/me/shedaniel/rei/api/common/plugins/PluginManager.java @@ -23,7 +23,7 @@ package me.shedaniel.rei.api.common.plugins; -import dev.architectury.utils.EnvExecutor; +import me.shedaniel.architectury.utils.EnvExecutor; import me.shedaniel.rei.api.client.plugins.REIClientPlugin; import me.shedaniel.rei.api.common.registry.ParentReloadable; import me.shedaniel.rei.api.common.registry.Reloadable; diff --git a/api/src/main/java/me/shedaniel/rei/api/common/plugins/REIPlugin.java b/api/src/main/java/me/shedaniel/rei/api/common/plugins/REIPlugin.java index 724dc0fed..35394feab 100644 --- a/api/src/main/java/me/shedaniel/rei/api/common/plugins/REIPlugin.java +++ b/api/src/main/java/me/shedaniel/rei/api/common/plugins/REIPlugin.java @@ -71,7 +71,7 @@ public interface REIPlugin

> extends Comparable ex * @param context the context of the transfer */ default void markDirty(MenuInfoContext context) { - context.getPlayerEntity().getInventory().setChanged(); - context.getMenu().sendAllDataToRemote(); + context.getPlayerEntity().inventory.setChanged(); + context.getMenu().broadcastChanges(); + + AbstractContainerMenu containerMenu = context.getPlayerEntity().containerMenu; + context.getPlayerEntity().refreshContainer(containerMenu, containerMenu.getItems()); } /** diff --git a/api/src/main/java/me/shedaniel/rei/api/common/transfer/info/simple/SimplePlayerInventoryMenuInfo.java b/api/src/main/java/me/shedaniel/rei/api/common/transfer/info/simple/SimplePlayerInventoryMenuInfo.java index b3a89873d..a6a3d8bed 100644 --- a/api/src/main/java/me/shedaniel/rei/api/common/transfer/info/simple/SimplePlayerInventoryMenuInfo.java +++ b/api/src/main/java/me/shedaniel/rei/api/common/transfer/info/simple/SimplePlayerInventoryMenuInfo.java @@ -93,7 +93,7 @@ public interface SimplePlayerInventoryMenuInfo getInventorySlots(MenuInfoContext context) { - Inventory inventory = context.getPlayerEntity().getInventory(); + Inventory inventory = context.getPlayerEntity().inventory; return IntStream.range(0, inventory.items.size()) .mapToObj(index -> SlotAccessor.fromContainer(inventory, index)) .collect(Collectors.toList()); diff --git a/api/src/main/java/me/shedaniel/rei/api/common/util/EntryIngredients.java b/api/src/main/java/me/shedaniel/rei/api/common/util/EntryIngredients.java index 9af0218ec..759dadaed 100644 --- a/api/src/main/java/me/shedaniel/rei/api/common/util/EntryIngredients.java +++ b/api/src/main/java/me/shedaniel/rei/api/common/util/EntryIngredients.java @@ -24,7 +24,8 @@ package me.shedaniel.rei.api.common.util; import com.google.common.collect.ImmutableList; -import dev.architectury.fluid.FluidStack; +import me.shedaniel.architectury.fluid.FluidStack; +import me.shedaniel.architectury.utils.Fraction; import me.shedaniel.rei.api.common.entry.EntryIngredient; import me.shedaniel.rei.api.common.entry.EntryStack; import me.shedaniel.rei.api.common.entry.type.EntryDefinition; @@ -61,7 +62,7 @@ public final class EntryIngredients { return EntryIngredient.of(EntryStacks.of(fluid)); } - public static EntryIngredient of(Fluid fluid, long amount) { + public static EntryIngredient of(Fluid fluid, Fraction amount) { return EntryIngredient.of(EntryStacks.of(fluid, amount)); } diff --git a/api/src/main/java/me/shedaniel/rei/api/common/util/EntryStacks.java b/api/src/main/java/me/shedaniel/rei/api/common/util/EntryStacks.java index 10c3aaa6d..8f74960d7 100644 --- a/api/src/main/java/me/shedaniel/rei/api/common/util/EntryStacks.java +++ b/api/src/main/java/me/shedaniel/rei/api/common/util/EntryStacks.java @@ -23,8 +23,9 @@ package me.shedaniel.rei.api.common.util; -import dev.architectury.event.CompoundEventResult; -import dev.architectury.fluid.FluidStack; +import me.shedaniel.architectury.event.CompoundEventResult; +import me.shedaniel.architectury.fluid.FluidStack; +import me.shedaniel.architectury.utils.Fraction; import me.shedaniel.rei.api.common.entry.EntryStack; import me.shedaniel.rei.api.common.entry.comparison.ComparisonContext; import me.shedaniel.rei.api.common.entry.type.EntryType; @@ -34,6 +35,7 @@ import me.shedaniel.rei.api.common.entry.type.VanillaEntryTypes; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.ItemLike; import net.minecraft.world.level.material.Fluid; +import org.apache.commons.lang3.BooleanUtils; import java.util.Iterator; import java.util.stream.Stream; @@ -45,7 +47,7 @@ public final class EntryStacks { return of(fluid, FluidStack.bucketAmount()); } - public static EntryStack of(Fluid fluid, long amount) { + public static EntryStack of(Fluid fluid, Fraction amount) { return EntryStack.of(VanillaEntryTypes.FLUID, FluidStack.create(fluid, amount)); } @@ -88,7 +90,7 @@ public final class EntryStacks { } for (EntryTypeBridge bridge : EntryTypeRegistry.getInstance().getBridgesFor(leftType, rightType)) { CompoundEventResult>> holder = bridge.bridge(left); - if (holder.isTrue()) { + if (BooleanUtils.isTrue(holder.result().value())) { Iterator> iterator = holder.object().iterator(); while (iterator.hasNext()) { EntryStack next = iterator.next(); @@ -100,7 +102,7 @@ public final class EntryStacks { } for (EntryTypeBridge bridge : EntryTypeRegistry.getInstance().getBridgesFor(rightType, leftType)) { CompoundEventResult>> holder = bridge.bridge(right); - if (holder.isTrue()) { + if (BooleanUtils.isTrue(holder.result().value())) { Iterator> iterator = holder.object().iterator(); while (iterator.hasNext()) { EntryStack next = iterator.next(); diff --git a/api/src/main/java/me/shedaniel/rei/impl/ClientInternals.java b/api/src/main/java/me/shedaniel/rei/impl/ClientInternals.java index d9cb5eaa8..cd00fd9c3 100644 --- a/api/src/main/java/me/shedaniel/rei/impl/ClientInternals.java +++ b/api/src/main/java/me/shedaniel/rei/impl/ClientInternals.java @@ -37,19 +37,16 @@ import me.shedaniel.rei.api.client.view.ViewSearchBuilder; import me.shedaniel.rei.api.common.plugins.PluginManager; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import net.minecraft.client.gui.screens.inventory.tooltip.ClientTooltipComponent; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.FormattedText; import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.inventory.tooltip.TooltipComponent; import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.Nullable; import java.lang.reflect.Field; import java.util.Collection; import java.util.List; -import java.util.function.BiConsumer; import java.util.function.BiFunction; import java.util.function.Function; import java.util.function.Supplier; @@ -64,9 +61,7 @@ public final class ClientInternals { private static BiFunction>, Supplier, FavoriteEntry> delegateFavoriteEntry = (supplier, toJson) -> throwNotSetup(); private static Function> favoriteEntryFromJson = (object) -> throwNotSetup(); private static Function clickAreaHandlerResult = (result) -> throwNotSetup(); - private static BiConsumer, TooltipComponent> clientTooltipComponentProvider = (tooltip, result) -> throwNotSetup(); - private static BiFunction<@Nullable Point, Collection, Tooltip> tooltipProvider = (point, texts) -> throwNotSetup(); - private static Function tooltipEntryProvider = (component) -> throwNotSetup(); + private static BiFunction<@Nullable Point, Collection, Tooltip> tooltipProvider = (point, texts) -> throwNotSetup(); private static Supplier> jeiCompatMods = ClientInternals::throwNotSetup; private static Supplier builtinClientPlugin = ClientInternals::throwNotSetup; @@ -119,18 +114,10 @@ public final class ClientInternals { return clickAreaHandlerResult.apply(applicable); } - public static void getClientTooltipComponent(List tooltip, TooltipComponent component) { - clientTooltipComponentProvider.accept(tooltip, component); - } - - public static Tooltip createTooltip(@Nullable Point point, Collection texts) { + public static Tooltip createTooltip(@Nullable Point point, Collection texts) { return tooltipProvider.apply(point, texts); } - public static Tooltip.Entry createTooltipEntry(Object component) { - return tooltipEntryProvider.apply(component); - } - public static FavoriteEntry delegateFavoriteEntry(Supplier> supplier, Supplier toJoin) { return delegateFavoriteEntry.apply(supplier, toJoin); } -- cgit