Deprecated API
Contents
-
Terminally Deprecated ElementsElementDescriptionUse
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 busUsethe RL-explicit variant
instead; mod ID inference will be removed in a later update, alongside the move of registration events to the NeoForge main busUsethe RL-explicit variant
instead; mod ID inference will be removed in a later update, alongside the move of registration events to the NeoForge main busUsethe RL-explicit variant
instead; mod ID inference will be removed in a later update, alongside the move of registration events to the NeoForge main busUsethe RL-explicit variant
instead; mod ID inference will be removed in a later update, alongside the move of registration events to the NeoForge main busUsethe RL-explicit variant
instead; mod ID inference will be removed in a later update, alongside the move of registration events to the NeoForge main busUsethe RL-explicit variant
instead; mod ID inference will be removed in a later update, alongside the move of registration events to the NeoForge main busUse extension methods inIGuiGraphicsExtension
insteadUseItem.inventoryTick(ItemStack, Level, Entity, int, boolean)
by checking that the slot argument is an armor slot. Armor slots are 36, 37, 38 and 39.UseItem.inventoryTick(ItemStack, Level, Entity, int, boolean)
by checking that the slot argument is an armor slot. Armor slots are 36, 37, 38 and 39.Usethe 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 ClassesClassDescriptionNeoForge: Use
AdvancementProvider
instead, provides ease of access for theExistingFileHelper
in the generatorForge: UseDatapackBuiltinEntriesProvider
insteadUse extension methods inIGuiGraphicsExtension
instead
-
Deprecated Enum Classes
-
Deprecated Record ClassesRecord ClassDescription
-
Deprecated FieldsFieldDescriptionForge: Use
PresetEditorManager.get(ResourceKey)
instead.UseConnectionProtocol.PacketSet.contextualIdToDeserializer
instead it allows for context to be passed to the deserializerNeo: use thedata map
insteadForge: This map is patched out of vanilla code. Listen toBlockEvent.BlockToolModificationEvent
or overrideIBlockExtension.getToolModifiedState(BlockState, UseOnContext, net.neoforged.neoforge.common.ToolAction, boolean)
.Forge: UseRarity.getStyleModifier()
Neo: Use thecompostable
data map instead, as this field will be ignored starting with 1.20.5.Neo: use thedata map
instead.Avoid using this tag, especially on the client side, as optional tags, for now, do not exist after the registry rework.
-
Deprecated MethodsMethodDescriptionRegister via
RegisterColorHandlersEvent.Block
Register viaRegisterColorHandlersEvent.Item
Neo: UseIAbstractWidgetExtension.onClick(double, double, int)
instead.Forge: Use gradient overload insteadUseRegisterMenuScreensEvent
to register menu screens + TODO 1.20.5: remove AT related to thisRegister viaRegisterParticleProvidersEvent
Register viaRegisterParticleProvidersEvent
Register viaRegisterParticleProvidersEvent
Forge: useParticleEngine.render(PoseStack, MultiBufferSource.BufferSource, LightTexture, Camera, float, net.minecraft.client.renderer.culling.Frustum)
with Frustum as additional parameterSet your render type in your block model's JSON (eg."render_type": "cutout"
) or overrideIBakedModelExtension.getRenderTypes(BlockState, net.minecraft.util.RandomSource, net.neoforged.neoforge.client.model.data.ModelData)
Set your render type in your block model's JSON (eg."render_type": "cutout"
) or overrideIBakedModelExtension.getRenderTypes(BlockState, net.minecraft.util.RandomSource, net.neoforged.neoforge.client.model.data.ModelData)
Set your render type in your block model's JSON (eg."render_type": "cutout"
) or overrideIBakedModelExtension.getRenderTypes(BlockState, net.minecraft.util.RandomSource, net.neoforged.neoforge.client.model.data.ModelData)
Forge: Use item aware function belowForge: 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 testsUseConnectionProtocol.CodecData.createPacket(int, FriendlyByteBuf, io.netty.channel.ChannelHandlerContext)
instead, which provides the channel context for creating custom packet payloads.UseConnectionProtocol.PacketSet.createPacket(int, FriendlyByteBuf, io.netty.channel.ChannelHandlerContext)
instead, which provides the channel context for creating custom packet payloads.UseBundlerInfo.unbundlePacket(Packet, Consumer, io.netty.channel.ChannelHandlerContext)
instead, as it supports packet filtering and is more efficient.UseClientboundCustomPayloadPacket.readPayload(ResourceLocation, FriendlyByteBuf, io.netty.channel.ChannelHandlerContext, net.minecraft.network.ConnectionProtocol)
instead, as this variant can only read vanilla payloads.UseServerboundCustomPayloadPacket.readPayload(ResourceLocation, FriendlyByteBuf, io.netty.channel.ChannelHandlerContext, net.minecraft.network.ConnectionProtocol)
instead, as this variant can only read vanilla payloads.NeoForge: UseNeoForgeRegistries.ENTITY_DATA_SERIALIZERS
insteadUseServerCommonPacketListenerImpl.createCookie(ClientInformation, boolean)
instead, keeping the connection type information available.Forge: Userider sensitive version
UseIEntityExtension.getStepHeight()
to get the real step height value.Use attribute modifiers for theNeoForgeMod#STEP_HEIGHT
attribute.UseIEntityExtension.getStepHeight()
to get the real step height value.Forge: use overload with context.Forge: useCreativeModeTab.builder()
Forge:invalid @link
Use damage source sensitive version
Forge: Useinvalid @linkplain
damage source sensitive version
Forge: 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 CommonHooks#getBurnTime(ItemStack)Forge: UseIBlockStateExtension.getLightEmission(BlockGetter, BlockPos)
insteadnet.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)
insteadNeo: use the variant with a custom codec opsnet.minecraft.world.level.storage.loot.LootTable.getRandomItemsRaw(LootContext, Consumer<ItemStack>) ImplementIAttachmentSerializer.read(IAttachmentHolder, Tag)
instead. This method will be removed in a future version.Usethe RL-explicit variant
instead; mod ID inference will be removed in a later update, alongside the move of registration events to the NeoForge main busUsethe RL-explicit variant
instead; mod ID inference will be removed in a later update, alongside the move of registration events to the NeoForge main busUsethe RL-explicit variant
instead; mod ID inference will be removed in a later update, alongside the move of registration events to the NeoForge main busUsethe RL-explicit variant
instead; mod ID inference will be removed in a later update, alongside the move of registration events to the NeoForge main busUsethe RL-explicit variant
instead; mod ID inference will be removed in a later update, alongside the move of registration events to the NeoForge main busUsethe RL-explicit variant
instead; mod ID inference will be removed in a later update, alongside the move of registration events to the NeoForge main busUsethe RL-explicit variant
instead; mod ID inference will be removed in a later update, alongside the move of registration events to the NeoForge main busUseItem.inventoryTick(ItemStack, Level, Entity, int, boolean)
by checking that the slot argument is an armor slot. Armor slots are 36, 37, 38 and 39.UseItem.inventoryTick(ItemStack, Level, Entity, int, boolean)
by checking that the slot argument is an armor slot. Armor slots are 36, 37, 38 and 39.Usethe 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 ConstructorsConstructorDescriptionUse
CommonListenerCookie(GameProfile, WorldSessionTelemetryManager, RegistryAccess.Frozen, FeatureFlagSet, String, ServerData, Screen, boolean)
instead, to indicate whether the connection is modded.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.DamageTypeTagsProvider(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 variantUseClientboundCustomPayloadPacket(FriendlyByteBuf, io.netty.channel.ChannelHandlerContext, net.minecraft.network.ConnectionProtocol)
instead, as this variant can only read vanilla payloads.UseServerboundCustomPayloadPacket(FriendlyByteBuf, io.netty.channel.ChannelHandlerContext, net.minecraft.network.ConnectionProtocol)
instead, as this variant can only read vanilla payloads.UseCommonListenerCookie(GameProfile, int, ClientInformation, boolean)
instead, to indicate whether the connection is modded.Forge: UseTagFile(List, boolean, List)
which has support for remove entries.Forge: UseDeferredSpawnEggItem
instead for suppliersFORGE: Use supplier version insteadNeo: use the constructorinvalid @link
with a default value and id setter
IAttachmentSerializer.read(IAttachmentHolder, Tag)
instead. This method will be removed in a future version.