Deprecated API
Contents
-
ElementDescriptionSet 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)
UseRenderLevelStageEvent
instead for more flexibility and improved compatibility with translucent objects. There is noRenderLevelStageEvent.Stage
that 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.RootTransformsBuilder
instead viaModelBuilder.rootTransforms()
UseTransformationHelper.TransformOrigin
insteadMerge into the method above in 1.20 once the call fromBlockModel
is 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_REACH
Replaced 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.
-
InterfaceDescriptionDummies are being removed due to lack of use and high maintenance cost. There will not be an equivalent replacement feature added.
-
ClassDescriptionForge: Use
ForgeAdvancementProvider
instead, provides ease of access for theExistingFileHelper
in the generatorForge: UseDatapackBuiltinEntriesProvider
insteadUseRenderLevelStageEvent
instead for more flexibility and improved compatibility with translucent objects. There is noRenderLevelStageEvent.Stage
that directly replaces this event, instead you must decide which Stage best fits your use case.UseModelBuilder.RootTransformsBuilder
instead viaModelBuilder.rootTransforms()
-
Record ClassDescription
-
FieldDescriptionForge: Use
PresetEditorManager.get(ResourceKey)
instead.Forge: UseForgeRegistries.ACTIVITIES
instead.Forge: UseForgeRegistries.ATTRIBUTES
instead.Forge: UseForgeRegistries.BLOCKS
instead.Forge: UseForgeRegistries.BLOCK_ENTITY_TYPES
instead.Forge: UseForgeRegistries.BLOCK_STATE_PROVIDER_TYPES
instead.Forge: UseForgeRegistries.WORLD_CARVERS
instead.Forge: UseForgeRegistries.CHUNK_STATUS
instead.Forge: UseForgeRegistries.COMMAND_ARGUMENT_TYPES
instead.Forge: UseForgeRegistries.ENCHANTMENTS
instead.Forge: UseForgeRegistries.ENTITY_TYPES
instead.Forge: UseForgeRegistries.FEATURES
instead.Forge: UseForgeRegistries.FLUIDS
instead.Forge: UseForgeRegistries.FOLIAGE_PLACER_TYPES
instead.Forge: UseForgeRegistries.ITEMS
instead.Forge: UseForgeRegistries.MEMORY_MODULE_TYPES
instead.Forge: UseForgeRegistries.MENU_TYPES
instead.Forge: UseForgeRegistries.MOB_EFFECTS
instead.Forge: UseForgeRegistries.PAINTING_VARIANTS
instead.Forge: UseForgeRegistries.PARTICLE_TYPES
instead.Forge: UseForgeRegistries.POI_TYPES
instead.Forge: UseForgeRegistries.POTIONS
instead.Forge: UseForgeRegistries.RECIPE_SERIALIZERS
instead.Forge: UseForgeRegistries.RECIPE_TYPES
instead.Forge: UseForgeRegistries.SCHEDULES
instead.Forge: UseForgeRegistries.SENSOR_TYPES
instead.Forge: UseForgeRegistries.SOUND_EVENTS
instead.Forge: UseForgeRegistries.STAT_TYPES
instead.Forge: UseForgeRegistries.TREE_DECORATOR_TYPES
instead.Forge: UseForgeRegistries.VILLAGER_PROFESSIONS
instead.Forge: This map is patched out of vanilla code. Listen tonet.minecraftforge.event.world.BlockEvent.BlockToolModificationEvent
or overrideIForgeBlock.getToolModifiedState(BlockState, UseOnContext, net.minecraftforge.common.ToolAction, boolean)
.Forge: UseRarity.getStyleModifier()
- useForgeMod.ENTITY_REACH
- useForgeMod.BLOCK_REACH
Replaced 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
.
-
MethodDescriptionForge: use overload with context.Register via
RegisterColorHandlersEvent.Block
Register viaRegisterColorHandlersEvent.Item
Forge: Use gradient overload insteadRegister viaRegisterParticleProvidersEvent
Register viaRegisterParticleProvidersEvent
Register viaRegisterParticleProvidersEvent
Forge: 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: UseRegisterGameTestsEvent
to register game testsForge: UseRegisterGameTestsEvent
to register game testsForge: UseRegisterGameTestsEvent
to register game testsForge: UsePackMetadataSection.getPackFormat(net.minecraft.server.packs.PackType)
instead.Forge: Userider sensitive version
Forge: 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 fromBlockModel
is 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.
-
ConstructorDescriptionForge: 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: UseForgeSpawnEggItem
instead 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)
.