Deprecated API
Contents
-
Terminally Deprecated ElementsElementDescriptionSet your render type in your block model's JSON (eg.
"render_type": "cutout") or overrideIForgeBakedModel.getRenderTypes(BlockState, net.minecraft.util.RandomSource, net.minecraftforge.client.model.data.ModelData)Set your render type in your block model's JSON (eg."render_type": "cutout") or overrideIForgeBakedModel.getRenderTypes(BlockState, net.minecraft.util.RandomSource, net.minecraftforge.client.model.data.ModelData)Set your render type in your block model's JSON (eg."render_type": "cutout") or overrideIForgeBakedModel.getRenderTypes(BlockState, net.minecraft.util.RandomSource, net.minecraftforge.client.model.data.ModelData)UseRenderLevelStageEventinstead for more flexibility and improved compatibility with translucent objects. There is noRenderLevelStageEvent.Stagethat directly replaces this event, instead you must decide which Stage best fits your use case.Use IForgePoseStack.pushTransformation(Transformation), as Transformation can be present in common code.UseModelBuilder.rootTransforms()insteadUseModelBuilder.RootTransformsBuilderinstead viaModelBuilder.rootTransforms()UseTransformationHelper.TransformOrigininsteadMerge into the method above in 1.20 once the call fromBlockModelis gone.SeeForgeEventFactory.onAdvancementEarnedEvent(net.minecraft.world.entity.player.Player, net.minecraft.advancements.Advancement)andForgeEventFactory.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)To be removed in 1.20. UseForgeHooks.readAdditionalLevelSaveData(CompoundTag, LevelStorageSource.LevelDirectory)instead.- useForgeMod.ENTITY_REACH- useForgeMod.BLOCK_REACHReplaced by net.minecraft.tags.ItemTags#AXESReplaced by net.minecraft.tags.ItemTags#HOESReplaced by net.minecraft.tags.ItemTags#PICKAXESReplaced by net.minecraft.tags.ItemTags#SHOVELSReplaced by net.minecraft.tags.ItemTags#SWORDSUseModifiableBiomeInfo.BiomeInfo.Builder.getSpecialEffects()as it provides read access. TODO remove this by 1.20Create your own reference usingCapabilityManager.get(CapabilityToken), or useForgeCapabilities.ENERGY.Use EnderPearl(ServerPlayer, double, double, double, ThrownEnderpearl, float, HitResult) the hit result-sensitive version}.Create your own reference usingCapabilityManager.get(CapabilityToken), or useForgeCapabilities.FLUID_HANDLER.Create your own reference usingCapabilityManager.get(CapabilityToken), or useForgeCapabilities.FLUID_HANDLER_ITEM.Use normal Java NIO methods insteadUseFMLPaths.getOrCreateGameRelativePath(Path)instead.Create your own reference usingCapabilityManager.get(CapabilityToken), or useForgeCapabilities.ITEM_HANDLER.Dummies are being removed due to lack of use and high maintenance cost. There will not be an equivalent replacement feature added.
-
Deprecated InterfacesInterfaceDescriptionDummies are being removed due to lack of use and high maintenance cost. There will not be an equivalent replacement feature added.
-
Deprecated ClassesClassDescriptionForge: Use
ForgeAdvancementProviderinstead, provides ease of access for theExistingFileHelperin the generatorForge: UseDatapackBuiltinEntriesProviderinsteadUseRenderLevelStageEventinstead for more flexibility and improved compatibility with translucent objects. There is noRenderLevelStageEvent.Stagethat directly replaces this event, instead you must decide which Stage best fits your use case.UseModelBuilder.RootTransformsBuilderinstead viaModelBuilder.rootTransforms()
-
Deprecated Enum Classes
-
Deprecated Record ClassesRecord ClassDescription
-
Deprecated FieldsFieldDescriptionForge: Use
PresetEditorManager.get(ResourceKey)instead.Forge: UseForgeRegistries.ACTIVITIESinstead.Forge: UseForgeRegistries.ATTRIBUTESinstead.Forge: UseForgeRegistries.BLOCKSinstead.Forge: UseForgeRegistries.BLOCK_ENTITY_TYPESinstead.Forge: UseForgeRegistries.BLOCK_STATE_PROVIDER_TYPESinstead.Forge: UseForgeRegistries.WORLD_CARVERSinstead.Forge: UseForgeRegistries.CHUNK_STATUSinstead.Forge: UseForgeRegistries.COMMAND_ARGUMENT_TYPESinstead.Forge: UseForgeRegistries.ENCHANTMENTSinstead.Forge: UseForgeRegistries.ENTITY_TYPESinstead.Forge: UseForgeRegistries.FEATURESinstead.Forge: UseForgeRegistries.FLUIDSinstead.Forge: UseForgeRegistries.FOLIAGE_PLACER_TYPESinstead.Forge: UseForgeRegistries.ITEMSinstead.Forge: UseForgeRegistries.MEMORY_MODULE_TYPESinstead.Forge: UseForgeRegistries.MENU_TYPESinstead.Forge: UseForgeRegistries.MOB_EFFECTSinstead.Forge: UseForgeRegistries.PAINTING_VARIANTSinstead.Forge: UseForgeRegistries.PARTICLE_TYPESinstead.Forge: UseForgeRegistries.POI_TYPESinstead.Forge: UseForgeRegistries.POTIONSinstead.Forge: UseForgeRegistries.RECIPE_SERIALIZERSinstead.Forge: UseForgeRegistries.RECIPE_TYPESinstead.Forge: UseForgeRegistries.SCHEDULESinstead.Forge: UseForgeRegistries.SENSOR_TYPESinstead.Forge: UseForgeRegistries.SOUND_EVENTSinstead.Forge: UseForgeRegistries.STAT_TYPESinstead.Forge: UseForgeRegistries.TREE_DECORATOR_TYPESinstead.Forge: UseForgeRegistries.VILLAGER_PROFESSIONSinstead.Forge: This map is patched out of vanilla code. Listen tonet.minecraftforge.event.world.BlockEvent.BlockToolModificationEventor overrideIForgeBlock.getToolModifiedState(BlockState, UseOnContext, net.minecraftforge.common.ToolAction, boolean).Forge: UseRarity.getStyleModifier()- useForgeMod.ENTITY_REACH- useForgeMod.BLOCK_REACHReplaced by net.minecraft.tags.ItemTags#AXESReplaced by net.minecraft.tags.ItemTags#HOESReplaced by net.minecraft.tags.ItemTags#PICKAXESReplaced by net.minecraft.tags.ItemTags#SHOVELSReplaced by net.minecraft.tags.ItemTags#SWORDSCreate your own reference usingCapabilityManager.get(CapabilityToken), or useForgeCapabilities.ENERGY.Create your own reference usingCapabilityManager.get(CapabilityToken), or useForgeCapabilities.FLUID_HANDLER.Create your own reference usingCapabilityManager.get(CapabilityToken), or useForgeCapabilities.FLUID_HANDLER_ITEM.Create your own reference usingCapabilityManager.get(CapabilityToken), or useForgeCapabilities.ITEM_HANDLER.
-
Deprecated MethodsMethodDescriptionForge: use overload with context.Register via
RegisterColorHandlersEvent.BlockRegister viaRegisterColorHandlersEvent.ItemForge: Use gradient overload insteadRegister viaRegisterParticleProvidersEventRegister viaRegisterParticleProvidersEventRegister viaRegisterParticleProvidersEventForge: useParticleEngine.render(PoseStack, MultiBufferSource.BufferSource, LightTexture, Camera, float, net.minecraft.client.renderer.culling.Frustum)with Frustum as additional parameterForge: For internal use only. UseBlockModel.bake(ModelBaker, BlockModel, Function, ModelState, ResourceLocation, boolean).Set your render type in your block model's JSON (eg."render_type": "cutout") or overrideIForgeBakedModel.getRenderTypes(BlockState, net.minecraft.util.RandomSource, net.minecraftforge.client.model.data.ModelData)Set your render type in your block model's JSON (eg."render_type": "cutout") or overrideIForgeBakedModel.getRenderTypes(BlockState, net.minecraft.util.RandomSource, net.minecraftforge.client.model.data.ModelData)Set your render type in your block model's JSON (eg."render_type": "cutout") or overrideIForgeBakedModel.getRenderTypes(BlockState, net.minecraft.util.RandomSource, net.minecraftforge.client.model.data.ModelData)Forge: UseIForgeModelBaker.bake(ResourceLocation, ModelState, java.util.function.Function)instead.Forge: Use variant with RenderTypeGroupForge: For internal use only. Use the Register events when registering values.Forge: UseRegisterGameTestsEventto register game testsForge: UseRegisterGameTestsEventto register game testsForge: UseRegisterGameTestsEventto register game testsForge: UsePackMetadataSection.getPackFormat(net.minecraft.server.packs.PackType)instead.Forge: Userider sensitive versionForge: use overload with context.Forge: callForgeSpawnEggItem.fromEntityType(EntityType)insteadForge: UseBaseRailBlock.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 propertyForge: get burn times by calling ForgeHooks#getBurnTime(ItemStack)net.minecraft.world.level.levelgen.synth.ImprovedNoise.noise(double, double, double, double, double) Forge: UseFlowingFluid.canConvertToSource(FluidState, Level, BlockPos)instead.Forge: useLavaFluid.isFlammable(LevelReader,BlockPos,Direction)insteadUse IForgePoseStack.pushTransformation(Transformation), as Transformation can be present in common code.UseModelBuilder.rootTransforms()insteadMerge into the method above in 1.20 once the call fromBlockModelis gone.useIngredient.fromJson(JsonElement)(Stream)}net.minecraftforge.common.crafting.AbstractIngredient.fromValues(Stream<? extends Ingredient.Value>) useIngredient.of()useIngredient.of(Stream)(Stream)}useIngredient.of(TagKey)(Stream)}useIngredient.of(ItemStack...)(Stream)}useIngredient.of(ItemLike...)(Stream)}SeeForgeEventFactory.onAdvancementEarnedEvent(net.minecraft.world.entity.player.Player, net.minecraft.advancements.Advancement)andForgeEventFactory.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)To be removed in 1.20. UseForgeHooks.readAdditionalLevelSaveData(CompoundTag, LevelStorageSource.LevelDirectory)instead.UseModifiableBiomeInfo.BiomeInfo.Builder.getSpecialEffects()as it provides read access. TODO remove this by 1.20useDistExecutor.safeCallWhenOn(Dist, Supplier)instead. This remains for advanced use cases.useDistExecutor.safeRunWhenOn(Dist, Supplier)where possible. Advanced uses only.Use normal Java NIO methods insteadUseFMLPaths.getOrCreateGameRelativePath(Path)instead.Forge: For internal use only. Use the Register events when registering values.
-
Deprecated ConstructorsConstructorDescriptionForge: Use the overload with Forge metadata parameter to properly forward custom loaders.Forge: Use variant with RenderTypeGroupForge: Use the mod id variantForge: Use the mod id variantnet.minecraft.data.tags.CatVariantTagsProvider
(PackOutput, CompletableFuture<HolderLookup.Provider>) Forge: Use the mod id variantnet.minecraft.data.tags.EntityTypeTagsProvider(PackOutput, CompletableFuture<HolderLookup.Provider>) Forge: Use the mod id variantForge: Use the mod id variantForge: Use the mod id variantForge: Use the mod id variantnet.minecraft.data.tags.InstrumentTagsProvider(PackOutput, CompletableFuture<HolderLookup.Provider>) Forge: Use the mod id variantForge: Use the mod id variantForge: Use the mod id variantForge: Use the mod id variantForge: Use the mod id variantForge: Use the mod id variantForge: Use the mod id variantForge: Use the mod id variantForge: Use the mod id variantForge: Use the mod id variantForge: Use the mod id variantForge: use constructor with context.Forge: use constructor with context.Forge: UseForgeSpawnEggIteminstead for suppliersFORGE: Use supplier version insteadUse EnderPearl(ServerPlayer, double, double, double, ThrownEnderpearl, float, HitResult) the hit result-sensitive version}.
BlockModel.bake(ModelBaker, BlockModel, Function, ModelState, ResourceLocation, boolean).