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

Deprecated API

Contents

  • Terminally Deprecated
  • Interfaces
  • Classes
  • Enum Classes
  • Record Classes
  • Fields
  • Methods
  • Constructors
  • Terminally Deprecated Elements
    Element
    Description
    net.minecraft.advancements.Advancement.Builder.parent(ResourceLocation)
    net.minecraft.data.recipes.RecipeProvider(PackOutput, CompletableFuture<HolderLookup.Provider>)
    net.minecraft.gametest.framework.GameTestHelper.makeMockServerPlayerInLevel()
    net.minecraft.world.level.biome.Biome.BIOME_INFO_NOISE
    net.minecraft.world.level.block.entity.trialspawner.TrialSpawner.overridePeacefulAndMobSpawnRule()
    net.minecraft.world.level.block.entity.trialspawner.TrialSpawner.setPlayerDetector(PlayerDetector)
    net.minecraft.world.level.chunk.ChunkAccess.getHighestSectionPosition()
    net.neoforged.neoforge.attachment.IAttachmentSerializer.read(S)
    Implement IAttachmentSerializer.read(IAttachmentHolder, Tag) instead. This method will be removed in a future version.
    net.neoforged.neoforge.client.event.ModelEvent.RegisterGeometryLoaders.register(String, IGeometryLoader<?>)
    Use the RL-explicit variant instead; mod ID inference will be removed in a later update, alongside the move of registration events to the NeoForge main bus
    net.neoforged.neoforge.client.event.RegisterGuiOverlaysEvent.registerAbove(ResourceLocation, String, IGuiOverlay)
    Use the RL-explicit variant instead; mod ID inference will be removed in a later update, alongside the move of registration events to the NeoForge main bus
    net.neoforged.neoforge.client.event.RegisterGuiOverlaysEvent.registerAboveAll(String, IGuiOverlay)
    Use the RL-explicit variant instead; mod ID inference will be removed in a later update, alongside the move of registration events to the NeoForge main bus
    net.neoforged.neoforge.client.event.RegisterGuiOverlaysEvent.registerBelow(ResourceLocation, String, IGuiOverlay)
    Use the RL-explicit variant instead; mod ID inference will be removed in a later update, alongside the move of registration events to the NeoForge main bus
    net.neoforged.neoforge.client.event.RegisterGuiOverlaysEvent.registerBelowAll(String, IGuiOverlay)
    Use the RL-explicit variant instead; mod ID inference will be removed in a later update, alongside the move of registration events to the NeoForge main bus
    net.neoforged.neoforge.client.event.RegisterNamedRenderTypesEvent.register(String, RenderType, RenderType)
    Use the RL-explicit variant instead; mod ID inference will be removed in a later update, alongside the move of registration events to the NeoForge main bus
    net.neoforged.neoforge.client.event.RegisterNamedRenderTypesEvent.register(String, RenderType, RenderType, RenderType)
    Use the RL-explicit variant instead; mod ID inference will be removed in a later update, alongside the move of registration events to the NeoForge main bus
    net.neoforged.neoforge.client.gui.ScreenUtils
    Use extension methods in IGuiGraphicsExtension instead
    net.neoforged.neoforge.client.gui.ScreenUtils.drawGradientRect(Matrix4f, int, int, int, int, int, int, int)
    Use GuiGraphics.fillGradient(int, int, int, int, int, int, int) instead
    net.neoforged.neoforge.client.gui.ScreenUtils.drawTexturedModalRect(GuiGraphics, int, int, int, int, int, int, float)
    Use GuiGraphics.blit(ResourceLocation, int, int, int, int, int, int) instead
    net.neoforged.neoforge.client.model.data.MultipartModelData.builder()
    net.neoforged.neoforge.client.model.data.MultipartModelData.Builder
    net.neoforged.neoforge.client.model.data.MultipartModelData.get(BakedModel)
    net.neoforged.neoforge.client.model.data.MultipartModelData.PROPERTY
    net.neoforged.neoforge.client.model.generators.CustomLoaderBuilder(ResourceLocation, T, ExistingFileHelper)
    Use CustomLoaderBuilder(ResourceLocation, ModelBuilder, ExistingFileHelper, boolean)} instead
    net.neoforged.neoforge.client.model.lighting.QuadLighter.getLightColor(BlockAndTintGetter, BlockPos, BlockState)
    net.neoforged.neoforge.client.settings.KeyMappingLookup.get(InputConstants.Key)
    net.neoforged.neoforge.client.settings.KeyMappingLookup.get(InputConstants.Key, KeyModifier)
    net.neoforged.neoforge.common.CommonHooks.deserializeTagAdditions(List<TagEntry>, JsonObject, List<TagEntry>)
    net.neoforged.neoforge.common.CommonHooks.onLeftClickBlock(Player, BlockPos, Direction)
    Use CommonHooks.onLeftClickBlock(Player, BlockPos, Direction, ServerboundPlayerActionPacket.Action) instead
    net.neoforged.neoforge.common.extensions.IClientCommonPacketListenerExtension.isVanillaConnection()
    Use IClientCommonPacketListenerExtension.getConnectionType() instead
    net.neoforged.neoforge.common.extensions.IItemExtension.onArmorTick(ItemStack, Level, Player)
    Use Item.inventoryTick(ItemStack, Level, Entity, int, boolean) by checking that the slot argument is an armor slot. Armor slots are 36, 37, 38 and 39.
    net.neoforged.neoforge.common.extensions.IItemStackExtension.onArmorTick(Level, Player)
    Use Item.inventoryTick(ItemStack, Level, Entity, int, boolean) by checking that the slot argument is an armor slot. Armor slots are 36, 37, 38 and 39.
    net.neoforged.neoforge.common.extensions.IServerCommonPacketListenerExtension.isVanillaConnection()
    Use IServerCommonPacketListenerExtension.getConnectionType() instead
    net.neoforged.neoforge.common.NeoForgeConfig.Client.compressLanIPv6Addresses
    net.neoforged.neoforge.event.entity.player.PlayerInteractEvent.LeftClickBlock(Player, BlockPos, Direction)
    net.neoforged.neoforge.registries.RegisterEvent.RegisterHelper.register(String, T)
    Use the RL-explicit variant instead; mod ID inference will be removed in a later update, alongside the move of registration events to the NeoForge main bus
  • Deprecated Interfaces
    Interface
    Description
    net.minecraft.client.renderer.item.ItemPropertyFunction
    net.minecraft.core.particles.ParticleOptions.Deserializer
    net.minecraft.world.entity.Shearable
    Neo: Use IShearable instead.
    net.neoforged.neoforge.common.util.NonNullConsumer
    Use Consumer
    net.neoforged.neoforge.common.util.NonNullFunction
    Use Function
    net.neoforged.neoforge.common.util.NonNullLazy
    Use Lazy
    net.neoforged.neoforge.common.util.NonNullPredicate
    Use Predicate
    net.neoforged.neoforge.common.util.NonNullSupplier
    Use Supplier
  • Deprecated Classes
    Class
    Description
    net.minecraft.data.advancements.AdvancementProvider
    NeoForge: Use AdvancementProvider instead, provides ease of access for the ExistingFileHelper in the generator
    net.minecraft.data.registries.RegistriesDatapackGenerator
    Forge: Use DatapackBuiltinEntriesProvider instead
    net.minecraft.util.LazyLoadedValue
    net.minecraft.util.StringRepresentable.EnumCodec
    net.minecraft.world.entity.ai.behavior.SetEntityLookTargetSometimes
    net.minecraft.world.level.levelgen.blockpredicates.SolidPredicate
    net.minecraft.world.level.levelgen.feature.LakeFeature
    net.minecraft.world.level.levelgen.placement.CountOnEveryLayerPlacement
    net.minecraft.world.level.levelgen.ThreadSafeLegacyRandomSource
    net.neoforged.neoforge.client.gui.ScreenUtils
    Use extension methods in IGuiGraphicsExtension instead
    net.neoforged.neoforge.client.model.data.MultipartModelData.Builder
  • Deprecated Enum Classes
    Enum Class
    Description
    net.minecraft.world.level.storage.PrimaryLevelData.SpecialWorldProperty
  • Deprecated Record Classes
    Record Class
    Description
    net.minecraft.world.level.levelgen.structure.placement.StructurePlacement.ExclusionZone
  • Deprecated Fields
    Field
    Description
    net.minecraft.client.gui.components.AbstractSelectionList.Entry.list
    net.minecraft.client.gui.screens.worldselection.PresetEditor.EDITORS
    Forge: Use PresetEditorManager.get(ResourceKey) instead.
    net.minecraft.client.renderer.ItemBlockRenderTypes.TYPE_BY_BLOCK
    net.minecraft.client.renderer.ItemBlockRenderTypes.TYPE_BY_FLUID
    net.minecraft.client.renderer.texture.TextureAtlas.LOCATION_BLOCKS
    net.minecraft.client.renderer.texture.TextureAtlas.LOCATION_PARTICLES
    net.minecraft.data.worldgen.NoiseData.DEFAULT_SHIFT
    net.minecraft.network.ConnectionProtocol.PacketSet.idToDeserializer
    Use ConnectionProtocol.PacketSet.contextualIdToDeserializer instead it allows for context to be passed to the deserializer
    net.minecraft.server.network.ServerGamePacketListenerImpl.MAX_INTERACTION_DISTANCE
    net.minecraft.SharedConstants.DATA_PACK_FORMAT
    net.minecraft.SharedConstants.LANGUAGE_FORMAT
    net.minecraft.SharedConstants.RELEASE_NETWORK_PROTOCOL_VERSION
    net.minecraft.SharedConstants.RESOURCE_PACK_FORMAT
    net.minecraft.SharedConstants.SERIES
    net.minecraft.SharedConstants.SNAPSHOT
    net.minecraft.SharedConstants.SNAPSHOT_NETWORK_PROTOCOL_VERSION
    net.minecraft.SharedConstants.VERSION_STRING
    net.minecraft.SharedConstants.WORLD_VERSION
    net.minecraft.util.RandomSource.GAUSSIAN_SPREAD_FACTOR
    net.minecraft.util.SpawnUtil.Strategy.LEGACY_IRON_GOLEM
    net.minecraft.world.damagesource.DamageEffects.sound
    net.minecraft.world.entity.ai.behavior.GiveGiftToHero.GIFTS
    Neo: use the data map instead
    net.minecraft.world.entity.animal.Parrot.MOB_SOUND_MAP
    Neo: use the data map instead
    net.minecraft.world.entity.Entity.fluidHeight
    net.minecraft.world.entity.Entity.fluidOnEyes
    net.minecraft.world.entity.Entity.type
    net.minecraft.world.item.BlockItem.block
    net.minecraft.world.item.crafting.ShapedRecipePattern.MAX_SIZE
    Neo: use ShapedRecipePattern.getMaxWidth() and ShapedRecipePattern.getMaxHeight()
    net.minecraft.world.item.HoeItem.TILLABLES
    Forge: This map is patched out of vanilla code. Listen to BlockEvent.BlockToolModificationEvent or override IBlockExtension.getToolModifiedState(BlockState, UseOnContext, net.neoforged.neoforge.common.ToolAction, boolean).
    net.minecraft.world.item.ItemStack.item
    net.minecraft.world.item.Rarity.color
    Forge: Use Rarity.getStyleModifier()
    net.minecraft.world.item.RecordItem.BY_NAME
    net.minecraft.world.item.RecordItem.sound
    net.minecraft.world.level.biome.Biome.BIOME_INFO_NOISE
    net.minecraft.world.level.block.Block.BLOCK_STATE_REGISTRY
    net.minecraft.world.level.block.ComposterBlock.COMPOSTABLES
    Neo: Use the compostable data map instead, as this field will be ignored starting with 1.20.5.
    net.minecraft.world.level.block.LiquidBlock.fluid
    net.minecraft.world.level.block.state.BlockBehaviour.BlockStateBase.legacySolid
    net.minecraft.world.level.block.state.BlockBehaviour.BlockStateBase.liquid
    net.minecraft.world.level.block.state.BlockBehaviour.Properties.forceSolidOff
    net.minecraft.world.level.block.state.BlockBehaviour.Properties.liquid
    net.minecraft.world.level.chunk.ChunkAccess.carverBiomeSettings
    net.minecraft.world.level.gameevent.vibrations.VibrationSystem.VIBRATION_FREQUENCY_FOR_EVENT
    Neo: use the data map instead.
    net.minecraft.world.level.Level.threadSafeRandom
    net.minecraft.world.level.levelgen.DensityFunctions.Noise.xzScale
    net.minecraft.world.level.levelgen.NoiseGeneratorSettings.disableMobGeneration
    net.neoforged.neoforge.client.model.data.MultipartModelData.PROPERTY
    net.neoforged.neoforge.common.NeoForgeConfig.Client.compressLanIPv6Addresses
    net.neoforged.neoforge.common.Tags.Items.ENCHANTING_FUELS
    Avoid using this tag, especially on the client side, as optional tags, for now, do not exist after the registry rework.
  • Deprecated Methods
    Method
    Description
    com.mojang.blaze3d.platform.NativeImage.makePixelArray()
    com.mojang.blaze3d.systems.RenderSystem.runAsFancy(Runnable)
    net.minecraft.advancements.Advancement.Builder.parent(ResourceLocation)
    net.minecraft.client.color.block.BlockColors.register(BlockColor, Block...)
    Register via RegisterColorHandlersEvent.Block
    net.minecraft.client.color.item.ItemColors.register(ItemColor, ItemLike...)
    Register via RegisterColorHandlersEvent.Item
    net.minecraft.client.gui.components.AbstractWidget.onClick(double, double)
    Neo: Use IAbstractWidgetExtension.onClick(double, double, int) instead.
    net.minecraft.client.gui.GuiGraphics.drawManaged(Runnable)
    net.minecraft.client.gui.GuiGraphics.flushIfManaged()
    net.minecraft.client.gui.GuiGraphics.flushIfUnmanaged()
    net.minecraft.client.gui.screens.inventory.tooltip.TooltipRenderUtil.renderRectangle(GuiGraphics, int, int, int, int, int, int)
    Forge: Use gradient overload instead
    net.minecraft.client.gui.screens.MenuScreens.register(MenuType<? extends M>, MenuScreens.ScreenConstructor<M, U>)
    Use RegisterMenuScreensEvent to register menu screens + TODO 1.20.5: remove AT related to this
    net.minecraft.client.particle.ParticleEngine.register(ParticleType<T>, ParticleEngine.SpriteParticleRegistration<T>)
    Register via RegisterParticleProvidersEvent
    net.minecraft.client.particle.ParticleEngine.register(ParticleType<T>, ParticleProvider.Sprite<T>)
    Register via RegisterParticleProvidersEvent
    net.minecraft.client.particle.ParticleEngine.register(ParticleType<T>, ParticleProvider<T>)
    Register via RegisterParticleProvidersEvent
    net.minecraft.client.particle.ParticleEngine.render(PoseStack, MultiBufferSource.BufferSource, LightTexture, Camera, float)
    Forge: use ParticleEngine.render(PoseStack, MultiBufferSource.BufferSource, LightTexture, Camera, float, net.minecraft.client.renderer.culling.Frustum) with Frustum as additional parameter
    net.minecraft.client.renderer.block.BlockModelShaper.getParticleIcon(BlockState)
    net.minecraft.client.renderer.block.BlockRenderDispatcher.renderBreakingTexture(BlockState, BlockPos, BlockAndTintGetter, PoseStack, VertexConsumer)
    net.minecraft.client.renderer.block.BlockRenderDispatcher.renderSingleBlock(BlockState, PoseStack, MultiBufferSource, int, int)
    net.minecraft.client.renderer.block.model.BlockModel.bake(ModelBaker, Function<Material, TextureAtlasSprite>, ModelState, ResourceLocation)
    Forge: Use BlockModel.bake(ModelBaker, BlockModel, Function, ModelState, ResourceLocation, boolean).
    net.minecraft.client.renderer.block.model.BlockModel.getElements()
    net.minecraft.client.renderer.block.ModelBlockRenderer.renderModel(PoseStack.Pose, VertexConsumer, BlockState, BakedModel, float, float, float, int, int)
    net.minecraft.client.renderer.block.ModelBlockRenderer.tesselateBlock(BlockAndTintGetter, BakedModel, BlockState, BlockPos, PoseStack, VertexConsumer, boolean, RandomSource, long, int)
    net.minecraft.client.renderer.block.ModelBlockRenderer.tesselateWithAO(BlockAndTintGetter, BakedModel, BlockState, BlockPos, PoseStack, VertexConsumer, boolean, RandomSource, long, int)
    net.minecraft.client.renderer.block.ModelBlockRenderer.tesselateWithoutAO(BlockAndTintGetter, BakedModel, BlockState, BlockPos, PoseStack, VertexConsumer, boolean, RandomSource, long, int)
    net.minecraft.client.renderer.entity.BoatRenderer.getTextureLocation(Boat)
    net.minecraft.client.renderer.entity.layers.HumanoidArmorLayer.getArmorLocation(ArmorItem, boolean, String)
    net.minecraft.client.renderer.item.ClampedItemPropertyFunction.call(ItemStack, ClientLevel, LivingEntity, int)
    net.minecraft.client.renderer.ItemBlockRenderTypes.getChunkRenderType(BlockState)
    Forge: Use IBakedModelExtension.getRenderTypes(BlockState, net.minecraft.util.RandomSource, net.neoforged.neoforge.client.model.data.ModelData).
    net.minecraft.client.renderer.ItemBlockRenderTypes.getMovingBlockRenderType(BlockState)
    Forge: Use RenderTypeHelper.getMovingBlockRenderType(RenderType) while iterating through IBakedModelExtension.getRenderTypes(BlockState, net.minecraft.util.RandomSource, net.neoforged.neoforge.client.model.data.ModelData).
    net.minecraft.client.renderer.ItemBlockRenderTypes.getRenderLayers(BlockState)
    Use IBakedModelExtension.getRenderTypes(BlockState, net.minecraft.util.RandomSource, net.neoforged.neoforge.client.model.data.ModelData).
    net.minecraft.client.renderer.ItemBlockRenderTypes.getRenderType(ItemStack, boolean)
    Forge: Use IBakedModelExtension.getRenderPasses(ItemStack, boolean) and IBakedModelExtension.getRenderTypes(ItemStack, boolean).
    net.minecraft.client.renderer.ItemBlockRenderTypes.getRenderType(BlockState, boolean)
    Forge: Use RenderTypeHelper.getEntityRenderType(RenderType, boolean) while iterating through IBakedModelExtension.getRenderTypes(BlockState, net.minecraft.util.RandomSource, net.neoforged.neoforge.client.model.data.ModelData).
    net.minecraft.client.renderer.ItemBlockRenderTypes.setRenderLayer(Block, Predicate<RenderType>)
    Set your render type in your block model's JSON (eg. "render_type": "cutout") or override IBakedModelExtension.getRenderTypes(BlockState, net.minecraft.util.RandomSource, net.neoforged.neoforge.client.model.data.ModelData)
    net.minecraft.client.renderer.ItemBlockRenderTypes.setRenderLayer(Block, RenderType)
    Set your render type in your block model's JSON (eg. "render_type": "cutout") or override IBakedModelExtension.getRenderTypes(BlockState, net.minecraft.util.RandomSource, net.neoforged.neoforge.client.model.data.ModelData)
    net.minecraft.client.renderer.ItemBlockRenderTypes.setRenderLayer(Block, ChunkRenderTypeSet)
    Set your render type in your block model's JSON (eg. "render_type": "cutout") or override IBakedModelExtension.getRenderTypes(BlockState, net.minecraft.util.RandomSource, net.neoforged.neoforge.client.model.data.ModelData)
    net.minecraft.client.renderer.LevelRenderer.playStreamingMusic(SoundEvent, BlockPos)
    Forge: Use item aware function below
    net.minecraft.client.resources.LegacyStuffWrapper.getPixels(ResourceManager, ResourceLocation)
    net.minecraft.client.resources.model.BakedModel.getParticleIcon()
    Forge: Use IBakedModelExtension.getParticleIcon(net.neoforged.neoforge.client.model.data.ModelData)
    net.minecraft.client.resources.model.BakedModel.getQuads(BlockState, Direction, RandomSource)
    Forge: Use IBakedModelExtension.getQuads(BlockState, Direction, RandomSource, net.neoforged.neoforge.client.model.data.ModelData, net.minecraft.client.renderer.RenderType)
    net.minecraft.client.resources.model.BakedModel.getTransforms()
    Forge: Use IBakedModelExtension.applyTransform(net.minecraft.world.item.ItemDisplayContext, com.mojang.blaze3d.vertex.PoseStack, boolean) instead
    net.minecraft.client.resources.model.ModelBaker.bake(ResourceLocation, ModelState)
    Forge: Use IModelBakerExtension.bake(ResourceLocation, ModelState, java.util.function.Function) instead.
    net.minecraft.client.resources.model.MultiPartBakedModel.getParticleIcon()
    net.minecraft.client.resources.model.MultiPartBakedModel.getTransforms()
    net.minecraft.client.resources.model.SimpleBakedModel.Builder.build()
    Forge: Use variant with RenderTypeGroup
    net.minecraft.core.BlockPos.squareOutSouthEast(BlockPos)
    net.minecraft.core.Holder.Reference.createIntrusive(HolderOwner<T>, T)
    net.minecraft.core.HolderSet.emptyNamed(HolderOwner<T>, TagKey<T>)
    net.minecraft.core.MappedRegistry.unfreeze()
    Forge: For internal use only. Use the Register events when registering values.
    net.minecraft.data.models.model.ModelLocationUtils.decorateBlockModelLocation(String)
    net.minecraft.gametest.framework.GameTestHelper.makeMockServerPlayerInLevel()
    net.minecraft.gametest.framework.GameTestRegistry.register(Class<?>)
    Forge: Use RegisterGameTestsEvent to register game tests
    net.minecraft.gametest.framework.GameTestRegistry.register(Method)
    Forge: Use RegisterGameTestsEvent to register game tests
    net.minecraft.gametest.framework.GameTestRegistry.register(Method, Set<String>)
    Forge: Use RegisterGameTestsEvent to register game tests
    net.minecraft.network.ConnectionProtocol.CodecData.createPacket(int, FriendlyByteBuf)
    Use ConnectionProtocol.CodecData.createPacket(int, FriendlyByteBuf, io.netty.channel.ChannelHandlerContext) instead, which provides the channel context for creating custom packet payloads.
    net.minecraft.network.ConnectionProtocol.PacketSet.createPacket(int, FriendlyByteBuf)
    Use ConnectionProtocol.PacketSet.createPacket(int, FriendlyByteBuf, io.netty.channel.ChannelHandlerContext) instead, which provides the channel context for creating custom packet payloads.
    net.minecraft.network.FriendlyByteBuf.readWithCodec(DynamicOps<Tag>, Codec<T>, NbtAccounter)
    net.minecraft.network.FriendlyByteBuf.readWithCodecTrusted(DynamicOps<Tag>, Codec<T>)
    net.minecraft.network.FriendlyByteBuf.writeWithCodec(DynamicOps<Tag>, Codec<T>, T)
    net.minecraft.network.protocol.BundlerInfo.unbundlePacket(Packet<?>, Consumer<Packet<?>>)
    Use BundlerInfo.unbundlePacket(Packet, Consumer, io.netty.channel.ChannelHandlerContext) instead, as it supports packet filtering and is more efficient.
    net.minecraft.network.protocol.common.ClientboundCustomPayloadPacket.readPayload(ResourceLocation, FriendlyByteBuf)
    Use ClientboundCustomPayloadPacket.readPayload(ResourceLocation, FriendlyByteBuf, io.netty.channel.ChannelHandlerContext, net.minecraft.network.ConnectionProtocol) instead, as this variant can only read vanilla payloads.
    net.minecraft.network.protocol.common.ServerboundCustomPayloadPacket.readPayload(ResourceLocation, FriendlyByteBuf)
    Use ServerboundCustomPayloadPacket.readPayload(ResourceLocation, FriendlyByteBuf, io.netty.channel.ChannelHandlerContext, net.minecraft.network.ConnectionProtocol) instead, as this variant can only read vanilla payloads.
    net.minecraft.network.syncher.EntityDataSerializers.registerSerializer(EntityDataSerializer<?>)
    NeoForge: Use NeoForgeRegistries.ENTITY_DATA_SERIALIZERS instead
    net.minecraft.server.level.ServerLevel.getEntityOrPart(int)
    net.minecraft.server.level.ServerLevel.setDragonFight(EndDragonFight)
    net.minecraft.server.level.WorldGenRegion.getLevel()
    net.minecraft.server.MinecraftServer.forgeGetWorldMap()
    net.minecraft.server.MinecraftServer.markWorldsDirty()
    net.minecraft.server.network.ServerCommonPacketListenerImpl.createCookie(ClientInformation)
    Use ServerCommonPacketListenerImpl.createCookie(ClientInformation, net.neoforged.neoforge.network.connection.ConnectionType) instead, keeping the connection type information available.
    net.minecraft.util.ExtraCodecs.dispatchOptionalValue(String, String, Codec<K>, Function<? super V, ? extends K>, Function<? super K, ? extends Codec<? extends V>>)
    net.minecraft.util.KeyDispatchDataCodec.of(Codec<A>)
    net.minecraft.util.Mth.fastInvSqrt(double)
    net.minecraft.util.Mth.getSeed(int, int, int)
    net.minecraft.util.Mth.getSeed(Vec3i)
    net.minecraft.util.RandomSource.createThreadSafe()
    net.minecraft.world.damagesource.DamageSource.scalesWithDifficulty()
    Use DamageScaling.getScalingFunction()
    net.minecraft.world.effect.MobEffect.builtInRegistryHolder()
    net.minecraft.world.entity.ai.Brain.getActiveActivities()
    net.minecraft.world.entity.ai.Brain.getMemories()
    net.minecraft.world.entity.ai.Brain.getRunningBehaviors()
    net.minecraft.world.entity.ai.village.poi.PoiManager.getFreeTickets(BlockPos)
    net.minecraft.world.entity.ai.village.poi.PoiRecord.getFreeTickets()
    net.minecraft.world.entity.ai.village.poi.PoiSection.getFreeTickets(BlockPos)
    net.minecraft.world.entity.animal.Bee.jumpInLiquid(TagKey<Fluid>)
    net.minecraft.world.entity.animal.Bucketable.loadDefaultDataFromBucketTag(Mob, CompoundTag)
    net.minecraft.world.entity.animal.Bucketable.saveDefaultDataToBucketTag(Mob, ItemStack)
    net.minecraft.world.entity.boss.wither.WitherBoss.canDestroy(BlockState)
    Forge: Use IBlockStateExtension.canEntityDestroy(net.minecraft.world.level.BlockGetter, BlockPos, Entity) instead.
    net.minecraft.world.entity.Entity.couldAcceptPassenger()
    Forge: Use rider sensitive version
    net.minecraft.world.entity.Entity.fixupDimensions()
    net.minecraft.world.entity.Entity.getBlockStateOnLegacy()
    net.minecraft.world.entity.Entity.getFluidHeight(TagKey<Fluid>)
    net.minecraft.world.entity.Entity.getLightLevelDependentMagicValue()
    net.minecraft.world.entity.Entity.getOnPosLegacy()
    net.minecraft.world.entity.Entity.isEyeInFluid(TagKey<Fluid>)
    net.minecraft.world.entity.Entity.isPushedByFluid()
    net.minecraft.world.entity.Entity.maxUpStep()
    Use IEntityExtension.getStepHeight() to get the real step height value.
    net.minecraft.world.entity.Entity.setMaxUpStep(float)
    Use attribute modifiers for the NeoForgeMod#STEP_HEIGHT attribute.
    net.minecraft.world.entity.Entity.updateFluidHeightAndDoFluidPushing(TagKey<Fluid>, double)
    net.minecraft.world.entity.EntityType.builtInRegistryHolder()
    net.minecraft.world.entity.LivingEntity.canBreatheUnderwater()
    net.minecraft.world.entity.LivingEntity.goDownInWater()
    net.minecraft.world.entity.LivingEntity.jumpInLiquid(TagKey<Fluid>)
    net.minecraft.world.entity.LivingEntity.maxUpStep()
    Use IEntityExtension.getStepHeight() to get the real step height value.
    net.minecraft.world.entity.Mob.finalizeSpawn(ServerLevelAccessor, DifficultyInstance, MobSpawnType, SpawnGroupData, CompoundTag)
    net.minecraft.world.entity.Mob.jumpInLiquid(TagKey<Fluid>)
    net.minecraft.world.entity.MobCategory.init()
    net.minecraft.world.entity.monster.MagmaCube.jumpInLiquid(TagKey<Fluid>)
    net.minecraft.world.entity.player.Player.getDestroySpeed(BlockState)
    net.minecraft.world.entity.projectile.ProjectileUtil.getWeaponHoldingHand(LivingEntity, Item)
    net.minecraft.world.entity.raid.Raid.RaiderType.init()
    net.minecraft.world.entity.Shearable.readyForShearing()
    Neo: Use IShearable.isShearable(net.minecraft.world.item.ItemStack, net.minecraft.world.level.Level, net.minecraft.core.BlockPos) instead.
    net.minecraft.world.entity.Shearable.shear(SoundSource)
    Neo: Use IShearable.onSheared(net.minecraft.world.entity.player.Player, net.minecraft.world.item.ItemStack, net.minecraft.world.level.Level, net.minecraft.core.BlockPos, int) instead.
    net.minecraft.world.food.FoodData.eat(Item, ItemStack)
    net.minecraft.world.food.FoodProperties.Builder.effect(MobEffectInstance, float)
    net.minecraft.world.item.alchemy.Potion.builtInRegistryHolder()
    net.minecraft.world.item.BlockItem.getPlaceSound(BlockState)
    net.minecraft.world.item.BoneMealItem.growCrop(ItemStack, Level, BlockPos)
    net.minecraft.world.item.BucketItem.emptyContents(Player, Level, BlockPos, BlockHitResult)
    net.minecraft.world.item.crafting.RecipeManager.fromJson(ResourceLocation, JsonObject)
    Forge: use overload with context.
    net.minecraft.world.item.CreativeModeTab.builder(CreativeModeTab.Row, int)
    Forge: use CreativeModeTab.builder()
    net.minecraft.world.item.CreativeModeTab.getBackgroundSuffix()
    net.minecraft.world.item.DiggerItem.isCorrectToolForDrops(BlockState)
    net.minecraft.world.item.DispensibleContainerItem.emptyContents(Player, Level, BlockPos, BlockHitResult)
    net.minecraft.world.item.enchantment.Enchantment.builtInRegistryHolder()
    net.minecraft.world.item.enchantment.Enchantment.getDamageBonus(int, MobType)
    net.minecraft.world.item.enchantment.EnchantmentHelper.getItemEnchantmentLevel(Enchantment, ItemStack)
    forge: use EnchantmentHelper.getTagEnchantmentLevel(Enchantment, ItemStack) or IItemStackExtension.getEnchantmentLevel(Enchantment)
    net.minecraft.world.item.FireworkRocketItem.Shape.byId(int)
    net.minecraft.world.item.Item.builtInRegistryHolder()
    net.minecraft.world.item.Item.byBlock(Block)
    net.minecraft.world.item.Item.getCraftingRemainingItem()
    net.minecraft.world.item.Item.getDefaultAttributeModifiers(EquipmentSlot)
    net.minecraft.world.item.Item.getEnchantmentValue()
    net.minecraft.world.item.Item.getFoodProperties()
    net.minecraft.world.item.Item.getMaxDamage()
    net.minecraft.world.item.Item.getMaxStackSize()
    net.minecraft.world.item.Item.hasCraftingRemainingItem()
    net.minecraft.world.item.Item.onDestroyed(ItemEntity)
    Forge: Use damage source sensitive version
    net.minecraft.world.item.ItemStack.onDestroyed(ItemEntity)
    Forge: Use damage source sensitive version
    net.minecraft.world.item.Tier.getLevel()
    net.minecraft.world.level.biome.Biome.getTemperature(BlockPos)
    net.minecraft.world.level.block.BaseRailBlock.getShapeProperty()
    Forge: Use BaseRailBlock.getRailDirection(BlockState, BlockGetter, BlockPos, net.minecraft.world.entity.vehicle.AbstractMinecart) for enhanced ability If you do change this property be aware that other functions in this/subclasses may break as they can make assumptions about this property
    net.minecraft.world.level.block.Block.builtInRegistryHolder()
     
    net.minecraft.world.level.block.Block.dropFromExplosion(Explosion)
    net.minecraft.world.level.block.Block.getCloneItemStack(LevelReader, BlockPos, BlockState)
    net.minecraft.world.level.block.Block.getExplosionResistance()
    net.minecraft.world.level.block.Block.getSoundType(BlockState)
    net.minecraft.world.level.block.Blocks.legacyStair(Block)
    net.minecraft.world.level.block.BucketPickup.getPickupSound()
    net.minecraft.world.level.block.entity.AbstractFurnaceBlockEntity.getFuel()
    Forge: get burn times by calling CommonHooks#getBurnTime(ItemStack)
    net.minecraft.world.level.block.entity.BlockEntity.setBlockState(BlockState)
    net.minecraft.world.level.block.entity.trialspawner.TrialSpawner.overridePeacefulAndMobSpawnRule()
    net.minecraft.world.level.block.entity.trialspawner.TrialSpawner.setPlayerDetector(PlayerDetector)
    net.minecraft.world.level.block.FireBlock.canBurn(BlockState)
    net.minecraft.world.level.block.FireBlock.getBurnOdds(BlockState)
    net.minecraft.world.level.block.FireBlock.getIgniteOdds(BlockState)
    net.minecraft.world.level.block.LiquidBlock.shouldSpreadLiquid(Level, BlockPos, BlockState)
    net.minecraft.world.level.block.state.BlockBehaviour.attack(BlockState, Level, BlockPos, Player)
    net.minecraft.world.level.block.state.BlockBehaviour.BlockStateBase.blocksMotion()
    net.minecraft.world.level.block.state.BlockBehaviour.BlockStateBase.getLightEmission()
    Forge: Use IBlockStateExtension.getLightEmission(BlockGetter, BlockPos) instead
    net.minecraft.world.level.block.state.BlockBehaviour.BlockStateBase.isSolid()
    net.minecraft.world.level.block.state.BlockBehaviour.BlockStateBase.liquid()
    net.minecraft.world.level.block.state.BlockBehaviour.BlockStateBase.neighborChanged(Level, BlockPos, Block, BlockPos, boolean)
    net.minecraft.world.level.block.state.BlockBehaviour.BlockStateBase.rotate(Rotation)
    use IBlockStateExtension.rotate(LevelAccessor, BlockPos, Rotation)
    net.minecraft.world.level.block.state.BlockBehaviour.canBeReplaced(BlockState, BlockPlaceContext)
    net.minecraft.world.level.block.state.BlockBehaviour.canBeReplaced(BlockState, Fluid)
    net.minecraft.world.level.block.state.BlockBehaviour.canSurvive(BlockState, LevelReader, BlockPos)
    net.minecraft.world.level.block.state.BlockBehaviour.entityInside(BlockState, Level, BlockPos, Entity)
    net.minecraft.world.level.block.state.BlockBehaviour.getAnalogOutputSignal(BlockState, Level, BlockPos)
    net.minecraft.world.level.block.state.BlockBehaviour.getBlockSupportShape(BlockState, BlockGetter, BlockPos)
    net.minecraft.world.level.block.state.BlockBehaviour.getCollisionShape(BlockState, BlockGetter, BlockPos, CollisionContext)
    net.minecraft.world.level.block.state.BlockBehaviour.getDestroyProgress(BlockState, Player, BlockGetter, BlockPos)
    net.minecraft.world.level.block.state.BlockBehaviour.getDirectSignal(BlockState, BlockGetter, BlockPos, Direction)
    net.minecraft.world.level.block.state.BlockBehaviour.getDrops(BlockState, LootParams.Builder)
    net.minecraft.world.level.block.state.BlockBehaviour.getFluidState(BlockState)
    net.minecraft.world.level.block.state.BlockBehaviour.getInteractionShape(BlockState, BlockGetter, BlockPos)
    net.minecraft.world.level.block.state.BlockBehaviour.getLightBlock(BlockState, BlockGetter, BlockPos)
    net.minecraft.world.level.block.state.BlockBehaviour.getMenuProvider(BlockState, Level, BlockPos)
    net.minecraft.world.level.block.state.BlockBehaviour.getOcclusionShape(BlockState, BlockGetter, BlockPos)
    net.minecraft.world.level.block.state.BlockBehaviour.getRenderShape(BlockState)
    net.minecraft.world.level.block.state.BlockBehaviour.getSeed(BlockState, BlockPos)
    net.minecraft.world.level.block.state.BlockBehaviour.getShadeBrightness(BlockState, BlockGetter, BlockPos)
    net.minecraft.world.level.block.state.BlockBehaviour.getShape(BlockState, BlockGetter, BlockPos, CollisionContext)
    net.minecraft.world.level.block.state.BlockBehaviour.getSignal(BlockState, BlockGetter, BlockPos, Direction)
    net.minecraft.world.level.block.state.BlockBehaviour.getVisualShape(BlockState, BlockGetter, BlockPos, CollisionContext)
    net.minecraft.world.level.block.state.BlockBehaviour.hasAnalogOutputSignal(BlockState)
    net.minecraft.world.level.block.state.BlockBehaviour.isCollisionShapeFullBlock(BlockState, BlockGetter, BlockPos)
    net.minecraft.world.level.block.state.BlockBehaviour.isOcclusionShapeFullBlock(BlockState, BlockGetter, BlockPos)
    net.minecraft.world.level.block.state.BlockBehaviour.isPathfindable(BlockState, BlockGetter, BlockPos, PathComputationType)
    net.minecraft.world.level.block.state.BlockBehaviour.isSignalSource(BlockState)
    net.minecraft.world.level.block.state.BlockBehaviour.mirror(BlockState, Mirror)
    net.minecraft.world.level.block.state.BlockBehaviour.neighborChanged(BlockState, Level, BlockPos, Block, BlockPos, boolean)
    net.minecraft.world.level.block.state.BlockBehaviour.onExplosionHit(BlockState, Level, BlockPos, Explosion, BiConsumer<ItemStack, BlockPos>)
    net.minecraft.world.level.block.state.BlockBehaviour.onPlace(BlockState, Level, BlockPos, BlockState, boolean)
    net.minecraft.world.level.block.state.BlockBehaviour.onProjectileHit(Level, BlockState, BlockHitResult, Projectile)
    net.minecraft.world.level.block.state.BlockBehaviour.onRemove(BlockState, Level, BlockPos, BlockState, boolean)
    net.minecraft.world.level.block.state.BlockBehaviour.Properties.dropsLike(Block)
    net.minecraft.world.level.block.state.BlockBehaviour.Properties.forceSolidOff()
    net.minecraft.world.level.block.state.BlockBehaviour.Properties.ofLegacyCopy(BlockBehaviour)
    net.minecraft.world.level.block.state.BlockBehaviour.randomTick(BlockState, ServerLevel, BlockPos, RandomSource)
    net.minecraft.world.level.block.state.BlockBehaviour.rotate(BlockState, Rotation)
    net.minecraft.world.level.block.state.BlockBehaviour.skipRendering(BlockState, BlockState, Direction)
    net.minecraft.world.level.block.state.BlockBehaviour.spawnAfterBreak(BlockState, ServerLevel, BlockPos, ItemStack, boolean)
    net.minecraft.world.level.block.state.BlockBehaviour.tick(BlockState, ServerLevel, BlockPos, RandomSource)
    net.minecraft.world.level.block.state.BlockBehaviour.triggerEvent(BlockState, Level, BlockPos, int, int)
    net.minecraft.world.level.block.state.BlockBehaviour.updateIndirectNeighbourShapes(BlockState, LevelAccessor, BlockPos, int, int)
    net.minecraft.world.level.block.state.BlockBehaviour.updateShape(BlockState, Direction, BlockState, LevelAccessor, BlockPos, BlockPos)
    net.minecraft.world.level.block.state.BlockBehaviour.use(BlockState, Level, BlockPos, Player, InteractionHand, BlockHitResult)
    net.minecraft.world.level.block.state.BlockBehaviour.useShapeForLightOcclusion(BlockState)
    net.minecraft.world.level.block.TntBlock.explode(Level, BlockPos)
    net.minecraft.world.level.block.TntBlock.explode(Level, BlockPos, LivingEntity)
    net.minecraft.world.level.chunk.ChunkAccess.carverBiome(Supplier<BiomeGenerationSettings>)
    net.minecraft.world.level.chunk.ChunkAccess.getHighestSectionPosition()
    net.minecraft.world.level.chunk.ChunkGenerator.getBiomeGenerationSettings(Holder<Biome>)
    net.minecraft.world.level.chunk.LevelChunk.addEntity(Entity)
    net.minecraft.world.level.dimension.DimensionType.parseLegacy(Dynamic<?>)
    net.minecraft.world.level.dimension.end.EndDragonFight.removeAllGateways()
    net.minecraft.world.level.dimension.end.EndDragonFight.skipArenaLoadedCheck()
    net.minecraft.world.level.gameevent.GameEvent.builtInRegistryHolder()
    net.minecraft.world.level.levelgen.carver.CarvingContext.registryAccess()
    net.minecraft.world.level.levelgen.carver.CarvingContext.topMaterial(Function<BlockPos, Holder<Biome>>, ChunkAccess, BlockPos, boolean)
    net.minecraft.world.level.levelgen.DensityFunctions.Noise.xzScale()
    net.minecraft.world.level.levelgen.NoiseGeneratorSettings.disableMobGeneration()
    net.minecraft.world.level.levelgen.structure.BoundingBox.encapsulate(BlockPos)
    net.minecraft.world.level.levelgen.structure.BoundingBox.encapsulate(BoundingBox)
    net.minecraft.world.level.levelgen.structure.BoundingBox.move(int, int, int)
    net.minecraft.world.level.levelgen.structure.BoundingBox.move(Vec3i)
    net.minecraft.world.level.levelgen.structure.pieces.StructurePiecesBuilder.moveBelowSeaLevel(int, int, RandomSource, int)
    net.minecraft.world.level.levelgen.structure.pieces.StructurePiecesBuilder.moveInsideHeights(RandomSource, int, int)
     
    net.minecraft.world.level.levelgen.structure.pieces.StructurePiecesBuilder.offsetPiecesVertically(int)
    net.minecraft.world.level.levelgen.structure.Structure.getLowestYIn5by5BoxOffset7Blocks(Structure.GenerationContext, Rotation)
    net.minecraft.world.level.levelgen.structure.TemplateStructurePiece.move(int, int, int)
    net.minecraft.world.level.levelgen.structure.templatesystem.StructureProcessor.processBlock(LevelReader, BlockPos, BlockPos, StructureTemplate.StructureBlockInfo, StructureTemplate.StructureBlockInfo, StructurePlaceSettings)
    Forge: Use StructureProcessor.process(LevelReader, BlockPos, BlockPos, StructureTemplate.StructureBlockInfo, StructureTemplate.StructureBlockInfo, StructurePlaceSettings, StructureTemplate) instead.
    net.minecraft.world.level.levelgen.SurfaceSystem.topMaterial(SurfaceRules.RuleSource, CarvingContext, Function<BlockPos, Holder<Biome>>, ChunkAccess, NoiseChunk, BlockPos, boolean)
    net.minecraft.world.level.levelgen.synth.ImprovedNoise.noise(double, double, double, double, double)
    net.minecraft.world.level.levelgen.synth.NormalNoise.createLegacyNetherBiome(RandomSource, NormalNoise.NoiseParameters)
    net.minecraft.world.level.levelgen.synth.PerlinNoise.createLegacyForBlendedNoise(RandomSource, IntStream)
    net.minecraft.world.level.levelgen.synth.PerlinNoise.createLegacyForLegacyNetherBiome(RandomSource, int, DoubleList)
    net.minecraft.world.level.levelgen.synth.PerlinNoise.getValue(double, double, double, double, double, boolean)
    net.minecraft.world.level.LevelReader.getLightLevelDependentMagicValue(BlockPos)
    net.minecraft.world.level.LevelReader.getSeaLevel()
    net.minecraft.world.level.LevelReader.hasChunk(int, int)
    net.minecraft.world.level.LevelReader.hasChunkAt(int, int)
    net.minecraft.world.level.LevelReader.hasChunkAt(BlockPos)
    net.minecraft.world.level.LevelReader.hasChunksAt(int, int, int, int)
    net.minecraft.world.level.LevelReader.hasChunksAt(int, int, int, int, int, int)
    net.minecraft.world.level.LevelReader.hasChunksAt(BlockPos, BlockPos)
    net.minecraft.world.level.material.FlowingFluid.canConvertToSource(Level)
    Forge: Use FlowingFluid.canConvertToSource(FluidState, Level, BlockPos) instead.
    net.minecraft.world.level.material.Fluid.builtInRegistryHolder()
    net.minecraft.world.level.material.Fluid.is(TagKey<Fluid>)
    net.minecraft.world.level.material.FluidState.getExplosionResistance()
    net.minecraft.world.level.material.LavaFluid.isFlammable(LevelReader, BlockPos)
    Forge: use LavaFluid.isFlammable(LevelReader,BlockPos,Direction) instead
    net.minecraft.world.level.storage.loot.functions.SetNbtFunction.setTag(CompoundTag)
    net.minecraft.world.level.storage.loot.LootDataManager.scheduleElementParse(LootDataType<T>, ResourceManager, Executor, Map<LootDataType<?>, Map<ResourceLocation, ?>>)
    Neo: use the variant with a custom codec ops
    net.minecraft.world.level.storage.loot.LootTable.getRandomItemsRaw(LootContext, Consumer<ItemStack>)
    net.minecraft.world.level.storage.loot.LootTable.getRandomItemsRaw(LootParams, Consumer<ItemStack>)
    net.neoforged.neoforge.attachment.IAttachmentSerializer.read(S)
    Implement IAttachmentSerializer.read(IAttachmentHolder, Tag) instead. This method will be removed in a future version.
    net.neoforged.neoforge.client.event.ModelEvent.RegisterGeometryLoaders.register(String, IGeometryLoader<?>)
    Use the RL-explicit variant instead; mod ID inference will be removed in a later update, alongside the move of registration events to the NeoForge main bus
    net.neoforged.neoforge.client.event.RegisterGuiOverlaysEvent.registerAbove(ResourceLocation, String, IGuiOverlay)
    Use the RL-explicit variant instead; mod ID inference will be removed in a later update, alongside the move of registration events to the NeoForge main bus
    net.neoforged.neoforge.client.event.RegisterGuiOverlaysEvent.registerAboveAll(String, IGuiOverlay)
    Use the RL-explicit variant instead; mod ID inference will be removed in a later update, alongside the move of registration events to the NeoForge main bus
    net.neoforged.neoforge.client.event.RegisterGuiOverlaysEvent.registerBelow(ResourceLocation, String, IGuiOverlay)
    Use the RL-explicit variant instead; mod ID inference will be removed in a later update, alongside the move of registration events to the NeoForge main bus
    net.neoforged.neoforge.client.event.RegisterGuiOverlaysEvent.registerBelowAll(String, IGuiOverlay)
    Use the RL-explicit variant instead; mod ID inference will be removed in a later update, alongside the move of registration events to the NeoForge main bus
    net.neoforged.neoforge.client.event.RegisterNamedRenderTypesEvent.register(String, RenderType, RenderType)
    Use the RL-explicit variant instead; mod ID inference will be removed in a later update, alongside the move of registration events to the NeoForge main bus
    net.neoforged.neoforge.client.event.RegisterNamedRenderTypesEvent.register(String, RenderType, RenderType, RenderType)
    Use the RL-explicit variant instead; mod ID inference will be removed in a later update, alongside the move of registration events to the NeoForge main bus
    net.neoforged.neoforge.client.gui.ScreenUtils.drawGradientRect(Matrix4f, int, int, int, int, int, int, int)
    Use GuiGraphics.fillGradient(int, int, int, int, int, int, int) instead
    net.neoforged.neoforge.client.gui.ScreenUtils.drawTexturedModalRect(GuiGraphics, int, int, int, int, int, int, float)
    Use GuiGraphics.blit(ResourceLocation, int, int, int, int, int, int) instead
    net.neoforged.neoforge.client.model.data.MultipartModelData.builder()
    net.neoforged.neoforge.client.model.data.MultipartModelData.get(BakedModel)
    net.neoforged.neoforge.client.model.IModelBuilder.Simple.build()
    net.neoforged.neoforge.client.model.lighting.QuadLighter.getLightColor(BlockAndTintGetter, BlockPos, BlockState)
    net.neoforged.neoforge.client.settings.KeyMappingLookup.get(InputConstants.Key)
    net.neoforged.neoforge.client.settings.KeyMappingLookup.get(InputConstants.Key, KeyModifier)
    net.neoforged.neoforge.common.CommonHooks.deserializeTagAdditions(List<TagEntry>, JsonObject, List<TagEntry>)
    net.neoforged.neoforge.common.CommonHooks.getAttributesView()
    net.neoforged.neoforge.common.CommonHooks.modifyAttributes()
    net.neoforged.neoforge.common.CommonHooks.modifyLoot(List<ItemStack>, LootContext)
    Use CommonHooks.modifyLoot(ResourceLocation, ObjectArrayList, LootContext) instead.
    net.neoforged.neoforge.common.CommonHooks.onLeftClickBlock(Player, BlockPos, Direction)
    Use CommonHooks.onLeftClickBlock(Player, BlockPos, Direction, ServerboundPlayerActionPacket.Action) instead
    net.neoforged.neoforge.common.extensions.IClientCommonPacketListenerExtension.isVanillaConnection()
    Use IClientCommonPacketListenerExtension.getConnectionType() instead
    net.neoforged.neoforge.common.extensions.IItemExtension.onArmorTick(ItemStack, Level, Player)
    Use Item.inventoryTick(ItemStack, Level, Entity, int, boolean) by checking that the slot argument is an armor slot. Armor slots are 36, 37, 38 and 39.
    net.neoforged.neoforge.common.extensions.IItemStackExtension.onArmorTick(Level, Player)
    Use Item.inventoryTick(ItemStack, Level, Entity, int, boolean) by checking that the slot argument is an armor slot. Armor slots are 36, 37, 38 and 39.
    net.neoforged.neoforge.common.extensions.IServerCommonPacketListenerExtension.isVanillaConnection()
    Use IServerCommonPacketListenerExtension.getConnectionType() instead
    net.neoforged.neoforge.common.IExtensibleEnum.init()
    net.neoforged.neoforge.registries.RegisterEvent.RegisterHelper.register(String, T)
    Use the RL-explicit variant instead; mod ID inference will be removed in a later update, alongside the move of registration events to the NeoForge main bus
  • Deprecated Constructors
    Constructor
    Description
    net.minecraft.client.multiplayer.CommonListenerCookie(GameProfile, WorldSessionTelemetryManager, RegistryAccess.Frozen, FeatureFlagSet, String, ServerData, Screen)
    Use CommonListenerCookie(GameProfile, WorldSessionTelemetryManager, RegistryAccess.Frozen, FeatureFlagSet, String, ServerData, Screen, net.neoforged.neoforge.network.connection.ConnectionType) instead, to indicate whether the connection is modded.
    net.minecraft.client.renderer.block.model.ItemOverrides(ModelBaker, BlockModel, List<ItemOverride>)
    Forge: Use ItemOverrides(ModelBaker, UnbakedModel, List, java.util.function.Function)
    net.minecraft.client.renderer.block.model.ItemTransforms(ItemTransform, ItemTransform, ItemTransform, ItemTransform, ItemTransform, ItemTransform, ItemTransform, ItemTransform)
    net.minecraft.client.renderer.chunk.RenderChunkRegion(Level, int, int, RenderChunk[][])
    net.minecraft.client.renderer.ShaderInstance(ResourceProvider, String, VertexFormat)
    net.minecraft.client.resources.model.SimpleBakedModel(List<BakedQuad>, Map<Direction, List<BakedQuad>>, boolean, boolean, boolean, TextureAtlasSprite, ItemTransforms, ItemOverrides)
    Forge: Use variant with RenderTypeGroup
    net.minecraft.data.recipes.RecipeProvider(PackOutput, CompletableFuture<HolderLookup.Provider>)
    net.minecraft.data.registries.RegistriesDatapackGenerator(PackOutput, CompletableFuture<HolderLookup.Provider>)
    net.minecraft.data.tags.BannerPatternTagsProvider(PackOutput, CompletableFuture<HolderLookup.Provider>)
    Forge: Use the mod id variant
    net.minecraft.data.tags.BiomeTagsProvider(PackOutput, CompletableFuture<HolderLookup.Provider>)
    Forge: Use the mod id variant
    net.minecraft.data.tags.CatVariantTagsProvider(PackOutput, CompletableFuture<HolderLookup.Provider>)
    Forge: Use the mod id variant
    net.minecraft.data.tags.DamageTypeTagsProvider(PackOutput, CompletableFuture<HolderLookup.Provider>)
    Forge: Use the mod id variant
    net.minecraft.data.tags.EntityTypeTagsProvider(PackOutput, CompletableFuture<HolderLookup.Provider>)
    Forge: Use the mod id variant
    net.minecraft.data.tags.FlatLevelGeneratorPresetTagsProvider(PackOutput, CompletableFuture<HolderLookup.Provider>)
    Forge: Use the mod id variant
    net.minecraft.data.tags.FluidTagsProvider(PackOutput, CompletableFuture<HolderLookup.Provider>)
    Forge: Use the mod id variant
    net.minecraft.data.tags.GameEventTagsProvider(PackOutput, CompletableFuture<HolderLookup.Provider>)
    Forge: Use the mod id variant
    net.minecraft.data.tags.InstrumentTagsProvider(PackOutput, CompletableFuture<HolderLookup.Provider>)
    Forge: Use the mod id variant
    net.minecraft.data.tags.IntrinsicHolderTagsProvider(PackOutput, ResourceKey<? extends Registry<T>>, CompletableFuture<HolderLookup.Provider>, CompletableFuture<TagsProvider.TagLookup<T>>, Function<T, ResourceKey<T>>)
    net.minecraft.data.tags.IntrinsicHolderTagsProvider(PackOutput, ResourceKey<? extends Registry<T>>, CompletableFuture<HolderLookup.Provider>, Function<T, ResourceKey<T>>)
    net.minecraft.data.tags.ItemTagsProvider(PackOutput, CompletableFuture<HolderLookup.Provider>, CompletableFuture<TagsProvider.TagLookup<Item>>, CompletableFuture<TagsProvider.TagLookup<Block>>)
    Forge: Use the mod id variant
    net.minecraft.data.tags.PaintingVariantTagsProvider(PackOutput, CompletableFuture<HolderLookup.Provider>)
    Forge: Use the mod id variant
    net.minecraft.data.tags.PoiTypeTagsProvider(PackOutput, CompletableFuture<HolderLookup.Provider>)
    Forge: Use the mod id variant
    net.minecraft.data.tags.StructureTagsProvider(PackOutput, CompletableFuture<HolderLookup.Provider>)
    Forge: Use the mod id variant
    net.minecraft.data.tags.TagsProvider(PackOutput, ResourceKey<? extends Registry<T>>, CompletableFuture<HolderLookup.Provider>)
    Forge: Use the mod id variant
    net.minecraft.data.tags.TagsProvider(PackOutput, ResourceKey<? extends Registry<T>>, CompletableFuture<HolderLookup.Provider>, CompletableFuture<TagsProvider.TagLookup<T>>)
    Forge: Use the mod id variant
    net.minecraft.data.tags.WorldPresetTagsProvider(PackOutput, CompletableFuture<HolderLookup.Provider>)
    Forge: Use the mod id variant
    net.minecraft.network.protocol.common.ClientboundCustomPayloadPacket(FriendlyByteBuf)
    Use ClientboundCustomPayloadPacket(FriendlyByteBuf, io.netty.channel.ChannelHandlerContext, net.minecraft.network.ConnectionProtocol) instead, as this variant can only read vanilla payloads.
    net.minecraft.network.protocol.common.ServerboundCustomPayloadPacket(FriendlyByteBuf)
    Use ServerboundCustomPayloadPacket(FriendlyByteBuf, io.netty.channel.ChannelHandlerContext, net.minecraft.network.ConnectionProtocol) instead, as this variant can only read vanilla payloads.
    net.minecraft.network.protocol.handshake.ClientIntentionPacket(int, String, int, ClientIntent)
    net.minecraft.server.network.CommonListenerCookie(GameProfile, int, ClientInformation)
    Use CommonListenerCookie(GameProfile, int, ClientInformation, net.neoforged.neoforge.network.connection.ConnectionType) instead, to indicate whether the connection is modded.
    net.minecraft.tags.TagFile(List<TagEntry>, boolean)
    Forge: Use TagFile(List, boolean, List) which has support for remove entries.
    net.minecraft.tags.TagKey(ResourceKey<? extends Registry<T>>, ResourceLocation)
    net.minecraft.world.food.FoodProperties(int, float, boolean, boolean, boolean, List<Pair<MobEffectInstance, Float>>)
    net.minecraft.world.item.BucketItem(Fluid, Item.Properties)
    net.minecraft.world.item.MobBucketItem(EntityType<?>, Fluid, SoundEvent, Item.Properties)
    net.minecraft.world.item.RecordItem(int, SoundEvent, Item.Properties, int)
    net.minecraft.world.item.SpawnEggItem(EntityType<? extends Mob>, int, int, Item.Properties)
    Forge: Use DeferredSpawnEggItem instead for suppliers
    net.minecraft.world.level.block.FlowerBlock(MobEffect, int, BlockBehaviour.Properties)
    FORGE: Use supplier version instead
    net.minecraft.world.level.block.FlowerPotBlock(Block, BlockBehaviour.Properties)
    net.minecraft.world.level.block.LiquidBlock(FlowingFluid, BlockBehaviour.Properties)
    net.minecraft.world.level.block.SoundType(float, float, SoundEvent, SoundEvent, SoundEvent, SoundEvent, SoundEvent)
    net.minecraft.world.level.block.StairBlock(BlockState, BlockBehaviour.Properties)
    net.minecraft.world.level.storage.loot.LootDataType(Codec<T>, String, LootDataType.Validator<T>)
    Neo: use the constructor with a default value and id setter to support conditions
    net.minecraft.world.phys.shapes.EntityCollisionContext(Entity)
    net.neoforged.neoforge.client.model.generators.CustomLoaderBuilder(ResourceLocation, T, ExistingFileHelper)
    Use CustomLoaderBuilder(ResourceLocation, ModelBuilder, ExistingFileHelper, boolean)} instead
    net.neoforged.neoforge.event.entity.player.PlayerInteractEvent.LeftClickBlock(Player, BlockPos, Direction)