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.client.gui.screens.inventory.LegacySmithingScreen
     
    net.minecraft.client.renderer.block.model.BlockModel.bakeVanilla(ModelBaker, BlockModel, Function<Material, TextureAtlasSprite>, ModelState, ResourceLocation, boolean, RenderTypeGroup)
    Forge: For internal use only. Use BlockModel.bake(ModelBaker, BlockModel, Function, ModelState, ResourceLocation, boolean).
    net.minecraft.client.renderer.ItemBlockRenderTypes.getRenderLayers(BlockState)
    Use IForgeBakedModel.getRenderTypes(BlockState, net.minecraft.util.RandomSource, net.minecraftforge.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 IForgeBakedModel.getRenderTypes(BlockState, net.minecraft.util.RandomSource, net.minecraftforge.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 IForgeBakedModel.getRenderTypes(BlockState, net.minecraft.util.RandomSource, net.minecraftforge.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 IForgeBakedModel.getRenderTypes(BlockState, net.minecraft.util.RandomSource, net.minecraftforge.client.model.data.ModelData)
    net.minecraft.data.recipes.LegacyUpgradeRecipeBuilder
     
    net.minecraft.world.inventory.LegacySmithingMenu
     
    net.minecraft.world.item.crafting.LegacyUpgradeRecipe
     
    net.minecraft.world.level.biome.Biome.BIOME_INFO_NOISE
     
    net.minecraftforge.client.event.RegisterParticleProvidersEvent.register(ParticleType<T>, ParticleEngine.SpriteParticleRegistration<T>)
    Renamed to RegisterParticleProvidersEvent.registerSpriteSet(net.minecraft.core.particles.ParticleType<T>, net.minecraft.client.particle.ParticleEngine.SpriteParticleRegistration<T>)
    net.minecraftforge.client.event.RegisterParticleProvidersEvent.register(ParticleType<T>, ParticleProvider.Sprite<T>)
    Renamed to RegisterParticleProvidersEvent.registerSprite(net.minecraft.core.particles.ParticleType<T>, net.minecraft.client.particle.ParticleProvider.Sprite<T>)
    net.minecraftforge.client.event.RegisterParticleProvidersEvent.register(ParticleType<T>, ParticleProvider<T>)
    Renamed to RegisterParticleProvidersEvent.registerSpecial(net.minecraft.core.particles.ParticleType<T>, net.minecraft.client.particle.ParticleProvider<T>)
    net.minecraftforge.client.event.RenderLevelLastEvent
    Use RenderLevelStageEvent instead for more flexibility and improved compatibility with translucent objects. There is no RenderLevelStageEvent.Stage that directly replaces this event, instead you must decide which Stage best fits your use case.
    net.minecraftforge.client.extensions.IForgeTransformation.push(PoseStack)
    Use IForgePoseStack.pushTransformation(Transformation), as Transformation can be present in common code.
    net.minecraftforge.client.ForgeHooksClient.dispatchRenderLast(LevelRenderer, PoseStack, float, Matrix4f, long)
    net.minecraftforge.client.IItemDecorator.render(Font, ItemStack, int, int, float)
    net.minecraftforge.client.model.DynamicFluidContainerModel.Loader.INSTANCE_DEPRECATED
    net.minecraftforge.client.model.ElementsModel.Loader.INSTANCE_DEPRECATED
    net.minecraftforge.client.model.generators.BlockModelBuilder.rootTransform()
    Use ModelBuilder.rootTransforms() instead
    net.minecraftforge.client.model.generators.BlockModelBuilder.RootTransformBuilder
    Use ModelBuilder.RootTransformsBuilder instead via ModelBuilder.rootTransforms()
    net.minecraftforge.client.model.generators.BlockModelBuilder.RootTransformBuilder.TransformOrigin
    Use TransformationHelper.TransformOrigin instead
    net.minecraftforge.client.model.geometry.UnbakedGeometryHelper.bakeVanilla(BlockModel, ModelBaker, BlockModel, Function<Material, TextureAtlasSprite>, ModelState, ResourceLocation)
    Merge into the method above in 1.20 once the call from BlockModel is gone.
    net.minecraftforge.client.model.IQuadTransformer.applying(Transformation)
    Use QuadTransformers.applying(Transformation)
    net.minecraftforge.client.model.IQuadTransformer.applyingLightmap(int)
    Use QuadTransformers.applyingLightmap(int)
    net.minecraftforge.client.model.IQuadTransformer.empty()
    Use QuadTransformers.empty()
    net.minecraftforge.client.model.SeparateTransformsModel.Loader.INSTANCE_DEPRECATED
    net.minecraftforge.common.extensions.IForgeItem.onUsingTick(ItemStack, LivingEntity, int)
    Implement Vanilla's Version
    net.minecraftforge.common.extensions.IForgeItemStack.onUsingTick(LivingEntity, int)
    Use Vanilla's Version
    net.minecraftforge.common.extensions.IForgePlayer.canHit(Entity, double)
    use IForgePlayer.canReach(Entity, double)h
    net.minecraftforge.common.extensions.IForgePlayer.canInteractWith(BlockPos, double)
    use IForgePlayer.canReach(BlockPos, double)
    net.minecraftforge.common.extensions.IForgePlayer.canInteractWith(Entity, double)
    use IForgePlayer.canReach(Entity, double)h
    net.minecraftforge.common.extensions.IForgePlayer.getAttackRange()
    Use IForgePlayer.getEntityReach()
    net.minecraftforge.common.extensions.IForgePlayer.getReachDistance()
    use IForgePlayer.getBlockReach()
    net.minecraftforge.common.ForgeConfig.Common.cachePackAccess
    net.minecraftforge.common.ForgeConfig.Common.indexModPackCachesOnThread
    net.minecraftforge.common.ForgeConfig.Common.indexVanillaPackCachesOnThread
    net.minecraftforge.common.ForgeHooks.onAdvancement(ServerPlayer, Advancement)
    See ForgeEventFactory.onAdvancementEarnedEvent(net.minecraft.world.entity.player.Player, net.minecraft.advancements.Advancement) and ForgeEventFactory.onAdvancementProgressedEvent(net.minecraft.world.entity.player.Player, net.minecraft.advancements.Advancement, net.minecraft.advancements.AdvancementProgress, java.lang.String, net.minecraftforge.event.entity.player.AdvancementEvent.AdvancementProgressEvent.ProgressType)
    net.minecraftforge.common.ForgeHooks.onLivingSetAttackTarget(LivingEntity, LivingEntity)
    net.minecraftforge.common.ForgeHooks.onLivingSetAttackTarget(LivingEntity, LivingEntity, LivingChangeTargetEvent.ILivingTargetType)
    net.minecraftforge.common.ForgeHooks.readAdditionalLevelSaveData(CompoundTag)
    To be removed in 1.20. Use ForgeHooks.readAdditionalLevelSaveData(CompoundTag, LevelStorageSource.LevelDirectory) instead.
    net.minecraftforge.common.ForgeMod.addAlias(IForgeRegistry<T>, ResourceLocation, ResourceLocation)
    net.minecraftforge.common.ForgeMod.ATTACK_RANGE
    - use ForgeMod.ENTITY_REACH
    net.minecraftforge.common.ForgeMod.REACH_DISTANCE
    - use ForgeMod.BLOCK_REACH
    net.minecraftforge.common.Tags.Items.TOOLS_AXES
    Replaced by net.minecraft.tags.ItemTags#AXES
    net.minecraftforge.common.Tags.Items.TOOLS_HOES
    Replaced by net.minecraft.tags.ItemTags#HOES
    net.minecraftforge.common.Tags.Items.TOOLS_PICKAXES
    Replaced by net.minecraft.tags.ItemTags#PICKAXES
    net.minecraftforge.common.Tags.Items.TOOLS_SHOVELS
    Replaced by net.minecraft.tags.ItemTags#SHOVELS
    net.minecraftforge.common.Tags.Items.TOOLS_SWORDS
    Replaced by net.minecraft.tags.ItemTags#SWORDS
    net.minecraftforge.common.world.ModifiableBiomeInfo.BiomeInfo.Builder.getEffects()
    Use ModifiableBiomeInfo.BiomeInfo.Builder.getSpecialEffects() as it provides read access. TODO remove this by 1.20
    net.minecraftforge.energy.CapabilityEnergy
    net.minecraftforge.energy.CapabilityEnergy.ENERGY
    Create your own reference using CapabilityManager.get(CapabilityToken), or use ForgeCapabilities.ENERGY.
    net.minecraftforge.event.entity.EntityTeleportEvent.EnderPearl(ServerPlayer, double, double, double, ThrownEnderpearl, float)
    Use EnderPearl(ServerPlayer, double, double, double, ThrownEnderpearl, float, HitResult) the hit result-sensitive version}.
    net.minecraftforge.event.entity.living.LivingSetAttackTargetEvent
    net.minecraftforge.event.entity.player.PlayerEvent.BreakSpeed.getPos()
    net.minecraftforge.event.ForgeEventFactory.onEnderPearlLand(ServerPlayer, double, double, double, ThrownEnderpearl, float)
    Use the hit result-sensitive version.
    net.minecraftforge.event.ForgeEventFactory.saplingGrowTree(LevelAccessor, RandomSource, BlockPos)
    net.minecraftforge.event.level.ChunkEvent.Load(ChunkAccess)
    net.minecraftforge.event.level.SaplingGrowTreeEvent(LevelAccessor, RandomSource, BlockPos)
    net.minecraftforge.fluids.capability.CapabilityFluidHandler
    net.minecraftforge.fluids.capability.CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY
    Create your own reference using CapabilityManager.get(CapabilityToken), or use ForgeCapabilities.FLUID_HANDLER.
    net.minecraftforge.fluids.capability.CapabilityFluidHandler.FLUID_HANDLER_ITEM_CAPABILITY
    Create your own reference using CapabilityManager.get(CapabilityToken), or use ForgeCapabilities.FLUID_HANDLER_ITEM.
    net.minecraftforge.fml.loading.FileUtils.getOrCreateDirectory(Path, String)
    Use normal Java NIO methods instead
    net.minecraftforge.fml.loading.FMLPaths.getOrCreateGameRelativePath(Path, String)
    Use FMLPaths.getOrCreateGameRelativePath(Path) instead.
    net.minecraftforge.fml.loading.moddiscovery.ModFile.DEFAULTMANIFEST
    net.minecraftforge.fml.loading.moddiscovery.ModJarMetadata.buildFile(Function<SecureJar, IModFile>, Predicate<SecureJar>, BiPredicate<String, String>, Path...)
    net.minecraftforge.fml.loading.moddiscovery.ModJarMetadata.buildFile(IModLocator, Path...)
    net.minecraftforge.fml.loading.moddiscovery.ModJarMetadata.buildFile(IModLocator, Predicate<SecureJar>, BiPredicate<String, String>, Path...)
    net.minecraftforge.items.CapabilityItemHandler
    net.minecraftforge.items.CapabilityItemHandler.ITEM_HANDLER_CAPABILITY
    Create your own reference using CapabilityManager.get(CapabilityToken), or use ForgeCapabilities.ITEM_HANDLER.
    net.minecraftforge.network.simple.SimpleChannel.MessageBuilder.consumer(BiConsumer<MSG, Supplier<NetworkEvent.Context>>)
    Use SimpleChannel.MessageBuilder.consumerMainThread(BiConsumer) or SimpleChannel.MessageBuilder.consumerNetworkThread(BiConsumer).
    net.minecraftforge.network.simple.SimpleChannel.MessageBuilder.consumer(SimpleChannel.MessageBuilder.ToBooleanBiFunction<MSG, Supplier<NetworkEvent.Context>>)
    Use SimpleChannel.MessageBuilder.consumerMainThread(BiConsumer) or SimpleChannel.MessageBuilder.consumerNetworkThread(BiConsumer).
    net.minecraftforge.registries.ForgeRegistry.addDummy(ResourceLocation)
    net.minecraftforge.registries.ForgeRegistry.createAndAddDummy(ResourceLocation, int)
    net.minecraftforge.registries.ForgeRegistry.dummies
    net.minecraftforge.registries.ForgeRegistry.dummyFactory
    net.minecraftforge.registries.ForgeRegistry.DumpRow.dummied
    net.minecraftforge.registries.ForgeRegistry.isDummied(ResourceLocation)
    net.minecraftforge.registries.ForgeRegistry.markDummy(ResourceLocation, int)
    net.minecraftforge.registries.ForgeRegistry.Snapshot.dummied
    net.minecraftforge.registries.GameData.BlockCallbacks.createDummy(ResourceLocation)
    net.minecraftforge.registries.GameData.BlockCallbacks.DummyAirBlock
    net.minecraftforge.registries.IForgeRegistry.DummyFactory
    Dummies are being removed due to lack of use and high maintenance cost. There will not be an equivalent replacement feature added.
    net.minecraftforge.registries.RegistryBuilder.dummy(IForgeRegistry.DummyFactory<T>)
    net.minecraftforge.registries.RegistryBuilder.dummyFactory
    net.minecraftforge.registries.RegistryBuilder.getDummyFactory()
    net.minecraftforge.registries.RegistryBuilder.set(IForgeRegistry.DummyFactory<T>)
  • Deprecated Interfaces
    Interface
    Description
    net.minecraft.client.renderer.item.ItemPropertyFunction
     
    net.minecraft.core.particles.ParticleOptions.Deserializer
     
    net.minecraft.world.entity.Shearable
    net.minecraftforge.registries.IForgeRegistry.DummyFactory
    Dummies are being removed due to lack of use and high maintenance cost. There will not be an equivalent replacement feature added.
  • Deprecated Classes
    Class
    Description
    net.minecraft.client.gui.screens.inventory.LegacySmithingScreen
     
    net.minecraft.data.advancements.AdvancementProvider
    Forge: Use ForgeAdvancementProvider instead, provides ease of access for the ExistingFileHelper in the generator
    net.minecraft.data.recipes.LegacyUpgradeRecipeBuilder
     
    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.inventory.LegacySmithingMenu
     
    net.minecraft.world.item.crafting.LegacyUpgradeRecipe
     
    net.minecraft.world.level.levelgen.feature.LakeFeature
     
    net.minecraft.world.level.levelgen.placement.CountOnEveryLayerPlacement
     
    net.minecraft.world.level.levelgen.ThreadSafeLegacyRandomSource
     
    net.minecraftforge.client.event.RenderLevelLastEvent
    Use RenderLevelStageEvent instead for more flexibility and improved compatibility with translucent objects. There is no RenderLevelStageEvent.Stage that directly replaces this event, instead you must decide which Stage best fits your use case.
    net.minecraftforge.client.model.generators.BlockModelBuilder.RootTransformBuilder
    Use ModelBuilder.RootTransformsBuilder instead via ModelBuilder.rootTransforms()
    net.minecraftforge.energy.CapabilityEnergy
    net.minecraftforge.event.entity.living.LivingSetAttackTargetEvent
    net.minecraftforge.event.entity.player.AdvancementEvent
    Use AdvancementEvent.AdvancementEarnEvent and AdvancementEvent.AdvancementProgressEvent instead
    net.minecraftforge.fluids.capability.CapabilityFluidHandler
    net.minecraftforge.items.CapabilityItemHandler
    net.minecraftforge.registries.GameData.BlockCallbacks.DummyAirBlock
  • Deprecated Enum Classes
    Enum Class
    Description
    net.minecraft.world.level.storage.PrimaryLevelData.SpecialWorldProperty
     
    net.minecraftforge.client.model.generators.BlockModelBuilder.RootTransformBuilder.TransformOrigin
    Use TransformationHelper.TransformOrigin instead
  • 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.block.model.BlockElement.faceData
    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.core.registries.BuiltInRegistries.ACTIVITY
    Forge: Use ForgeRegistries.ACTIVITIES instead.
    net.minecraft.core.registries.BuiltInRegistries.ATTRIBUTE
    Forge: Use ForgeRegistries.ATTRIBUTES instead.
    net.minecraft.core.registries.BuiltInRegistries.BLOCK
    Forge: Use ForgeRegistries.BLOCKS instead.
    net.minecraft.core.registries.BuiltInRegistries.BLOCK_ENTITY_TYPE
    Forge: Use ForgeRegistries.BLOCK_ENTITY_TYPES instead.
    net.minecraft.core.registries.BuiltInRegistries.BLOCKSTATE_PROVIDER_TYPE
    Forge: Use ForgeRegistries.BLOCK_STATE_PROVIDER_TYPES instead.
    net.minecraft.core.registries.BuiltInRegistries.CARVER
    Forge: Use ForgeRegistries.WORLD_CARVERS instead.
    net.minecraft.core.registries.BuiltInRegistries.CHUNK_STATUS
    Forge: Use ForgeRegistries.CHUNK_STATUS instead.
    net.minecraft.core.registries.BuiltInRegistries.COMMAND_ARGUMENT_TYPE
    Forge: Use ForgeRegistries.COMMAND_ARGUMENT_TYPES instead.
    net.minecraft.core.registries.BuiltInRegistries.ENCHANTMENT
    Forge: Use ForgeRegistries.ENCHANTMENTS instead.
    net.minecraft.core.registries.BuiltInRegistries.ENTITY_TYPE
    Forge: Use ForgeRegistries.ENTITY_TYPES instead.
    net.minecraft.core.registries.BuiltInRegistries.FEATURE
    Forge: Use ForgeRegistries.FEATURES instead.
    net.minecraft.core.registries.BuiltInRegistries.FLUID
    Forge: Use ForgeRegistries.FLUIDS instead.
    net.minecraft.core.registries.BuiltInRegistries.FOLIAGE_PLACER_TYPE
    Forge: Use ForgeRegistries.FOLIAGE_PLACER_TYPES instead.
    net.minecraft.core.registries.BuiltInRegistries.ITEM
    Forge: Use ForgeRegistries.ITEMS instead.
    net.minecraft.core.registries.BuiltInRegistries.MEMORY_MODULE_TYPE
    Forge: Use ForgeRegistries.MEMORY_MODULE_TYPES instead.
    net.minecraft.core.registries.BuiltInRegistries.MENU
    Forge: Use ForgeRegistries.MENU_TYPES instead.
    net.minecraft.core.registries.BuiltInRegistries.MOB_EFFECT
    Forge: Use ForgeRegistries.MOB_EFFECTS instead.
    net.minecraft.core.registries.BuiltInRegistries.PAINTING_VARIANT
    Forge: Use ForgeRegistries.PAINTING_VARIANTS instead.
    net.minecraft.core.registries.BuiltInRegistries.PARTICLE_TYPE
    Forge: Use ForgeRegistries.PARTICLE_TYPES instead.
    net.minecraft.core.registries.BuiltInRegistries.POINT_OF_INTEREST_TYPE
    Forge: Use ForgeRegistries.POI_TYPES instead.
    net.minecraft.core.registries.BuiltInRegistries.POTION
    Forge: Use ForgeRegistries.POTIONS instead.
    net.minecraft.core.registries.BuiltInRegistries.RECIPE_SERIALIZER
    Forge: Use ForgeRegistries.RECIPE_SERIALIZERS instead.
    net.minecraft.core.registries.BuiltInRegistries.RECIPE_TYPE
    Forge: Use ForgeRegistries.RECIPE_TYPES instead.
    net.minecraft.core.registries.BuiltInRegistries.SCHEDULE
    Forge: Use ForgeRegistries.SCHEDULES instead.
    net.minecraft.core.registries.BuiltInRegistries.SENSOR_TYPE
    Forge: Use ForgeRegistries.SENSOR_TYPES instead.
    net.minecraft.core.registries.BuiltInRegistries.SOUND_EVENT
    Forge: Use ForgeRegistries.SOUND_EVENTS instead.
    net.minecraft.core.registries.BuiltInRegistries.STAT_TYPE
    Forge: Use ForgeRegistries.STAT_TYPES instead.
    net.minecraft.core.registries.BuiltInRegistries.TREE_DECORATOR_TYPE
    Forge: Use ForgeRegistries.TREE_DECORATOR_TYPES instead.
    net.minecraft.core.registries.BuiltInRegistries.VILLAGER_PROFESSION
    Forge: Use ForgeRegistries.VILLAGER_PROFESSIONS instead.
    net.minecraft.data.worldgen.NoiseData.DEFAULT_SHIFT
     
    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.world.entity.Entity.fluidHeight
    net.minecraft.world.entity.Entity.fluidOnEyes
    net.minecraft.world.entity.Entity.maxUpStep
    net.minecraft.world.entity.Entity.type
    net.minecraft.world.item.BlockItem.block
     
    net.minecraft.world.item.HoeItem.TILLABLES
    Forge: This map is patched out of vanilla code. Listen to net.minecraftforge.event.world.BlockEvent.BlockToolModificationEvent or override IForgeBlock.getToolModifiedState(BlockState, UseOnContext, net.minecraftforge.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.LiquidBlock.fluid
    net.minecraft.world.level.chunk.ChunkAccess.carverBiomeSettings
     
    net.minecraft.world.level.Level.threadSafeRandom
     
    net.minecraftforge.client.model.DynamicFluidContainerModel.Loader.INSTANCE_DEPRECATED
    net.minecraftforge.client.model.ElementsModel.Loader.INSTANCE_DEPRECATED
    net.minecraftforge.client.model.SeparateTransformsModel.Loader.INSTANCE_DEPRECATED
    net.minecraftforge.common.ForgeConfig.Common.cachePackAccess
    net.minecraftforge.common.ForgeConfig.Common.indexModPackCachesOnThread
    net.minecraftforge.common.ForgeConfig.Common.indexVanillaPackCachesOnThread
    net.minecraftforge.common.ForgeMod.ATTACK_RANGE
    - use ForgeMod.ENTITY_REACH
    net.minecraftforge.common.ForgeMod.REACH_DISTANCE
    - use ForgeMod.BLOCK_REACH
    net.minecraftforge.common.Tags.Items.TOOLS_AXES
    Replaced by net.minecraft.tags.ItemTags#AXES
    net.minecraftforge.common.Tags.Items.TOOLS_HOES
    Replaced by net.minecraft.tags.ItemTags#HOES
    net.minecraftforge.common.Tags.Items.TOOLS_PICKAXES
    Replaced by net.minecraft.tags.ItemTags#PICKAXES
    net.minecraftforge.common.Tags.Items.TOOLS_SHOVELS
    Replaced by net.minecraft.tags.ItemTags#SHOVELS
    net.minecraftforge.common.Tags.Items.TOOLS_SWORDS
    Replaced by net.minecraft.tags.ItemTags#SWORDS
    net.minecraftforge.energy.CapabilityEnergy.ENERGY
    Create your own reference using CapabilityManager.get(CapabilityToken), or use ForgeCapabilities.ENERGY.
    net.minecraftforge.fluids.capability.CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY
    Create your own reference using CapabilityManager.get(CapabilityToken), or use ForgeCapabilities.FLUID_HANDLER.
    net.minecraftforge.fluids.capability.CapabilityFluidHandler.FLUID_HANDLER_ITEM_CAPABILITY
    Create your own reference using CapabilityManager.get(CapabilityToken), or use ForgeCapabilities.FLUID_HANDLER_ITEM.
    net.minecraftforge.fml.loading.moddiscovery.ModFile.DEFAULTMANIFEST
    net.minecraftforge.items.CapabilityItemHandler.ITEM_HANDLER_CAPABILITY
    Create your own reference using CapabilityManager.get(CapabilityToken), or use ForgeCapabilities.ITEM_HANDLER.
    net.minecraftforge.registries.ForgeRegistry.dummies
    net.minecraftforge.registries.ForgeRegistry.dummyFactory
    net.minecraftforge.registries.ForgeRegistry.DumpRow.dummied
    net.minecraftforge.registries.ForgeRegistry.Snapshot.dummied
    net.minecraftforge.registries.RegistryBuilder.dummyFactory
  • Deprecated Methods
    Method
    Description
    com.mojang.blaze3d.platform.NativeImage.makePixelArray()
     
    com.mojang.blaze3d.systems.RenderSystem.runAsFancy(Runnable)
     
    net.minecraft.advancements.Advancement.Builder.fromJson(JsonObject, DeserializationContext)
    Forge: use overload with context.
    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.screens.inventory.tooltip.TooltipRenderUtil.renderRectangle(TooltipRenderUtil.BlitPainter, Matrix4f, BufferBuilder, int, int, int, int, int, int)
    Forge: Use gradient overload instead
    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.renderBatched(BlockState, BlockPos, BlockAndTintGetter, PoseStack, VertexConsumer, boolean, RandomSource)
    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.bakeVanilla(ModelBaker, BlockModel, Function<Material, TextureAtlasSprite>, ModelState, ResourceLocation, boolean, RenderTypeGroup)
    Forge: For internal use only. 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 IForgeBakedModel.getRenderTypes(BlockState, net.minecraft.util.RandomSource, net.minecraftforge.client.model.data.ModelData).
    net.minecraft.client.renderer.ItemBlockRenderTypes.getMovingBlockRenderType(BlockState)
    Forge: Use RenderTypeHelper.getMovingBlockRenderType(RenderType) while iterating through IForgeBakedModel.getRenderTypes(BlockState, net.minecraft.util.RandomSource, net.minecraftforge.client.model.data.ModelData).
    net.minecraft.client.renderer.ItemBlockRenderTypes.getRenderLayers(BlockState)
    Use IForgeBakedModel.getRenderTypes(BlockState, net.minecraft.util.RandomSource, net.minecraftforge.client.model.data.ModelData).
    net.minecraft.client.renderer.ItemBlockRenderTypes.getRenderType(ItemStack, boolean)
    Forge: Use IForgeBakedModel.getRenderPasses(ItemStack, boolean) and IForgeBakedModel.getRenderTypes(ItemStack, boolean).
    net.minecraft.client.renderer.ItemBlockRenderTypes.getRenderType(BlockState, boolean)
    Forge: Use RenderTypeHelper.getEntityRenderType(RenderType, boolean) while iterating through IForgeBakedModel.getRenderTypes(BlockState, net.minecraft.util.RandomSource, net.minecraftforge.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 IForgeBakedModel.getRenderTypes(BlockState, net.minecraft.util.RandomSource, net.minecraftforge.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 IForgeBakedModel.getRenderTypes(BlockState, net.minecraft.util.RandomSource, net.minecraftforge.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 IForgeBakedModel.getRenderTypes(BlockState, net.minecraft.util.RandomSource, net.minecraftforge.client.model.data.ModelData)
    net.minecraft.client.renderer.LevelRenderer.playStreamingMusic(SoundEvent, BlockPos)
    net.minecraft.client.resources.LegacyStuffWrapper.getPixels(ResourceManager, ResourceLocation)
     
    net.minecraft.client.resources.model.BakedModel.getParticleIcon()
    Forge: Use IForgeBakedModel.getParticleIcon(net.minecraftforge.client.model.data.ModelData)
    net.minecraft.client.resources.model.BakedModel.getQuads(BlockState, Direction, RandomSource)
    Forge: Use IForgeBakedModel.getQuads(BlockState, Direction, RandomSource, net.minecraftforge.client.model.data.ModelData, net.minecraft.client.renderer.RenderType)
    net.minecraft.client.resources.model.BakedModel.getTransforms()
    Forge: Use IForgeBakedModel.applyTransform(ItemTransforms.TransformType, com.mojang.blaze3d.vertex.PoseStack, boolean) instead
    net.minecraft.client.resources.model.ModelBaker.bake(ResourceLocation, ModelState)
    Forge: Use IForgeModelBaker.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.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.data.recipes.RecipeProvider.legacyNetheriteSmithing(Consumer<FinishedRecipe>, Item, RecipeCategory, Item)
     
    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.FriendlyByteBuf.readWithCodec(DynamicOps<Tag>, Codec<T>)
     
    net.minecraft.network.FriendlyByteBuf.writeWithCodec(DynamicOps<Tag>, Codec<T>, T)
     
    net.minecraft.server.level.ServerLevel.getEntityOrPart(int)
     
    net.minecraft.server.level.WorldGenRegion.getLevel()
     
    net.minecraft.server.MinecraftServer.forgeGetWorldMap()
    net.minecraft.server.MinecraftServer.markWorldsDirty()
    net.minecraft.server.packs.metadata.pack.PackMetadataSection.getPackFormat()
    Forge: Use PackMetadataSection.getPackFormat(net.minecraft.server.packs.PackType) instead.
    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.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 IForgeBlockState.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.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.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()
    net.minecraft.world.entity.Shearable.shear(SoundSource)
    net.minecraft.world.entity.SpawnPlacements.register(EntityType<T>, SpawnPlacements.Type, Heightmap.Types, SpawnPlacements.SpawnPredicate<T>)
    net.minecraft.world.food.FoodData.eat(Item, ItemStack)
    net.minecraft.world.food.FoodProperties.Builder.effect(MobEffectInstance, float)
    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.getBackgroundSuffix()
    net.minecraft.world.item.DiggerItem.isCorrectToolForDrops(BlockState)
    net.minecraft.world.item.DispensibleContainerItem.emptyContents(Player, Level, BlockPos, BlockHitResult)
    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 IForgeItemStack.getEnchantmentLevel(Enchantment)
    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.SpawnEggItem.byId(EntityType<?>)
    Forge: call ForgeSpawnEggItem.fromEntityType(EntityType) instead
    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(BlockGetter, BlockPos, BlockState)
    net.minecraft.world.level.block.Block.getExplosionResistance()
    net.minecraft.world.level.block.Block.getSoundType(BlockState)
    net.minecraft.world.level.block.BucketPickup.getPickupSound()
    net.minecraft.world.level.block.entity.AbstractFurnaceBlockEntity.getFuel()
    Forge: get burn times by calling ForgeHooks#getBurnTime(ItemStack)
    net.minecraft.world.level.block.entity.BlockEntity.setBlockState(BlockState)
     
    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.getLightEmission()
    use IForgeBlockState.getLightEmission(BlockGetter, BlockPos)
    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 IForgeBlockState.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, LootContext.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.getPistonPushReaction(BlockState)
     
    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.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.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.ChunkGenerator.getBiomeGenerationSettings(Holder<Biome>)
     
    net.minecraft.world.level.chunk.LevelChunk.addEntity(Entity)
     
    net.minecraft.world.level.chunk.LevelChunk.readCapsFromNBT(CompoundTag)
    net.minecraft.world.level.chunk.LevelChunk.writeCapsToNBT()
    net.minecraft.world.level.dimension.DimensionType.parseLegacy(Dynamic<?>)
     
    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.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)
    net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate.processBlockInfos(LevelAccessor, BlockPos, BlockPos, StructurePlaceSettings, List<StructureTemplate.StructureBlockInfo>)
    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.LevelReader.isAreaLoaded(BlockPos, int)
     
    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.LootTable.getRandomItems(LootContext, Consumer<ItemStack>)
    net.minecraftforge.client.event.RegisterParticleProvidersEvent.register(ParticleType<T>, ParticleEngine.SpriteParticleRegistration<T>)
    Renamed to RegisterParticleProvidersEvent.registerSpriteSet(net.minecraft.core.particles.ParticleType<T>, net.minecraft.client.particle.ParticleEngine.SpriteParticleRegistration<T>)
    net.minecraftforge.client.event.RegisterParticleProvidersEvent.register(ParticleType<T>, ParticleProvider.Sprite<T>)
    Renamed to RegisterParticleProvidersEvent.registerSprite(net.minecraft.core.particles.ParticleType<T>, net.minecraft.client.particle.ParticleProvider.Sprite<T>)
    net.minecraftforge.client.event.RegisterParticleProvidersEvent.register(ParticleType<T>, ParticleProvider<T>)
    Renamed to RegisterParticleProvidersEvent.registerSpecial(net.minecraft.core.particles.ParticleType<T>, net.minecraft.client.particle.ParticleProvider<T>)
    net.minecraftforge.client.extensions.IForgeTransformation.push(PoseStack)
    Use IForgePoseStack.pushTransformation(Transformation), as Transformation can be present in common code.
    net.minecraftforge.client.ForgeHooksClient.dispatchRenderLast(LevelRenderer, PoseStack, float, Matrix4f, long)
    net.minecraftforge.client.IItemDecorator.render(Font, ItemStack, int, int, float)
    net.minecraftforge.client.model.generators.BlockModelBuilder.rootTransform()
    Use ModelBuilder.rootTransforms() instead
    net.minecraftforge.client.model.geometry.UnbakedGeometryHelper.bakeVanilla(BlockModel, ModelBaker, BlockModel, Function<Material, TextureAtlasSprite>, ModelState, ResourceLocation)
    Merge into the method above in 1.20 once the call from BlockModel is gone.
    net.minecraftforge.client.model.IModelBuilder.Simple.build()
    net.minecraftforge.client.model.IQuadTransformer.applying(Transformation)
    Use QuadTransformers.applying(Transformation)
    net.minecraftforge.client.model.IQuadTransformer.applyingLightmap(int)
    Use QuadTransformers.applyingLightmap(int)
    net.minecraftforge.client.model.IQuadTransformer.empty()
    Use QuadTransformers.empty()
    net.minecraftforge.common.crafting.AbstractIngredient.fromJson(JsonElement)
    use Ingredient.fromJson(JsonElement) (Stream)}
    net.minecraftforge.common.crafting.AbstractIngredient.fromNetwork(FriendlyByteBuf)
    use Ingredient.fromNetwork(FriendlyByteBuf)
    net.minecraftforge.common.crafting.AbstractIngredient.fromValues(Stream<? extends Ingredient.Value>)
    use Ingredient.fromValues(Stream)
    net.minecraftforge.common.crafting.AbstractIngredient.of()
    use Ingredient.of()
    net.minecraftforge.common.crafting.AbstractIngredient.of(Stream<ItemStack>)
    use Ingredient.of(Stream) (Stream)}
    net.minecraftforge.common.crafting.AbstractIngredient.of(TagKey<Item>)
    use Ingredient.of(TagKey) (Stream)}
    net.minecraftforge.common.crafting.AbstractIngredient.of(ItemStack...)
    use Ingredient.of(ItemStack...) (Stream)}
    net.minecraftforge.common.crafting.AbstractIngredient.of(ItemLike...)
    use Ingredient.of(ItemLike...) (Stream)}
    net.minecraftforge.common.extensions.IForgeItem.onUsingTick(ItemStack, LivingEntity, int)
    Implement Vanilla's Version
    net.minecraftforge.common.extensions.IForgeItemStack.onUsingTick(LivingEntity, int)
    Use Vanilla's Version
    net.minecraftforge.common.extensions.IForgePlayer.canHit(Entity, double)
    use IForgePlayer.canReach(Entity, double)h
    net.minecraftforge.common.extensions.IForgePlayer.canInteractWith(BlockPos, double)
    use IForgePlayer.canReach(BlockPos, double)
    net.minecraftforge.common.extensions.IForgePlayer.canInteractWith(Entity, double)
    use IForgePlayer.canReach(Entity, double)h
    net.minecraftforge.common.extensions.IForgePlayer.getAttackRange()
    Use IForgePlayer.getEntityReach()
    net.minecraftforge.common.extensions.IForgePlayer.getReachDistance()
    use IForgePlayer.getBlockReach()
    net.minecraftforge.common.ForgeHooks.getAttributesView()
    net.minecraftforge.common.ForgeHooks.modifyAttributes()
    net.minecraftforge.common.ForgeHooks.modifyLoot(List<ItemStack>, LootContext)
    Use ForgeHooks.modifyLoot(ResourceLocation, ObjectArrayList, LootContext) instead.
    net.minecraftforge.common.ForgeHooks.onAdvancement(ServerPlayer, Advancement)
    See ForgeEventFactory.onAdvancementEarnedEvent(net.minecraft.world.entity.player.Player, net.minecraft.advancements.Advancement) and ForgeEventFactory.onAdvancementProgressedEvent(net.minecraft.world.entity.player.Player, net.minecraft.advancements.Advancement, net.minecraft.advancements.AdvancementProgress, java.lang.String, net.minecraftforge.event.entity.player.AdvancementEvent.AdvancementProgressEvent.ProgressType)
    net.minecraftforge.common.ForgeHooks.onLivingSetAttackTarget(LivingEntity, LivingEntity)
    net.minecraftforge.common.ForgeHooks.onLivingSetAttackTarget(LivingEntity, LivingEntity, LivingChangeTargetEvent.ILivingTargetType)
    net.minecraftforge.common.ForgeHooks.readAdditionalLevelSaveData(CompoundTag)
    To be removed in 1.20. Use ForgeHooks.readAdditionalLevelSaveData(CompoundTag, LevelStorageSource.LevelDirectory) instead.
    net.minecraftforge.common.ForgeMod.addAlias(IForgeRegistry<T>, ResourceLocation, ResourceLocation)
    net.minecraftforge.common.IExtensibleEnum.init()
    net.minecraftforge.common.world.ModifiableBiomeInfo.BiomeInfo.Builder.getEffects()
    Use ModifiableBiomeInfo.BiomeInfo.Builder.getSpecialEffects() as it provides read access. TODO remove this by 1.20
    net.minecraftforge.event.entity.player.PlayerEvent.BreakSpeed.getPos()
    net.minecraftforge.event.ForgeEventFactory.onEnderPearlLand(ServerPlayer, double, double, double, ThrownEnderpearl, float)
    Use the hit result-sensitive version.
    net.minecraftforge.event.ForgeEventFactory.saplingGrowTree(LevelAccessor, RandomSource, BlockPos)
    net.minecraftforge.fml.DistExecutor.callWhenOn(Dist, Supplier<Callable<T>>)
    use DistExecutor.safeCallWhenOn(Dist, Supplier) instead. This remains for advanced use cases.
    net.minecraftforge.fml.DistExecutor.runForDist(Supplier<Supplier<T>>, Supplier<Supplier<T>>)
    Use DistExecutor.safeRunForDist(Supplier, Supplier)
    net.minecraftforge.fml.DistExecutor.runWhenOn(Dist, Supplier<Runnable>)
    use DistExecutor.safeRunWhenOn(Dist, Supplier) where possible. Advanced uses only.
    net.minecraftforge.fml.InterModComms.IMCMessage.getMessageSupplier()
    net.minecraftforge.fml.InterModComms.IMCMessage.getMethod()
    net.minecraftforge.fml.InterModComms.IMCMessage.getModId()
    net.minecraftforge.fml.InterModComms.IMCMessage.getSenderModId()
    net.minecraftforge.fml.loading.FileUtils.getOrCreateDirectory(Path, String)
    Use normal Java NIO methods instead
    net.minecraftforge.fml.loading.FMLPaths.getOrCreateGameRelativePath(Path, String)
    Use FMLPaths.getOrCreateGameRelativePath(Path) instead.
    net.minecraftforge.fml.loading.moddiscovery.ModJarMetadata.buildFile(Function<SecureJar, IModFile>, Predicate<SecureJar>, BiPredicate<String, String>, Path...)
    net.minecraftforge.fml.loading.moddiscovery.ModJarMetadata.buildFile(IModLocator, Path...)
    net.minecraftforge.fml.loading.moddiscovery.ModJarMetadata.buildFile(IModLocator, Predicate<SecureJar>, BiPredicate<String, String>, Path...)
    net.minecraftforge.network.simple.SimpleChannel.MessageBuilder.consumer(BiConsumer<MSG, Supplier<NetworkEvent.Context>>)
    Use SimpleChannel.MessageBuilder.consumerMainThread(BiConsumer) or SimpleChannel.MessageBuilder.consumerNetworkThread(BiConsumer).
    net.minecraftforge.network.simple.SimpleChannel.MessageBuilder.consumer(SimpleChannel.MessageBuilder.ToBooleanBiFunction<MSG, Supplier<NetworkEvent.Context>>)
    Use SimpleChannel.MessageBuilder.consumerMainThread(BiConsumer) or SimpleChannel.MessageBuilder.consumerNetworkThread(BiConsumer).
    net.minecraftforge.registries.ForgeRegistry.addDummy(ResourceLocation)
    net.minecraftforge.registries.ForgeRegistry.createAndAddDummy(ResourceLocation, int)
    net.minecraftforge.registries.ForgeRegistry.DumpRow.dummied()
    net.minecraftforge.registries.ForgeRegistry.isDummied(ResourceLocation)
    net.minecraftforge.registries.ForgeRegistry.markDummy(ResourceLocation, int)
    net.minecraftforge.registries.GameData.BlockCallbacks.createDummy(ResourceLocation)
    net.minecraftforge.registries.NamespacedWrapper.lock()
    Forge: For internal use only. Use the Register events when registering values.
    net.minecraftforge.registries.RegistryBuilder.dummy(IForgeRegistry.DummyFactory<T>)
    net.minecraftforge.registries.RegistryBuilder.getDummyFactory()
    net.minecraftforge.registries.RegistryBuilder.set(IForgeRegistry.DummyFactory<T>)
    net.minecraftforge.resource.ResourcePackLoader.loadResourcePacks(PackRepository, BiFunction<Map<IModFile, ? extends PathPackResources>, BiConsumer<? super PathPackResources, Pack>, ? extends RepositorySource>)
  • Deprecated Constructors
    Constructor
    Description
    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.block.model.ItemTransforms(ItemTransforms)
    net.minecraft.client.renderer.chunk.ChunkRenderDispatcher.RenderChunk.RebuildTask(double, RenderChunkRegion, boolean)
    net.minecraft.client.renderer.chunk.ChunkRenderDispatcher.RenderChunk.ResortTransparencyTask(double, ChunkRenderDispatcher.CompiledChunk)
    net.minecraft.client.renderer.ShaderInstance(ResourceProvider, String, VertexFormat)
    net.minecraft.client.renderer.texture.SpriteContents(ResourceLocation, FrameSize, NativeImage, AnimationMetadataSection)
    Forge: Use the overload with Forge metadata parameter to properly forward custom loaders.
    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.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.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>>)
    Forge: Use the mod id variant
    net.minecraft.data.tags.IntrinsicHolderTagsProvider(PackOutput, ResourceKey<? extends Registry<T>>, CompletableFuture<HolderLookup.Provider>, Function<T, ResourceKey<T>>)
    Forge: Use the mod id variant
    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.ItemTagsProvider(PackOutput, CompletableFuture<HolderLookup.Provider>, 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.server.ServerAdvancementManager(PredicateManager)
    Forge: use constructor with context.
    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.crafting.RecipeManager()
    Forge: use constructor with context.
    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 ForgeSpawnEggItem 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.phys.shapes.EntityCollisionContext(Entity)
     
    net.minecraftforge.event.entity.EntityTeleportEvent.EnderPearl(ServerPlayer, double, double, double, ThrownEnderpearl, float)
    Use EnderPearl(ServerPlayer, double, double, double, ThrownEnderpearl, float, HitResult) the hit result-sensitive version}.
    net.minecraftforge.event.level.ChunkEvent.Load(ChunkAccess)
    net.minecraftforge.event.level.SaplingGrowTreeEvent(LevelAccessor, RandomSource, BlockPos)