diff --git a/src/main/java/net/minecraftforge/event/BuildCreativeModeTabContentsEvent.java b/src/main/java/net/minecraftforge/event/BuildCreativeModeTabContentsEvent.java
index 31c990c7db..072ebbb7e8 100644
--- a/src/main/java/net/minecraftforge/event/BuildCreativeModeTabContentsEvent.java
+++ b/src/main/java/net/minecraftforge/event/BuildCreativeModeTabContentsEvent.java
@@ -13,7 +13,7 @@ import net.minecraft.world.level.ItemLike;
import net.minecraftforge.common.util.MutableHashedLinkedMap;
import net.minecraftforge.eventbus.api.bus.BusGroup;
import net.minecraftforge.eventbus.api.bus.EventBus;
-import net.minecraftforge.eventbus.api.event.MutableEvent;
+import net.minecraftforge.eventbus.api.event.RecordEvent;
import net.minecraftforge.fml.LogicalSide;
import org.jetbrains.annotations.ApiStatus;
import org.jspecify.annotations.NullMarked;
@@ -25,9 +25,17 @@ import java.util.function.Supplier;
* This event may be fired multiple times if the operator status of the local player or enabled feature flags changes.
*
* This event is fired only on the {@linkplain LogicalSide#CLIENT logical client}.
+ *
+ * @param getTab the creative mode tab currently populating its contents
+ * @param getTabKey the key of the creative mode tab currently populating its contents
*/
@NullMarked
-public final class BuildCreativeModeTabContentsEvent extends MutableEvent implements CreativeModeTab.Output {
+public record BuildCreativeModeTabContentsEvent(
+ CreativeModeTab getTab,
+ ResourceKey getTabKey,
+ CreativeModeTab.ItemDisplayParameters getParameters,
+ MutableHashedLinkedMap getEntries
+) implements RecordEvent, CreativeModeTab.Output {
public static final EventBus BUS = EventBus.create(BuildCreativeModeTabContentsEvent.class);
@Deprecated(forRemoval = true, since = "1.21.9")
@@ -35,47 +43,15 @@ public final class BuildCreativeModeTabContentsEvent extends MutableEvent implem
return BUS;
}
- private final CreativeModeTab tab;
- private final CreativeModeTab.ItemDisplayParameters parameters;
- private final MutableHashedLinkedMap entries;
- private final ResourceKey tabKey;
-
@ApiStatus.Internal
- public BuildCreativeModeTabContentsEvent(CreativeModeTab tab, ResourceKey tabKey, CreativeModeTab.ItemDisplayParameters parameters, MutableHashedLinkedMap entries) {
- this.tab = tab;
- this.tabKey = tabKey;
- this.parameters = parameters;
- this.entries = entries;
- }
-
- /**
- * {@return the creative mode tab currently populating its contents}
- */
- public CreativeModeTab getTab() {
- return this.tab;
- }
-
- /**
- * {@return the key of the creative mode tab currently populating its contents}
- */
- public ResourceKey getTabKey() {
- return this.tabKey;
- }
+ public BuildCreativeModeTabContentsEvent {}
public FeatureFlagSet getFlags() {
- return this.parameters.enabledFeatures();
- }
-
- public CreativeModeTab.ItemDisplayParameters getParameters() {
- return parameters;
+ return getParameters.enabledFeatures();
}
public boolean hasPermissions() {
- return this.parameters.hasPermissions();
- }
-
- public MutableHashedLinkedMap getEntries() {
- return this.entries;
+ return getParameters.hasPermissions();
}
@Override