Skip navigation links
  • Overview
  • Package
  • Class
  • Tree
  • Deprecated
  • Index
  • Help

Deprecated API

Contents

  • For Removal
  • Interfaces
  • Classes
  • Enum Classes
  • Record Classes
  • Fields
  • Methods
  • Constructors
  • For Removal
    Element
    Description
    net.fabricmc.fabric.api.transfer.v1.client.fluid.FluidVariantRenderHandler.getColor​(FluidVariant)
    Use and implement the other more general overload. This one will be removed in a future iteration of the API.
    net.fabricmc.fabric.api.transfer.v1.fluid.base.SingleFluidStorage
    Superseded by SingleVariantStorage. Will be removed in a future iteration of the API.
  • Interfaces
    Interface
    Description
    net.fabricmc.fabric.api.biome.v1.BiomeModificationContext
    net.fabricmc.fabric.api.biome.v1.BiomeSelectionContext
    net.fabricmc.fabric.api.client.keybinding.KeyBindingRegistry
    Please migrate to v1. Please use KeyBindingHelper instead.
    net.fabricmc.fabric.api.client.model.ModelAppender
    use ExtraModelProvider, which supports loading of plain Identifiers
    net.fabricmc.fabric.api.client.render.ColorProviderRegistry
    Replaced by ColorProviderRegistry
    net.fabricmc.fabric.api.client.render.InvalidateRenderStateCallback
    Replaced by InvalidateRenderStateCallback
    net.fabricmc.fabric.api.client.rendereregistry.v1.BlockEntityRendererRegistry
    This module has been moved into fabric-rendering-v1. Use BlockEntityRendererRegistry instead
    net.fabricmc.fabric.api.client.rendereregistry.v1.EntityModelLayerRegistry.TexturedModelDataProvider
    net.fabricmc.fabric.api.client.rendereregistry.v1.EntityRendererRegistry
    This module has been moved into fabric-rendering-v1. Use EntityRendererRegistry instead
    net.fabricmc.fabric.api.client.rendereregistry.v1.LivingEntityFeatureRendererRegistrationCallback
    This module has been moved into fabric-rendering-v1. Use LivingEntityFeatureRendererRegistrationCallback instead
    net.fabricmc.fabric.api.client.rendereregistry.v1.LivingEntityFeatureRendererRegistrationCallback.RegistrationHelper
    This module has been moved into fabric-rendering-v1. Use LivingEntityFeatureRendererRegistrationCallback.RegistrationHelper instead
    net.fabricmc.fabric.api.client.rendering.v1.BuiltinItemRenderer
    Please use BuiltinItemRendererRegistry.DynamicItemRenderer instead.
    net.fabricmc.fabric.api.client.screen.ContainerScreenFactory
    Use ScreenRegistry.Factory instead.
    net.fabricmc.fabric.api.client.screen.ScreenProviderRegistry
    Use ScreenRegistry instead.
    net.fabricmc.fabric.api.container.ContainerFactory
    Use ScreenHandlerRegistry.ExtendedClientHandlerFactory instead.
    net.fabricmc.fabric.api.container.ContainerProviderRegistry
    Use ScreenHandlerRegistry instead.
    net.fabricmc.fabric.api.event.client.ClientTickCallback
    net.fabricmc.fabric.api.event.client.ItemTooltipCallback
    Please use ItemTooltipCallback
    net.fabricmc.fabric.api.event.client.player.ClientPickBlockCallback
    0.3.0
    net.fabricmc.fabric.api.event.network.C2SPacketTypeCallback
    Please migrate to S2CPlayChannelEvents since this was incorrectly named.
    net.fabricmc.fabric.api.event.network.S2CPacketTypeCallback
    Please migrate to C2SPlayChannelEvents since this was incorrectly named.
    net.fabricmc.fabric.api.event.registry.BlockConstructedCallback
    Please migrate to v1. Please use registry events instead.
    net.fabricmc.fabric.api.event.registry.ItemConstructedCallback
    Please migrate to v1. Please use Please use registry events instead.
    net.fabricmc.fabric.api.event.server.ServerStartCallback
    net.fabricmc.fabric.api.event.server.ServerStopCallback
    net.fabricmc.fabric.api.event.server.ServerTickCallback
    net.fabricmc.fabric.api.event.world.WorldTickCallback
    net.fabricmc.fabric.api.network.ClientSidePacketRegistry
    Please migrate to ClientPlayNetworking.
    net.fabricmc.fabric.api.network.PacketConsumer
    See the corresponding play packet handler in ClientPlayNetworking or ServerPlayNetworking
    net.fabricmc.fabric.api.network.PacketContext
    net.fabricmc.fabric.api.network.PacketRegistry
    net.fabricmc.fabric.api.network.ServerSidePacketRegistry
    Please migrate to ServerPlayNetworking.
    net.fabricmc.fabric.api.registry.LootEntryTypeRegistry
    Use LootEntryTypeRegistry
    net.fabricmc.fabric.api.transfer.v1.client.fluid.FluidVariantRenderHandler
    Experimental feature, we reserve the right to remove or change it without further notice. The transfer API is a complex addition, and we want to be able to correct possible design mistakes.
    net.fabricmc.fabric.api.transfer.v1.context.ContainerItemContext
    Experimental feature, we reserve the right to remove or change it without further notice. The transfer API is a complex addition, and we want to be able to correct possible design mistakes.
    net.fabricmc.fabric.api.transfer.v1.fluid.FluidVariant
    Experimental feature, we reserve the right to remove or change it without further notice. The transfer API is a complex addition, and we want to be able to correct possible design mistakes.
    net.fabricmc.fabric.api.transfer.v1.item.InventoryStorage
    Experimental feature, we reserve the right to remove or change it without further notice. The transfer API is a complex addition, and we want to be able to correct possible design mistakes.
    net.fabricmc.fabric.api.transfer.v1.item.ItemVariant
    Experimental feature, we reserve the right to remove or change it without further notice. The transfer API is a complex addition, and we want to be able to correct possible design mistakes.
    net.fabricmc.fabric.api.transfer.v1.item.PlayerInventoryStorage
    Experimental feature, we reserve the right to remove or change it without further notice. The transfer API is a complex addition, and we want to be able to correct possible design mistakes.
    net.fabricmc.fabric.api.transfer.v1.storage.base.ExtractionOnlyStorage
    Experimental feature, we reserve the right to remove or change it without further notice. The transfer API is a complex addition, and we want to be able to correct possible design mistakes.
    net.fabricmc.fabric.api.transfer.v1.storage.base.InsertionOnlyStorage
    Experimental feature, we reserve the right to remove or change it without further notice. The transfer API is a complex addition, and we want to be able to correct possible design mistakes.
    net.fabricmc.fabric.api.transfer.v1.storage.base.SingleSlotStorage
    Experimental feature, we reserve the right to remove or change it without further notice. The transfer API is a complex addition, and we want to be able to correct possible design mistakes.
    net.fabricmc.fabric.api.transfer.v1.storage.Storage
    Experimental feature, we reserve the right to remove or change it without further notice. The transfer API is a complex addition, and we want to be able to correct possible design mistakes.
    net.fabricmc.fabric.api.transfer.v1.storage.StorageView
    Experimental feature, we reserve the right to remove or change it without further notice. The transfer API is a complex addition, and we want to be able to correct possible design mistakes.
    net.fabricmc.fabric.api.transfer.v1.storage.TransferVariant
    Experimental feature, we reserve the right to remove or change it without further notice. The transfer API is a complex addition, and we want to be able to correct possible design mistakes.
    net.fabricmc.fabric.api.transfer.v1.transaction.Transaction
    Experimental feature, we reserve the right to remove or change it without further notice. The transfer API is a complex addition, and we want to be able to correct possible design mistakes.
    net.fabricmc.fabric.api.transfer.v1.transaction.TransactionContext
    Experimental feature, we reserve the right to remove or change it without further notice. The transfer API is a complex addition, and we want to be able to correct possible design mistakes.
  • Classes
    Class
    Description
    net.fabricmc.fabric.api.biome.v1.BiomeModification
    net.fabricmc.fabric.api.biome.v1.BiomeModifications
    net.fabricmc.fabric.api.biome.v1.BiomeSelectors
    net.fabricmc.fabric.api.biome.v1.NetherBiomes
    net.fabricmc.fabric.api.biome.v1.OverworldBiomes
    net.fabricmc.fabric.api.biome.v1.TheEndBiomes
    Experimental feature, may be removed or changed without further notice. Because of the volatility of world generation in Minecraft 1.16, this API is marked experimental since it is likely to change in future Minecraft versions.
    net.fabricmc.fabric.api.block.BlockSettingsExtensions
    Please migrate to v1. Please use methods in FabricBlockSettings instead.
    net.fabricmc.fabric.api.block.FabricBlockSettings
    Please migrate to v1. Please use FabricBlockSettings instead
    net.fabricmc.fabric.api.block.FabricMaterialBuilder
    Please migrate to v1. Please use FabricMaterialBuilder instead.
    net.fabricmc.fabric.api.client.keybinding.FabricKeyBinding
    Please migrate to v1. Please use KeyBindingHelper.registerKeyBinding(KeyBinding) instead.
    net.fabricmc.fabric.api.client.keybinding.FabricKeyBinding.Builder
    net.fabricmc.fabric.api.client.rendereregistry.v1.EntityModelLayerRegistry
    This module has been moved into fabric-rendering-v1. Use EntityModelLayerRegistry instead.
    net.fabricmc.fabric.api.dimension.v1.FabricDimensions
    Experimental feature, may be removed or changed without further notice due to potential changes to Dimensions in subsequent versions.
    net.fabricmc.fabric.api.entity.EntityTrackingRegistry
    Use FabricEntityTypeBuilder methods
    net.fabricmc.fabric.api.entity.EntityTrackingRegistry.Entry
    net.fabricmc.fabric.api.entity.FabricDefaultAttributeRegistry
    Please use FabricDefaultAttributeRegistry instead.
    net.fabricmc.fabric.api.entity.FabricEntityTypeBuilder
    Please migrate to v1. Please use FabricEntityTypeBuilder instead.
    net.fabricmc.fabric.api.event.client.player.ClientPickBlockCallback.Container
    net.fabricmc.fabric.api.registry.CommandRegistry
    Please migrate to v1. Please use CommandRegistrationCallback instead.
    net.fabricmc.fabric.api.server.PlayerStream
    Please use PlayerLookup instead.
    net.fabricmc.fabric.api.tag.FabricItemTags
    Use dedicated classes, such as FabricToolTags
    net.fabricmc.fabric.api.tag.TagRegistry
    use TagFactory instead.
    net.fabricmc.fabric.api.tools.FabricToolTags
    Use the moved FabricToolTags class instead
    net.fabricmc.fabric.api.transfer.v1.client.fluid.FluidVariantRendering
    Experimental feature, we reserve the right to remove or change it without further notice. The transfer API is a complex addition, and we want to be able to correct possible design mistakes.
    net.fabricmc.fabric.api.transfer.v1.fluid.base.EmptyItemFluidStorage
    Experimental feature, we reserve the right to remove or change it without further notice. The transfer API is a complex addition, and we want to be able to correct possible design mistakes.
    net.fabricmc.fabric.api.transfer.v1.fluid.base.FullItemFluidStorage
    Experimental feature, we reserve the right to remove or change it without further notice. The transfer API is a complex addition, and we want to be able to correct possible design mistakes.
    net.fabricmc.fabric.api.transfer.v1.fluid.base.SingleFluidStorage
    Superseded by SingleVariantStorage. Will be removed in a future iteration of the API.
    net.fabricmc.fabric.api.transfer.v1.fluid.CauldronFluidContent
    Experimental feature, we reserve the right to remove or change it without further notice. The transfer API is a complex addition, and we want to be able to correct possible design mistakes.
    net.fabricmc.fabric.api.transfer.v1.fluid.FluidConstants
    Experimental feature, we reserve the right to remove or change it without further notice. The transfer API is a complex addition, and we want to be able to correct possible design mistakes.
    net.fabricmc.fabric.api.transfer.v1.fluid.FluidStorage
    Experimental feature, we reserve the right to remove or change it without further notice. The transfer API is a complex addition, and we want to be able to correct possible design mistakes.
    net.fabricmc.fabric.api.transfer.v1.item.base.SingleStackStorage
    Experimental feature, we reserve the right to remove or change it without further notice. The transfer API is a complex addition, and we want to be able to correct possible design mistakes.
    net.fabricmc.fabric.api.transfer.v1.item.ItemStorage
    Experimental feature, we reserve the right to remove or change it without further notice. The transfer API is a complex addition, and we want to be able to correct possible design mistakes.
    net.fabricmc.fabric.api.transfer.v1.storage.base.BlankVariantView
    Experimental feature, we reserve the right to remove or change it without further notice. The transfer API is a complex addition, and we want to be able to correct possible design mistakes.
    net.fabricmc.fabric.api.transfer.v1.storage.base.CombinedStorage
    Experimental feature, we reserve the right to remove or change it without further notice. The transfer API is a complex addition, and we want to be able to correct possible design mistakes.
    net.fabricmc.fabric.api.transfer.v1.storage.base.SingleVariantStorage
    Experimental feature, we reserve the right to remove or change it without further notice. The transfer API is a complex addition, and we want to be able to correct possible design mistakes.
    net.fabricmc.fabric.api.transfer.v1.storage.base.SingleViewIterator
    Experimental feature, we reserve the right to remove or change it without further notice. The transfer API is a complex addition, and we want to be able to correct possible design mistakes.
    net.fabricmc.fabric.api.transfer.v1.storage.StoragePreconditions
    Experimental feature, we reserve the right to remove or change it without further notice. The transfer API is a complex addition, and we want to be able to correct possible design mistakes.
    net.fabricmc.fabric.api.transfer.v1.storage.StorageUtil
    Experimental feature, we reserve the right to remove or change it without further notice. The transfer API is a complex addition, and we want to be able to correct possible design mistakes.
    net.fabricmc.fabric.api.transfer.v1.transaction.base.SnapshotParticipant
    Experimental feature, we reserve the right to remove or change it without further notice. The transfer API is a complex addition, and we want to be able to correct possible design mistakes.
  • Enum Classes
    Enum Class
    Description
    net.fabricmc.fabric.api.biome.v1.ModificationPhase
    net.fabricmc.fabric.api.biome.v1.OverworldClimate
  • Record Classes
    Record Class
    Description
    net.fabricmc.fabric.api.transfer.v1.storage.base.ResourceAmount
    Experimental feature, we reserve the right to remove or change it without further notice. The transfer API is a complex addition, and we want to be able to correct possible design mistakes.
  • Fields
    Field
    Description
    net.fabricmc.fabric.api.entity.EntityTrackingRegistry.INSTANCE
    net.fabricmc.fabric.api.event.client.ClientSpriteRegistryCallback.EVENT
    Use the ClientSpriteRegistryCallback.event(Identifier) registration method. Since 1.14 started making use of multiple sprite atlases, it is unwise to register sprites to *all* of them.
    net.fabricmc.fabric.api.event.client.ClientTickCallback.EVENT
    Please use ClientTickEvents.END_CLIENT_TICK.
    net.fabricmc.fabric.api.event.client.ItemTooltipCallback.EVENT
    net.fabricmc.fabric.api.event.client.player.ClientPickBlockCallback.EVENT
    net.fabricmc.fabric.api.event.network.C2SPacketTypeCallback.REGISTERED
    Please migrate to C2SPlayChannelEvents.REGISTER.
    net.fabricmc.fabric.api.event.network.C2SPacketTypeCallback.UNREGISTERED
    Please migrate to C2SPlayChannelEvents.UNREGISTER.
    net.fabricmc.fabric.api.event.network.S2CPacketTypeCallback.REGISTERED
    Please migrate to S2CPlayChannelEvents.REGISTER.
    net.fabricmc.fabric.api.event.network.S2CPacketTypeCallback.UNREGISTERED
    Please migrate to S2CPlayChannelEvents.UNREGISTER.
    net.fabricmc.fabric.api.event.server.ServerStartCallback.EVENT
    Please use ServerLifecycleEvents.SERVER_STARTED
    net.fabricmc.fabric.api.event.server.ServerStopCallback.EVENT
    Please use ServerLifecycleEvents.SERVER_STOPPING
    net.fabricmc.fabric.api.event.server.ServerTickCallback.EVENT
    Please use ServerTickEvents.END_SERVER_TICK
    net.fabricmc.fabric.api.event.world.WorldTickCallback.EVENT
    The new WorldTickCallback has been split into a client and server callback. Please use the server or client callbacks.
    net.fabricmc.fabric.api.registry.LootEntryTypeRegistry.INSTANCE
  • Methods
    Method
    Description
    net.fabricmc.fabric.api.block.FabricBlockSettings.friction​(float)
    net.fabricmc.fabric.api.client.itemgroup.FabricItemGroupBuilder.stacksForDisplay​(Consumer<List<ItemStack>>)
    use FabricItemGroupBuilder.appendItems(Consumer)
    net.fabricmc.fabric.api.client.keybinding.FabricKeyBinding.getBoundKey()
    net.fabricmc.fabric.api.client.model.ModelAppender.appendAll​(ResourceManager, Consumer<ModelIdentifier>)
    net.fabricmc.fabric.api.client.model.ModelLoadingRegistry.registerAppender​(ModelAppender)
    Use ModelLoadingRegistry.registerModelProvider(ExtraModelProvider) instead, which supports loading of plain Identifiers
    net.fabricmc.fabric.api.client.rendering.v1.BuiltinItemRendererRegistry.register​(ItemConvertible, BuiltinItemRenderer)
    Please use BuiltinItemRendererRegistry.register(ItemConvertible, DynamicItemRenderer) instead.
    net.fabricmc.fabric.api.client.rendering.v1.BuiltinItemRendererRegistry.register​(Item, BuiltinItemRenderer)
    Please use BuiltinItemRendererRegistry.register(ItemConvertible, DynamicItemRenderer) instead.
    net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext.BlockOutlineContext.vertexConsumer()
    Use WorldRenderContext.consumers() directly.
    net.fabricmc.fabric.api.entity.EntityTrackingRegistry.get​(EntityType)
    net.fabricmc.fabric.api.entity.EntityTrackingRegistry.register​(EntityType, int, int)
    net.fabricmc.fabric.api.entity.EntityTrackingRegistry.register​(EntityType, int, int, boolean)
    net.fabricmc.fabric.api.entity.FabricDefaultAttributeRegistry.register​(EntityType<? extends LivingEntity>, DefaultAttributeContainer.Builder)
    Please FabricDefaultAttributeRegistry.register(EntityType, DefaultAttributeContainer.Builder) instead.
    net.fabricmc.fabric.api.entity.FabricEntityTypeBuilder.create​(SpawnGroup, Function<? super World, ? extends T>)
    Use FabricEntityTypeBuilder.create(SpawnGroup, EntityType.EntityFactory)
    net.fabricmc.fabric.api.entity.FabricEntityTypeBuilder.size​(float, float)
    Use FabricEntityTypeBuilder.size(EntityDimensions)
    net.fabricmc.fabric.api.event.client.ClientSpriteRegistryCallback.registerBlockAtlas​(ClientSpriteRegistryCallback)
    Use the ClientSpriteRegistryCallback.event(Identifier) registration method.
    net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings.lightLevel​(int)
    Please use FabricBlockSettings.luminance(int).
    net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings.lightLevel​(ToIntFunction<BlockState>)
    Please use FabricBlockSettings.luminance(ToIntFunction).
    net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings.materialColor​(MapColor)
    Please migrate to FabricBlockSettings.mapColor(MapColor)
    net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings.materialColor​(DyeColor)
    Please migrate to FabricBlockSettings.mapColor(DyeColor)
    net.fabricmc.fabric.api.object.builder.v1.entity.FabricEntityTypeBuilder.Living.trackable​(int, int)
    use FabricEntityTypeBuilder.Living.trackRangeBlocks(int), FabricEntityTypeBuilder.Living.trackedUpdateRate(int) and FabricEntityTypeBuilder.Living.forceTrackedVelocityUpdates(boolean)
    net.fabricmc.fabric.api.object.builder.v1.entity.FabricEntityTypeBuilder.Living.trackable​(int, int, boolean)
    use FabricEntityTypeBuilder.Living.trackRangeBlocks(int), FabricEntityTypeBuilder.Living.trackedUpdateRate(int) and FabricEntityTypeBuilder.Living.forceTrackedVelocityUpdates(boolean)
    net.fabricmc.fabric.api.object.builder.v1.entity.FabricEntityTypeBuilder.Mob.trackable​(int, int)
    use FabricEntityTypeBuilder.Mob.trackRangeBlocks(int), FabricEntityTypeBuilder.Mob.trackedUpdateRate(int) and FabricEntityTypeBuilder.Mob.forceTrackedVelocityUpdates(boolean)
    net.fabricmc.fabric.api.object.builder.v1.entity.FabricEntityTypeBuilder.Mob.trackable​(int, int, boolean)
    use FabricEntityTypeBuilder.Mob.trackRangeBlocks(int), FabricEntityTypeBuilder.Mob.trackedUpdateRate(int) and FabricEntityTypeBuilder.Mob.forceTrackedVelocityUpdates(boolean)
    net.fabricmc.fabric.api.object.builder.v1.entity.FabricEntityTypeBuilder.trackable​(int, int)
    use FabricEntityTypeBuilder.trackRangeBlocks(int), FabricEntityTypeBuilder.trackedUpdateRate(int) and FabricEntityTypeBuilder.forceTrackedVelocityUpdates(boolean)
    net.fabricmc.fabric.api.object.builder.v1.entity.FabricEntityTypeBuilder.trackable​(int, int, boolean)
    use FabricEntityTypeBuilder.trackRangeBlocks(int), FabricEntityTypeBuilder.trackedUpdateRate(int) and FabricEntityTypeBuilder.forceTrackedVelocityUpdates(boolean)
    net.fabricmc.fabric.api.object.builder.v1.trade.TradeOfferHelper.refreshOffers()
    This never did anything useful.
    net.fabricmc.fabric.api.registry.LootEntryTypeRegistry.register​(LootPoolEntry.Serializer<?>)
    net.fabricmc.fabric.api.renderer.v1.material.MaterialFinder.blendMode​(int, RenderLayer)
    Use BlendMode version instead.
    net.fabricmc.fabric.api.renderer.v1.mesh.MutableQuadView.fromVanilla​(int[], int, boolean)
    Use #fromVanilla(BakedQuad, RenderMaterial, Direction, int[], int) which has better encapsulation and removed outdated item flag
    net.fabricmc.fabric.api.resource.ResourceManagerHelper.addReloadListener​(IdentifiableResourceReloadListener)
    Use ResourceManagerHelper.registerReloadListener(IdentifiableResourceReloadListener)
    net.fabricmc.fabric.api.resource.ResourceManagerHelper.registerBuiltinResourcePack​(Identifier, String, ModContainer, boolean)
    Please use ResourceManagerHelper.registerBuiltinResourcePack(Identifier, ModContainer, ResourcePackActivationType) instead, the sub path should be removed in a future release in favor of the identifier path.
    net.fabricmc.fabric.api.tag.TagRegistry.block​(Identifier)
    use TagFactory.BLOCK
    net.fabricmc.fabric.api.tag.TagRegistry.entityType​(Identifier)
    use TagFactory.ENTITY_TYPE
    net.fabricmc.fabric.api.tag.TagRegistry.fluid​(Identifier)
    use TagFactory.FLUID
    net.fabricmc.fabric.api.tag.TagRegistry.item​(Identifier)
    use TagFactory.ITEM
    net.fabricmc.fabric.api.tool.attribute.v1.DynamicAttributeTool.getMiningLevel​(ItemStack, LivingEntity)
    Use DynamicAttributeTool.getMiningLevel(Tag, BlockState, ItemStack, LivingEntity) to detect tag and block.
    net.fabricmc.fabric.api.tool.attribute.v1.DynamicAttributeTool.getMiningSpeedMultiplier​(ItemStack, LivingEntity)
    Use DynamicAttributeTool.getMiningSpeedMultiplier(Tag, BlockState, ItemStack, LivingEntity) to detect tag and block.
    net.fabricmc.fabric.api.transfer.v1.client.fluid.FluidVariantRenderHandler.getColor​(FluidVariant)
    Use and implement the other more general overload. This one will be removed in a future iteration of the API.
  • Constructors
    Constructor
    Description
    net.fabricmc.fabric.api.gamerule.v1.rule.DoubleRule​(GameRules.Type<DoubleRule>, double, double, double)
    You should not be calling this constructor!
    net.fabricmc.fabric.api.gamerule.v1.rule.EnumRule​(GameRules.Type<EnumRule<E>>, E, E[])
    You should not be calling this constructor!
    net.fabricmc.fabric.api.gamerule.v1.rule.EnumRule​(GameRules.Type<EnumRule<E>>, E, Collection<E>)