From 136255bb19686dd9b59f38113ca856647466286c Mon Sep 17 00:00:00 2001 From: apple502j <33279053+apple502j@users.noreply.github.com> Date: Sun, 13 Nov 2022 23:46:30 +0900 Subject: [PATCH] Item Group API: Expose shouldShowOpRestrictedItems (#2637) --- .../api/itemgroup/v1/FabricItemGroupEntries.java | 12 +++++++++++- .../fabric/mixin/itemgroup/ItemGroupMixin.java | 2 +- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/fabric-item-group-api-v1/src/main/java/net/fabricmc/fabric/api/itemgroup/v1/FabricItemGroupEntries.java b/fabric-item-group-api-v1/src/main/java/net/fabricmc/fabric/api/itemgroup/v1/FabricItemGroupEntries.java index 2f5e1d472..231d04dae 100644 --- a/fabric-item-group-api-v1/src/main/java/net/fabricmc/fabric/api/itemgroup/v1/FabricItemGroupEntries.java +++ b/fabric-item-group-api-v1/src/main/java/net/fabricmc/fabric/api/itemgroup/v1/FabricItemGroupEntries.java @@ -38,11 +38,14 @@ public class FabricItemGroupEntries implements ItemGroup.Entries { private final List<ItemStack> displayStacks; private final List<ItemStack> searchTabStacks; + private final boolean showOpRestrictedItems; + @ApiStatus.Internal - public FabricItemGroupEntries(FeatureSet enabledFeatures, List<ItemStack> displayStacks, List<ItemStack> searchTabStacks) { + public FabricItemGroupEntries(FeatureSet enabledFeatures, List<ItemStack> displayStacks, List<ItemStack> searchTabStacks, boolean showOpRestrictedItems) { this.enabledFeatures = enabledFeatures; this.displayStacks = displayStacks; this.searchTabStacks = searchTabStacks; + this.showOpRestrictedItems = showOpRestrictedItems; } /** @@ -52,6 +55,13 @@ public class FabricItemGroupEntries implements ItemGroup.Entries { return enabledFeatures; } + /** + * @return Whether to show items restricted to operators, such as command blocks. + */ + public boolean shouldShowOpRestrictedItems() { + return showOpRestrictedItems; + } + /** * @return The stacks that will be shown in the tab in the creative mode inventory. This list can be modified. */ diff --git a/fabric-item-group-api-v1/src/main/java/net/fabricmc/fabric/mixin/itemgroup/ItemGroupMixin.java b/fabric-item-group-api-v1/src/main/java/net/fabricmc/fabric/mixin/itemgroup/ItemGroupMixin.java index e889c0aad..1e8e9ad07 100644 --- a/fabric-item-group-api-v1/src/main/java/net/fabricmc/fabric/mixin/itemgroup/ItemGroupMixin.java +++ b/fabric-item-group-api-v1/src/main/java/net/fabricmc/fabric/mixin/itemgroup/ItemGroupMixin.java @@ -74,7 +74,7 @@ abstract class ItemGroupMixin implements IdentifiableItemGroup, FabricItemGroup // Convert the entries to lists var mutableDisplayStacks = new LinkedList<>(displayStacks); var mutableSearchTabStacks = new LinkedList<>(searchTabStacks); - var entries = new FabricItemGroupEntries(enabledFeatures, mutableDisplayStacks, mutableSearchTabStacks); + var entries = new FabricItemGroupEntries(enabledFeatures, mutableDisplayStacks, mutableSearchTabStacks, operatorEnabled); final Event<ItemGroupEvents.ModifyEntries> modifyEntriesEvent = ItemGroupEventsImpl.getModifyEntriesEvent(getId());