diff --git a/fmlcore/src/main/java/net/minecraftforge/fml/ModLoadingContext.java b/fmlcore/src/main/java/net/minecraftforge/fml/ModLoadingContext.java index 980c7c43a3..32d2ed044a 100644 --- a/fmlcore/src/main/java/net/minecraftforge/fml/ModLoadingContext.java +++ b/fmlcore/src/main/java/net/minecraftforge/fml/ModLoadingContext.java @@ -19,7 +19,13 @@ public class ModLoadingContext { private Object languageExtension; /** - * @deprecated Use the context provided by your language loader in your mod's constructor + * @deprecated Use the context provided by your language loader in your mod's constructor. Example for Java mods: {@snippet : + * @Mod("examplemod") + * public final class ExampleMod { + * public ExampleMod(FMLJavaModLoadingContext context) { + * // Use context from the param instead of FMLJavaModLoadingContext.get() or ModLoadingContext.get() + * } + * }} */ @Deprecated(forRemoval = true, since="1.21.1") public static ModLoadingContext get() { diff --git a/fmlcore/src/main/java/net/minecraftforge/fml/event/IModBusEvent.java b/fmlcore/src/main/java/net/minecraftforge/fml/event/IModBusEvent.java index e57a55d72f..5a7df4535b 100644 --- a/fmlcore/src/main/java/net/minecraftforge/fml/event/IModBusEvent.java +++ b/fmlcore/src/main/java/net/minecraftforge/fml/event/IModBusEvent.java @@ -8,16 +8,22 @@ package net.minecraftforge.fml.event; import net.minecraftforge.eventbus.api.bus.BusGroup; import net.minecraftforge.eventbus.api.bus.EventBus; import net.minecraftforge.eventbus.api.event.InheritableEvent; +import org.jspecify.annotations.NonNull; /** - * Marker interface for events dispatched on the ModLifecycle event bus instead of the primary event bus + * Marker interface for mod lifecycle events dispatched on the + * {@linkplain net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext#getModBusGroup() mod BusGroup} instead + * of the {@linkplain BusGroup#DEFAULT default BusGroup}. + * + * @apiNote Each mod gets its own unique mod BusGroup instance, obtained from the mod loading context. Most events + * should go on the default BusGroup. */ public interface IModBusEvent extends InheritableEvent { /** * @param modEventBusGroup Obtained from {@link net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext#getModBusGroup()} or your language provider's equivalent. * @param eventClass The event type you want to get the associated bus for. */ - static EventBus getBus(BusGroup modEventBusGroup, Class eventClass) { + static @NonNull EventBus<@NonNull T> getBus(@NonNull BusGroup modEventBusGroup, @NonNull Class eventClass) { // Do not copy! Temporary solution until the FML rewrite is complete. May throw in future // without prior notice. // diff --git a/src/main/java/net/minecraftforge/client/event/AddGuiOverlayLayersEvent.java b/src/main/java/net/minecraftforge/client/event/AddGuiOverlayLayersEvent.java index 4b6fbb3cf4..63620b878c 100644 --- a/src/main/java/net/minecraftforge/client/event/AddGuiOverlayLayersEvent.java +++ b/src/main/java/net/minecraftforge/client/event/AddGuiOverlayLayersEvent.java @@ -29,9 +29,7 @@ public record AddGuiOverlayLayersEvent(ForgeLayeredDraw getLayeredDraw) implemen @ApiStatus.Internal public AddGuiOverlayLayersEvent {} - /** - * @deprecated {@link AddGuiOverlayLayersEvent} is no longer an {@link IModBusEvent}, so use {@link #BUS} directly. - */ + /** @deprecated {@link AddGuiOverlayLayersEvent} is no longer an {@link IModBusEvent}, so use {@link #BUS} directly. */ @Deprecated(forRemoval = true, since = "1.21.9") public static EventBus getBus(BusGroup modBusGroup) { return BUS; diff --git a/src/main/java/net/minecraftforge/client/event/ClientChatEvent.java b/src/main/java/net/minecraftforge/client/event/ClientChatEvent.java index f50080d77a..a1d7f911c2 100644 --- a/src/main/java/net/minecraftforge/client/event/ClientChatEvent.java +++ b/src/main/java/net/minecraftforge/client/event/ClientChatEvent.java @@ -12,16 +12,19 @@ import net.minecraftforge.eventbus.api.event.MutableEvent; import net.minecraftforge.eventbus.api.event.characteristic.Cancellable; import net.minecraftforge.fml.LogicalSide; import org.jetbrains.annotations.ApiStatus; +import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.Nullable; /** * Fired when the client is about to send a chat message to the server. * - *

This event is {@linkplain Cancelable cancellable}, and does not {@linkplain HasResult have a result}. + *

This event is {@linkplain Cancellable cancellable}. * If the event is cancelled, the chat message will not be sent to the server.

* *

This event is fired on the {@linkplain MinecraftForge#EVENT_BUS main Forge event bus}, * only on the {@linkplain LogicalSide#CLIENT logical client}.

**/ +@NullMarked public final class ClientChatEvent extends MutableEvent implements Cancellable { public static final CancellableEventBus BUS = CancellableEventBus.create(ClientChatEvent.class); @@ -47,7 +50,7 @@ public final class ClientChatEvent extends MutableEvent implements Cancellable { * * @param message the new message to be sent */ - public void setMessage(String message) { + public void setMessage(@Nullable String message) { this.message = Strings.nullToEmpty(message); } diff --git a/src/main/java/net/minecraftforge/client/event/ClientChatReceivedEvent.java b/src/main/java/net/minecraftforge/client/event/ClientChatReceivedEvent.java index 82202118ab..76d38005f5 100644 --- a/src/main/java/net/minecraftforge/client/event/ClientChatReceivedEvent.java +++ b/src/main/java/net/minecraftforge/client/event/ClientChatReceivedEvent.java @@ -22,7 +22,7 @@ import java.util.UUID; * Fired when a chat message is received on the client. * This can be used for filtering and detecting messages with specific words or phrases, and suppressing them. * - *

This event is {@linkplain Cancelable cancellable}, and does not {@linkplain HasResult have a result}. + *

This event is {@linkplain Cancellable cancellable}. * If the event is cancelled, the message is not displayed in the chat message window.

* *

This event is fired on the {@linkplain MinecraftForge#EVENT_BUS main Forge event bus}, @@ -89,7 +89,7 @@ public sealed class ClientChatReceivedEvent extends MutableEvent implements Canc /** * Fired when a player chat message is received on the client. * - *

This event is {@linkplain Cancelable cancellable}, and does not {@linkplain HasResult have a result}. + *

This event is {@linkplain Cancellable cancellable}. * If the event is cancelled, the message is not displayed in the chat message window.

* *

This event is fired on the {@linkplain MinecraftForge#EVENT_BUS main Forge event bus}, @@ -120,8 +120,8 @@ public sealed class ClientChatReceivedEvent extends MutableEvent implements Canc /** * Fired when a system message is received on the client. * - * @Deprecated Mojang made ChatType a registry, which isn't always accessible when the System messages are sent. - * So moved to it's own event. {@link SystemMessageReceivedEvent} + * @deprecated Mojang made ChatType a registry, which isn't always accessible when the System messages are sent. + * So moved to its own event. {@link SystemMessageReceivedEvent} */ @Deprecated(forRemoval = true, since = "1.21.1") public static final class System extends ClientChatReceivedEvent { diff --git a/src/main/java/net/minecraftforge/client/event/ClientPauseChangeEvent.java b/src/main/java/net/minecraftforge/client/event/ClientPauseChangeEvent.java index 88e0bf11b9..01f6aa3b99 100644 --- a/src/main/java/net/minecraftforge/client/event/ClientPauseChangeEvent.java +++ b/src/main/java/net/minecraftforge/client/event/ClientPauseChangeEvent.java @@ -12,6 +12,7 @@ import net.minecraftforge.eventbus.api.event.InheritableEvent; import net.minecraftforge.eventbus.api.event.RecordEvent; import net.minecraftforge.eventbus.api.event.characteristic.Cancellable; import net.minecraftforge.fml.LogicalSide; +import org.jspecify.annotations.NullMarked; /** * Fired when pause is about to change @@ -21,6 +22,7 @@ import net.minecraftforge.fml.LogicalSide; * @see ClientPauseChangeEvent.Pre * @see ClientPauseChangeEvent.Post */ +@NullMarked public sealed interface ClientPauseChangeEvent extends InheritableEvent { EventBus BUS = EventBus.create(ClientPauseChangeEvent.class); diff --git a/src/main/java/net/minecraftforge/client/event/ClientPlayerChangeGameTypeEvent.java b/src/main/java/net/minecraftforge/client/event/ClientPlayerChangeGameTypeEvent.java index 2371d1b16a..f1d5dfbca9 100644 --- a/src/main/java/net/minecraftforge/client/event/ClientPlayerChangeGameTypeEvent.java +++ b/src/main/java/net/minecraftforge/client/event/ClientPlayerChangeGameTypeEvent.java @@ -7,10 +7,8 @@ package net.minecraftforge.client.event; import net.minecraft.client.multiplayer.PlayerInfo; import net.minecraft.world.level.GameType; -import net.minecraftforge.common.util.HasResult; import net.minecraftforge.eventbus.api.bus.EventBus; import net.minecraftforge.eventbus.api.event.RecordEvent; -import net.minecraftforge.eventbus.api.event.characteristic.Cancellable; import net.minecraftforge.fml.LogicalSide; import org.jetbrains.annotations.ApiStatus; import org.jspecify.annotations.NullMarked; @@ -18,8 +16,6 @@ import org.jspecify.annotations.NullMarked; /** * Fired when the client player is notified of a change of {@link GameType} from the server. * - *

This event is not {@linkplain Cancellable cancellable}, and does not {@linkplain HasResult have a result}.

- * *

This event is fired only on the {@linkplain LogicalSide#CLIENT logical client}.

* * @param getInfo the client player information diff --git a/src/main/java/net/minecraftforge/client/event/ComputeFovModifierEvent.java b/src/main/java/net/minecraftforge/client/event/ComputeFovModifierEvent.java index 3311e5b973..a4fe86f4c0 100644 --- a/src/main/java/net/minecraftforge/client/event/ComputeFovModifierEvent.java +++ b/src/main/java/net/minecraftforge/client/event/ComputeFovModifierEvent.java @@ -12,17 +12,17 @@ import net.minecraftforge.eventbus.api.bus.EventBus; import net.minecraftforge.eventbus.api.event.MutableEvent; import net.minecraftforge.fml.LogicalSide; import org.jetbrains.annotations.ApiStatus; +import org.jspecify.annotations.NullMarked; /** * Fired after the field of vision (FOV) modifier for the player is calculated to allow developers to adjust it further. * - *

This event is not {@linkplain Cancelable cancellable}, and does not {@linkplain HasResult have a result}.

- * *

This event is fired on the {@linkplain MinecraftForge#EVENT_BUS main Forge event bus}, * only on the {@linkplain LogicalSide#CLIENT logical client}.

* * @see ViewportEvent.ComputeFov */ +@NullMarked public final class ComputeFovModifierEvent extends MutableEvent { public static final EventBus BUS = EventBus.create(ComputeFovModifierEvent.class); diff --git a/src/main/java/net/minecraftforge/client/event/ContainerScreenEvent.java b/src/main/java/net/minecraftforge/client/event/ContainerScreenEvent.java index 8a0fd0fe0d..7f0c06fd2f 100644 --- a/src/main/java/net/minecraftforge/client/event/ContainerScreenEvent.java +++ b/src/main/java/net/minecraftforge/client/event/ContainerScreenEvent.java @@ -62,8 +62,6 @@ public sealed interface ContainerScreenEvent { *

This can be used for rendering elements that must be above other screen elements, but * below tooltips and the dragged stack, such as slot or item stack specific overlays.

* - *

This event is not {@linkplain Cancelable cancellable}, and does not {@linkplain HasResult have a result}.

- * *

This event is fired on the {@linkplain MinecraftForge#EVENT_BUS main Forge event bus}, * only on the {@linkplain LogicalSide#CLIENT logical client}.

*/ @@ -83,8 +81,6 @@ public sealed interface ContainerScreenEvent { * Fired after the container screen's background layer and elements are drawn. * This can be used for rendering new background elements. * - *

This event is not {@linkplain Cancelable cancellable}, and does not {@linkplain HasResult have a result}.

- * *

This event is fired on the {@linkplain MinecraftForge#EVENT_BUS main Forge event bus}, * only on the {@linkplain LogicalSide#CLIENT logical client}.

*/ diff --git a/src/main/java/net/minecraftforge/client/event/EntityRenderersEvent.java b/src/main/java/net/minecraftforge/client/event/EntityRenderersEvent.java index 4989ae0db4..d0320f40cb 100644 --- a/src/main/java/net/minecraftforge/client/event/EntityRenderersEvent.java +++ b/src/main/java/net/minecraftforge/client/event/EntityRenderersEvent.java @@ -39,6 +39,7 @@ import net.minecraftforge.eventbus.api.event.MutableEvent; import net.minecraftforge.eventbus.api.event.RecordEvent; import net.minecraftforge.eventbus.api.event.characteristic.SelfDestructing; import net.minecraftforge.fml.LogicalSide; +import net.minecraftforge.fml.event.IModBusEvent; import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.Nullable; import org.jspecify.annotations.NullMarked; @@ -69,6 +70,7 @@ public sealed interface EntityRenderersEvent { record RegisterLayerDefinitions() implements SelfDestructing, RecordEvent, EntityRenderersEvent { public static final EventBus BUS = EventBus.create(RegisterLayerDefinitions.class); + /** @deprecated {@link EntityRenderersEvent.RegisterLayerDefinitions} is no longer an {@link IModBusEvent}, so use {@link #BUS} directly. */ @Deprecated(forRemoval = true, since = "1.21.9") public static EventBus getBus(BusGroup modBusGroup) { return BUS; @@ -102,6 +104,7 @@ public sealed interface EntityRenderersEvent { record RegisterRenderers() implements SelfDestructing, RecordEvent, EntityRenderersEvent { public static final EventBus BUS = EventBus.create(RegisterRenderers.class); + /** @deprecated {@link RegisterRenderers} is no longer an {@link IModBusEvent}, so use {@link #BUS} directly. */ @Deprecated(forRemoval = true, since = "1.21.9") public static EventBus getBus(BusGroup modBusGroup) { return BUS; @@ -140,6 +143,7 @@ public sealed interface EntityRenderersEvent { final class AddLayers extends MutableEvent implements EntityRenderersEvent { public static final EventBus BUS = EventBus.create(AddLayers.class); + /** @deprecated {@link EntityRenderersEvent.AddLayers} is no longer an {@link IModBusEvent}, so use {@link #BUS} directly. */ @Deprecated(forRemoval = true, since = "1.21.9") public static EventBus getBus(BusGroup modBusGroup) { return BUS; @@ -231,6 +235,7 @@ public sealed interface EntityRenderersEvent { final class CreateSkullModels extends MutableEvent implements EntityRenderersEvent { public static final EventBus BUS = EventBus.create(CreateSkullModels.class); + /** @deprecated {@link EntityRenderersEvent.CreateSkullModels} is no longer an {@link IModBusEvent}, so use {@link #BUS} directly. */ @Deprecated(forRemoval = true, since = "1.21.9") public static EventBus getBus(BusGroup modBusGroup) { return BUS; diff --git a/src/main/java/net/minecraftforge/client/event/InputEvent.java b/src/main/java/net/minecraftforge/client/event/InputEvent.java index f9760b050a..6f0d49e6b2 100644 --- a/src/main/java/net/minecraftforge/client/event/InputEvent.java +++ b/src/main/java/net/minecraftforge/client/event/InputEvent.java @@ -17,6 +17,7 @@ import net.minecraftforge.eventbus.api.event.RecordEvent; import net.minecraftforge.eventbus.api.event.characteristic.Cancellable; import net.minecraftforge.fml.LogicalSide; import org.jetbrains.annotations.ApiStatus; +import org.jspecify.annotations.NullMarked; import org.lwjgl.glfw.GLFW; /** @@ -127,6 +128,7 @@ public sealed interface InputEvent { * @param getMouseX the X position of the mouse cursor * @param getMouseY the Y position of the mouse cursor */ + @NullMarked record MouseScrollingEvent( double getDeltaX, double getDeltaY, diff --git a/src/main/java/net/minecraftforge/client/event/ModelEvent.java b/src/main/java/net/minecraftforge/client/event/ModelEvent.java index 32f34e959e..f16ed0b8c1 100644 --- a/src/main/java/net/minecraftforge/client/event/ModelEvent.java +++ b/src/main/java/net/minecraftforge/client/event/ModelEvent.java @@ -18,7 +18,6 @@ import net.minecraftforge.eventbus.api.bus.EventBus; import net.minecraftforge.eventbus.api.event.MutableEvent; import net.minecraftforge.eventbus.api.event.RecordEvent; import net.minecraftforge.fml.LogicalSide; -import net.minecraftforge.fml.ModLoadingContext; import net.minecraftforge.fml.event.IModBusEvent; import org.jetbrains.annotations.ApiStatus; import org.jspecify.annotations.NullMarked; @@ -51,6 +50,7 @@ public sealed interface ModelEvent { implements RecordEvent, ModelEvent { public static final EventBus BUS = EventBus.create(ModifyBakingResult.class); + /** @deprecated {@link ModelEvent.ModifyBakingResult} is no longer an {@link IModBusEvent}, so use {@link #BUS} directly. */ @Deprecated(forRemoval = true, since = "1.21.9") public static EventBus getBus(BusGroup modBusGroup) { return BUS; @@ -75,6 +75,7 @@ public sealed interface ModelEvent { implements RecordEvent, ModelEvent { public static final EventBus BUS = EventBus.create(BakingCompleted.class); + /** @deprecated {@link ModelEvent.BakingCompleted} is no longer an {@link IModBusEvent}, so use {@link #BUS} directly. */ @Deprecated(forRemoval = true, since = "1.21.9") public static EventBus getBus(BusGroup modBusGroup) { return BUS; @@ -95,6 +96,7 @@ public sealed interface ModelEvent { final class RegisterModelStateDefinitions extends MutableEvent implements ModelEvent { public static final EventBus BUS = EventBus.create(RegisterModelStateDefinitions.class); + /** @deprecated {@link ModelEvent.RegisterModelStateDefinitions} is no longer an {@link IModBusEvent}, so use {@link #BUS} directly. */ @Deprecated(forRemoval = true, since = "1.21.9") public static EventBus getBus(BusGroup modBusGroup) { return BUS; @@ -130,6 +132,7 @@ public sealed interface ModelEvent { final class RegisterGeometryLoaders extends MutableEvent implements ModelEvent { public static final EventBus BUS = EventBus.create(RegisterGeometryLoaders.class); + /** @deprecated {@link ModelEvent.RegisterGeometryLoaders} is no longer an {@link IModBusEvent}, so use {@link #BUS} directly. */ @Deprecated(forRemoval = true, since = "1.21.9") public static EventBus getBus(BusGroup modBusGroup) { return BUS; diff --git a/src/main/java/net/minecraftforge/client/event/RecipesUpdatedEvent.java b/src/main/java/net/minecraftforge/client/event/RecipesUpdatedEvent.java index 5ea735b9e2..7870b40c92 100644 --- a/src/main/java/net/minecraftforge/client/event/RecipesUpdatedEvent.java +++ b/src/main/java/net/minecraftforge/client/event/RecipesUpdatedEvent.java @@ -15,8 +15,6 @@ import org.jetbrains.annotations.ApiStatus; /** * Fired when the {@link ClientRecipeBook} has updated information about recipes from the server to the client. * - *

This event is not {@linkplain Cancelable cancellable}, and does not {@linkplain HasResult have a result}.

- * *

This event is fired on the {@linkplain MinecraftForge#EVENT_BUS main Forge event bus}, * only on the {@linkplain LogicalSide#CLIENT logical client}.

* diff --git a/src/main/java/net/minecraftforge/client/event/RegisterClientCommandsEvent.java b/src/main/java/net/minecraftforge/client/event/RegisterClientCommandsEvent.java index 8a7fa95a13..ce3ec91be5 100644 --- a/src/main/java/net/minecraftforge/client/event/RegisterClientCommandsEvent.java +++ b/src/main/java/net/minecraftforge/client/event/RegisterClientCommandsEvent.java @@ -6,14 +6,13 @@ package net.minecraftforge.client.event; import com.mojang.brigadier.CommandDispatcher; +import com.mojang.brigadier.context.CommandContext; import net.minecraft.commands.CommandBuildContext; import net.minecraft.commands.CommandSourceStack; import net.minecraft.commands.arguments.ObjectiveArgument; import net.minecraft.commands.arguments.ResourceLocationArgument; -import net.minecraftforge.common.util.HasResult; import net.minecraftforge.eventbus.api.bus.EventBus; import net.minecraftforge.eventbus.api.event.RecordEvent; -import net.minecraftforge.eventbus.api.event.characteristic.Cancellable; import net.minecraftforge.fml.LogicalSide; import org.jetbrains.annotations.ApiStatus; import org.jspecify.annotations.NullMarked; @@ -23,14 +22,12 @@ import org.jspecify.annotations.NullMarked; * *

Some command arguments behave differently for the client commands dispatcher:

*
    - *
  • {@link ResourceLocationArgument#getAdvancement(com.mojang.brigadier.context.CommandContext, String)} only returns - * advancements that are shown on the advancements screen. + *
  • {@link ResourceLocationArgument#getId(CommandContext, String)} only returns advancements that are shown on + * the advancements screen. *
  • {@link ObjectiveArgument#getObjective(com.mojang.brigadier.context.CommandContext, String)} only returns * objectives that are displayed to the player. *
* - *

This event is not {@linkplain Cancellable cancellable}, and does not {@linkplain HasResult have a result}.

- * *

This event is fired only on the {@linkplain LogicalSide#CLIENT logical client}.

* * @param getDispatcher the command dispatcher for registering commands to be executed on the client diff --git a/src/main/java/net/minecraftforge/client/event/RegisterClientReloadListenersEvent.java b/src/main/java/net/minecraftforge/client/event/RegisterClientReloadListenersEvent.java index 6fa2ec91fa..8e9fdb51bb 100644 --- a/src/main/java/net/minecraftforge/client/event/RegisterClientReloadListenersEvent.java +++ b/src/main/java/net/minecraftforge/client/event/RegisterClientReloadListenersEvent.java @@ -14,6 +14,7 @@ import net.minecraftforge.eventbus.api.bus.EventBus; import net.minecraftforge.eventbus.api.event.MutableEvent; import net.minecraftforge.eventbus.api.event.characteristic.SelfDestructing; import net.minecraftforge.fml.LogicalSide; +import net.minecraftforge.fml.event.IModBusEvent; import org.jetbrains.annotations.ApiStatus; import org.jspecify.annotations.NullMarked; @@ -29,6 +30,7 @@ import org.jspecify.annotations.NullMarked; public final class RegisterClientReloadListenersEvent extends MutableEvent implements SelfDestructing { public static final EventBus BUS = EventBus.create(RegisterClientReloadListenersEvent.class); + /** @deprecated {@link RegisterClientReloadListenersEvent} is no longer an {@link IModBusEvent}, so use {@link #BUS} directly. */ @Deprecated(forRemoval = true, since = "1.21.9") public static EventBus getBus(BusGroup modBusGroup) { return BUS; diff --git a/src/main/java/net/minecraftforge/client/event/RegisterClientTooltipComponentFactoriesEvent.java b/src/main/java/net/minecraftforge/client/event/RegisterClientTooltipComponentFactoriesEvent.java index 4aec91b02c..79d590d97c 100644 --- a/src/main/java/net/minecraftforge/client/event/RegisterClientTooltipComponentFactoriesEvent.java +++ b/src/main/java/net/minecraftforge/client/event/RegisterClientTooltipComponentFactoriesEvent.java @@ -12,6 +12,7 @@ import net.minecraftforge.eventbus.api.bus.EventBus; import net.minecraftforge.eventbus.api.event.MutableEvent; import net.minecraftforge.eventbus.api.event.characteristic.SelfDestructing; import net.minecraftforge.fml.LogicalSide; +import net.minecraftforge.fml.event.IModBusEvent; import org.jetbrains.annotations.ApiStatus; import org.jspecify.annotations.NullMarked; @@ -28,6 +29,7 @@ import java.util.function.Function; public final class RegisterClientTooltipComponentFactoriesEvent extends MutableEvent implements SelfDestructing { public static final EventBus BUS = EventBus.create(RegisterClientTooltipComponentFactoriesEvent.class); + /** @deprecated {@link RegisterClientTooltipComponentFactoriesEvent} is no longer an {@link IModBusEvent}, so use {@link #BUS} directly. */ @Deprecated(forRemoval = true, since = "1.21.9") public static EventBus getBus(BusGroup modBusGroup) { return BUS; diff --git a/src/main/java/net/minecraftforge/client/event/RegisterColorHandlersEvent.java b/src/main/java/net/minecraftforge/client/event/RegisterColorHandlersEvent.java index 059349f5d8..0aaee87643 100644 --- a/src/main/java/net/minecraftforge/client/event/RegisterColorHandlersEvent.java +++ b/src/main/java/net/minecraftforge/client/event/RegisterColorHandlersEvent.java @@ -15,6 +15,7 @@ import net.minecraftforge.eventbus.api.event.MutableEvent; import net.minecraftforge.eventbus.api.event.RecordEvent; import net.minecraftforge.eventbus.api.event.characteristic.SelfDestructing; import net.minecraftforge.fml.LogicalSide; +import net.minecraftforge.fml.event.IModBusEvent; import org.jetbrains.annotations.ApiStatus; import org.jspecify.annotations.NullMarked; @@ -38,6 +39,7 @@ public sealed interface RegisterColorHandlersEvent { record Block(BlockColors getBlockColors) implements RecordEvent, RegisterColorHandlersEvent { public static final EventBus BUS = EventBus.create(Block.class); + /** @deprecated {@link RegisterColorHandlersEvent.Block} is no longer an {@link IModBusEvent}, so use {@link #BUS} directly. */ @Deprecated(forRemoval = true, since = "1.21.9") public static EventBus getBus(BusGroup modBusGroup) { return BUS; @@ -75,6 +77,7 @@ public sealed interface RegisterColorHandlersEvent { final class ColorResolvers extends MutableEvent implements SelfDestructing, RegisterColorHandlersEvent { public static final EventBus BUS = EventBus.create(ColorResolvers.class); + /** @deprecated {@link RegisterColorHandlersEvent.ColorResolvers} is no longer an {@link IModBusEvent}, so use {@link #BUS} directly. */ @Deprecated(forRemoval = true, since = "1.21.9") public static EventBus getBus(BusGroup modBusGroup) { return BUS; diff --git a/src/main/java/net/minecraftforge/client/event/RegisterDimensionSpecialEffectsEvent.java b/src/main/java/net/minecraftforge/client/event/RegisterDimensionSpecialEffectsEvent.java index 6cd413e252..76dc85f81f 100644 --- a/src/main/java/net/minecraftforge/client/event/RegisterDimensionSpecialEffectsEvent.java +++ b/src/main/java/net/minecraftforge/client/event/RegisterDimensionSpecialEffectsEvent.java @@ -12,6 +12,7 @@ import net.minecraftforge.eventbus.api.bus.EventBus; import net.minecraftforge.eventbus.api.event.MutableEvent; import net.minecraftforge.eventbus.api.event.characteristic.SelfDestructing; import net.minecraftforge.fml.LogicalSide; +import net.minecraftforge.fml.event.IModBusEvent; import org.jetbrains.annotations.ApiStatus; import org.jspecify.annotations.NullMarked; @@ -26,6 +27,7 @@ import java.util.Map; public final class RegisterDimensionSpecialEffectsEvent extends MutableEvent implements SelfDestructing { public static final EventBus BUS = EventBus.create(RegisterDimensionSpecialEffectsEvent.class); + /** @deprecated {@link RegisterDimensionSpecialEffectsEvent} is no longer an {@link IModBusEvent}, so use {@link #BUS} directly. */ @Deprecated(forRemoval = true, since = "1.21.9") public static EventBus getBus(BusGroup modBusGroup) { return BUS; diff --git a/src/main/java/net/minecraftforge/client/event/RegisterEntitySpectatorShadersEvent.java b/src/main/java/net/minecraftforge/client/event/RegisterEntitySpectatorShadersEvent.java index 72878f28ed..4418d15305 100644 --- a/src/main/java/net/minecraftforge/client/event/RegisterEntitySpectatorShadersEvent.java +++ b/src/main/java/net/minecraftforge/client/event/RegisterEntitySpectatorShadersEvent.java @@ -12,6 +12,7 @@ import net.minecraftforge.eventbus.api.bus.EventBus; import net.minecraftforge.eventbus.api.event.MutableEvent; import net.minecraftforge.eventbus.api.event.characteristic.SelfDestructing; import net.minecraftforge.fml.LogicalSide; +import net.minecraftforge.fml.event.IModBusEvent; import org.jetbrains.annotations.ApiStatus; import org.jspecify.annotations.NullMarked; @@ -27,6 +28,7 @@ import java.util.Map; public final class RegisterEntitySpectatorShadersEvent extends MutableEvent implements SelfDestructing { public static final EventBus BUS = EventBus.create(RegisterEntitySpectatorShadersEvent.class); + /** @deprecated {@link RegisterEntitySpectatorShadersEvent} is no longer an {@link IModBusEvent}, so use {@link #BUS} directly. */ @Deprecated(forRemoval = true, since = "1.21.9") public static EventBus getBus(BusGroup modBusGroup) { return BUS; diff --git a/src/main/java/net/minecraftforge/client/event/RegisterItemDecorationsEvent.java b/src/main/java/net/minecraftforge/client/event/RegisterItemDecorationsEvent.java index f38a56d6c0..3ce3087478 100644 --- a/src/main/java/net/minecraftforge/client/event/RegisterItemDecorationsEvent.java +++ b/src/main/java/net/minecraftforge/client/event/RegisterItemDecorationsEvent.java @@ -14,6 +14,7 @@ import net.minecraftforge.eventbus.api.bus.EventBus; import net.minecraftforge.eventbus.api.event.MutableEvent; import net.minecraftforge.eventbus.api.event.characteristic.SelfDestructing; import net.minecraftforge.fml.LogicalSide; +import net.minecraftforge.fml.event.IModBusEvent; import org.jetbrains.annotations.ApiStatus; import org.jspecify.annotations.NullMarked; @@ -30,6 +31,7 @@ import java.util.Map; public final class RegisterItemDecorationsEvent extends MutableEvent implements SelfDestructing { public static final EventBus BUS = EventBus.create(RegisterItemDecorationsEvent.class); + /** @deprecated {@link RegisterItemDecorationsEvent} is no longer an {@link IModBusEvent}, so use {@link #BUS} directly. */ @Deprecated(forRemoval = true, since = "1.21.9") public static EventBus getBus(BusGroup modBusGroup) { return BUS; diff --git a/src/main/java/net/minecraftforge/client/event/RegisterKeyMappingsEvent.java b/src/main/java/net/minecraftforge/client/event/RegisterKeyMappingsEvent.java index 9357ecd9e4..528aec2184 100644 --- a/src/main/java/net/minecraftforge/client/event/RegisterKeyMappingsEvent.java +++ b/src/main/java/net/minecraftforge/client/event/RegisterKeyMappingsEvent.java @@ -12,6 +12,7 @@ import net.minecraftforge.eventbus.api.bus.EventBus; import net.minecraftforge.eventbus.api.event.MutableEvent; import net.minecraftforge.eventbus.api.event.characteristic.SelfDestructing; import net.minecraftforge.fml.LogicalSide; +import net.minecraftforge.fml.event.IModBusEvent; import org.apache.commons.lang3.ArrayUtils; import org.jetbrains.annotations.ApiStatus; import org.jspecify.annotations.NullMarked; @@ -25,6 +26,7 @@ import org.jspecify.annotations.NullMarked; public final class RegisterKeyMappingsEvent extends MutableEvent implements SelfDestructing { public static final EventBus BUS = EventBus.create(RegisterKeyMappingsEvent.class); + /** @deprecated {@link RegisterKeyMappingsEvent} is no longer an {@link IModBusEvent}, so use {@link #BUS} directly. */ @Deprecated(forRemoval = true, since = "1.21.9") public static EventBus getBus(BusGroup modBusGroup) { return BUS; diff --git a/src/main/java/net/minecraftforge/client/event/RegisterNamedRenderTypesEvent.java b/src/main/java/net/minecraftforge/client/event/RegisterNamedRenderTypesEvent.java index cecda824fc..3b015881ab 100644 --- a/src/main/java/net/minecraftforge/client/event/RegisterNamedRenderTypesEvent.java +++ b/src/main/java/net/minecraftforge/client/event/RegisterNamedRenderTypesEvent.java @@ -16,6 +16,7 @@ import net.minecraftforge.eventbus.api.bus.EventBus; import net.minecraftforge.eventbus.api.event.MutableEvent; import net.minecraftforge.eventbus.api.event.characteristic.SelfDestructing; import net.minecraftforge.fml.LogicalSide; +import net.minecraftforge.fml.event.IModBusEvent; import org.jetbrains.annotations.ApiStatus; import java.util.Map; @@ -28,6 +29,7 @@ import java.util.Map; public final class RegisterNamedRenderTypesEvent extends MutableEvent implements SelfDestructing { public static final EventBus BUS = EventBus.create(RegisterNamedRenderTypesEvent.class); + /** @deprecated {@link RegisterNamedRenderTypesEvent} is no longer an {@link IModBusEvent}, so use {@link #BUS} directly. */ @Deprecated(forRemoval = true, since = "1.21.9") public static EventBus getBus(BusGroup modBusGroup) { return BUS; diff --git a/src/main/java/net/minecraftforge/client/event/RegisterParticleProvidersEvent.java b/src/main/java/net/minecraftforge/client/event/RegisterParticleProvidersEvent.java index d5e3ea6da9..24f4c7d768 100644 --- a/src/main/java/net/minecraftforge/client/event/RegisterParticleProvidersEvent.java +++ b/src/main/java/net/minecraftforge/client/event/RegisterParticleProvidersEvent.java @@ -13,6 +13,7 @@ import net.minecraftforge.eventbus.api.bus.BusGroup; import net.minecraftforge.eventbus.api.bus.EventBus; import net.minecraftforge.eventbus.api.event.MutableEvent; import net.minecraftforge.fml.LogicalSide; +import net.minecraftforge.fml.event.IModBusEvent; import net.minecraftforge.registries.RegisterEvent; import org.jetbrains.annotations.ApiStatus; import org.jspecify.annotations.NullMarked; @@ -29,6 +30,7 @@ import org.jspecify.annotations.NullMarked; public final class RegisterParticleProvidersEvent extends MutableEvent { public static EventBus BUS = EventBus.create(RegisterParticleProvidersEvent.class); + /** @deprecated {@link RegisterParticleProvidersEvent} is no longer an {@link IModBusEvent}, so use {@link #BUS} directly. */ @Deprecated(forRemoval = true, since = "1.21.9") public static EventBus getBus(BusGroup modBusGroup) { return BUS; diff --git a/src/main/java/net/minecraftforge/client/event/RegisterPresetEditorsEvent.java b/src/main/java/net/minecraftforge/client/event/RegisterPresetEditorsEvent.java index e5a97e6bc9..485f55cc1a 100644 --- a/src/main/java/net/minecraftforge/client/event/RegisterPresetEditorsEvent.java +++ b/src/main/java/net/minecraftforge/client/event/RegisterPresetEditorsEvent.java @@ -25,7 +25,7 @@ import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; /** *

Event for registering {@link PresetEditor} screen factories for world presets.

* - *

This event is fired on the {@linkplain FMLJavaModLoadingContext#getModEventBus() mod-specific event bus}, + *

This event is fired on the {@linkplain FMLJavaModLoadingContext#getModBusGroup() mod BusGroup}, * only on the {@linkplain LogicalSide#CLIENT logical client}.

*/ public final class RegisterPresetEditorsEvent implements SelfDestructing, IModBusEvent { diff --git a/src/main/java/net/minecraftforge/client/event/RegisterTextureAtlasSpriteLoadersEvent.java b/src/main/java/net/minecraftforge/client/event/RegisterTextureAtlasSpriteLoadersEvent.java index 4976a85bf8..08fc3ed448 100644 --- a/src/main/java/net/minecraftforge/client/event/RegisterTextureAtlasSpriteLoadersEvent.java +++ b/src/main/java/net/minecraftforge/client/event/RegisterTextureAtlasSpriteLoadersEvent.java @@ -15,6 +15,7 @@ import net.minecraftforge.eventbus.api.bus.EventBus; import net.minecraftforge.eventbus.api.event.MutableEvent; import net.minecraftforge.eventbus.api.event.characteristic.SelfDestructing; import net.minecraftforge.fml.LogicalSide; +import net.minecraftforge.fml.event.IModBusEvent; import org.jetbrains.annotations.ApiStatus; /** @@ -25,6 +26,7 @@ import org.jetbrains.annotations.ApiStatus; public final class RegisterTextureAtlasSpriteLoadersEvent extends MutableEvent implements SelfDestructing { public static final EventBus BUS = EventBus.create(RegisterTextureAtlasSpriteLoadersEvent.class); + /** {@link RegisterTextureAtlasSpriteLoadersEvent} is no longer an {@link IModBusEvent}, so use {@link #BUS} directly. */ @Deprecated(forRemoval = true, since = "1.21.9") public static EventBus getBus(BusGroup modBusGroup) { return BUS; diff --git a/src/main/java/net/minecraftforge/client/event/RenderHighlightEvent.java b/src/main/java/net/minecraftforge/client/event/RenderHighlightEvent.java index dc1fb92ce3..b378a8ff52 100644 --- a/src/main/java/net/minecraftforge/client/event/RenderHighlightEvent.java +++ b/src/main/java/net/minecraftforge/client/event/RenderHighlightEvent.java @@ -22,9 +22,9 @@ import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.Nullable; /** - * Fired before a selection highlight is rendered. + * Fired before a selection highlight is rendered.
* You should extract your custom data here so that you can use it in the render callback without effecting world state. - * + *

* See the two subclasses to listen for blocks or entities. * * @see Block diff --git a/src/main/java/net/minecraftforge/client/event/RenderNameTagEvent.java b/src/main/java/net/minecraftforge/client/event/RenderNameTagEvent.java index 1136eab7f0..0b332d3024 100644 --- a/src/main/java/net/minecraftforge/client/event/RenderNameTagEvent.java +++ b/src/main/java/net/minecraftforge/client/event/RenderNameTagEvent.java @@ -21,7 +21,7 @@ import org.jetbrains.annotations.ApiStatus; /** * Fired before an entity renderer renders the nameplate of an entity. * - *

This event is not {@linkplain Cancelable cancellable}, and {@linkplain HasResult has a result}.

+ *

This event {@linkplain HasResult has a result}:

*
    *
  • {@link Result#ALLOW} - the nameplate will be forcibly rendered.
  • *
  • {@link Result#DEFAULT} - the vanilla logic will be used.
  • diff --git a/src/main/java/net/minecraftforge/client/event/ScreenEvent.java b/src/main/java/net/minecraftforge/client/event/ScreenEvent.java index fc1549f35d..4a08eac6f0 100644 --- a/src/main/java/net/minecraftforge/client/event/ScreenEvent.java +++ b/src/main/java/net/minecraftforge/client/event/ScreenEvent.java @@ -24,6 +24,7 @@ import net.minecraftforge.fml.LogicalSide; import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.Nullable; import org.jspecify.annotations.NonNull; +import org.jspecify.annotations.NullMarked; import org.lwjgl.glfw.GLFW; import java.util.Collections; @@ -110,7 +111,7 @@ public sealed interface ScreenEvent { /** * Fired before the screen's overridable initialization method is fired. * - *

    This event is {@linkplain Cancellable cancellable}, and does not {@linkplain HasResult have a result}. + *

    This event is {@linkplain Cancellable cancellable}. * If the event is cancelled, the initialization method will not be called, and the widgets and children lists * will not be cleared.

    * @@ -129,8 +130,6 @@ public sealed interface ScreenEvent { /** * Fired after the screen's overridable initialization method is called. * - *

    This event is not {@linkplain Cancellable cancellable}, and does not {@linkplain HasResult have a result}.

    - * *

    This event is fired on the {@linkplain MinecraftForge#EVENT_BUS main Forge event bus}, * only on the {@linkplain LogicalSide#CLIENT logical client}.

    */ @@ -175,7 +174,7 @@ public sealed interface ScreenEvent { /** * Fired before the screen is drawn. * - *

    This event is {@linkplain Cancellable cancellable}, and does not {@linkplain HasResult have a result}. + *

    This event is {@linkplain Cancellable cancellable}. * If the event is cancelled, the screen will not be drawn.

    * *

    This event is fired on the {@linkplain MinecraftForge#EVENT_BUS main Forge event bus}, @@ -192,8 +191,6 @@ public sealed interface ScreenEvent { /** * Fired after the screen is drawn. * - *

    This event is not {@linkplain Cancellable cancellable}, and does not {@linkplain HasResult have a result}.

    - * *

    This event is fired on the {@linkplain MinecraftForge#EVENT_BUS main Forge event bus}, * only on the {@linkplain LogicalSide#CLIENT logical client}.

    */ @@ -343,7 +340,7 @@ public sealed interface ScreenEvent { /** * Fired before the mouse click is handled by the screen. * - *

    This event is {@linkplain Cancellable cancellable}, and does not {@linkplain HasResult have a result}. + *

    This event is {@linkplain Cancellable cancellable}. * If the event is cancelled, the screen's mouse click handler will be bypassed * and the corresponding {@link MouseButtonPressed.Post} will not be fired.

    * @@ -362,7 +359,7 @@ public sealed interface ScreenEvent { * Fired after the mouse click is handled, if the corresponding {@link MouseButtonPressed.Pre} was not * cancelled. * - *

    This event is not {@linkplain Cancellable cancellable}, {@linkplain HasResult has a result}.

    + *

    This event {@linkplain HasResult has a result}:

    *
      *
    • {@link Result#ALLOW} - forcibly sets the mouse click as handled
    • *
    • {@link Result#DEFAULT} - defaults to the return value of @@ -415,7 +412,7 @@ public sealed interface ScreenEvent { /** * Fired before the mouse release is handled by the screen. * - *

      This event is {@linkplain Cancellable cancellable}, and does not {@linkplain HasResult have a result}. + *

      This event is {@linkplain Cancellable cancellable}. * If the event is cancelled, the screen's mouse release handler will be bypassed * and the corresponding {@link MouseButtonReleased.Post} will not be fired.

      * @@ -434,11 +431,11 @@ public sealed interface ScreenEvent { * Fired after the mouse release is handled, if the corresponding {@link MouseButtonReleased.Pre} was * not cancelled. * - *

      This event is not {@linkplain Cancellable cancellable}, {@linkplain HasResult has a result}.

      + *

      This event {@linkplain HasResult has a result}:

      *
        *
      • {@link Result#ALLOW} - forcibly sets the mouse release as handled
      • *
      • {@link Result#DEFAULT} - defaults to the return value of - * {@link Screen#mouseReleased(double, double, int)} from the screen (see {@link #wasHandled()}.
      • + * {@link Screen#mouseReleased(MouseButtonEvent)} from the screen (see {@link #wasHandled()}. *
      • {@link Result#DENY} - forcibly sets the mouse release as not handled.
      • *
      * @@ -476,6 +473,7 @@ public sealed interface ScreenEvent { * @see MouseDragged.Pre * @see MouseDragged.Post */ + @NullMarked sealed interface MouseDragged extends MouseInput { /** * {@return the mouse button's input code} @@ -498,7 +496,7 @@ public sealed interface ScreenEvent { /** * Fired before the mouse drag is handled by the screen. * - *

      This event is {@linkplain Cancellable cancellable}, and does not {@linkplain HasResult have a result}. + *

      This event is {@linkplain Cancellable cancellable}. * If the event is cancelled, the screen's mouse drag handler will be bypassed * and the corresponding {@link MouseDragged.Post} will not be fired.

      * @@ -551,6 +549,7 @@ public sealed interface ScreenEvent { * @see MouseScrolled.Pre * @see MouseScrolled.Post */ + @NullMarked sealed interface MouseScrolled extends MouseInput { /** * {@return the amount of change / delta of the mouse scroll in the vertical direction} @@ -565,7 +564,7 @@ public sealed interface ScreenEvent { /** * Fired before the mouse scroll is handled by the screen. * - *

      This event is {@linkplain Cancellable cancellable}, and does not {@linkplain HasResult have a result}. + *

      This event is {@linkplain Cancellable cancellable}. * If the event is cancelled, the screen's mouse scroll handler will be bypassed * and the corresponding {@link MouseScrolled.Post} will not be fired.

      * @@ -666,7 +665,7 @@ public sealed interface ScreenEvent { /** * Fired before the key press is handled by the screen. * - *

      This event is {@linkplain Cancellable cancellable} and does not {@linkplain HasResult have a result}. + *

      This event is {@linkplain Cancellable cancellable}. * If the event is cancelled, the screen's key press handler will be bypassed * and the corresponding {@link KeyPressed.Post} will not be fired.

      * @@ -684,7 +683,7 @@ public sealed interface ScreenEvent { * Fired after the key press is handled, if not handled by the screen * and the corresponding {@link KeyPressed.Pre} is not cancelled. * - *

      This event is {@linkplain Cancellable cancellable}, and does not {@linkplain HasResult have a result}. + *

      This event is {@linkplain Cancellable cancellable}. * If the event is cancelled, the key press will be set as handled.

      * *

      This event is fired on the {@linkplain MinecraftForge#EVENT_BUS main Forge event bus}, @@ -709,7 +708,7 @@ public sealed interface ScreenEvent { /** * Fired before the key release is handled by the screen. * - *

      This event is {@linkplain Cancellable cancellable}, and does not {@linkplain HasResult have a result}. + *

      This event is {@linkplain Cancellable cancellable}. * If the event is cancelled, the screen's key release handler will be bypassed * and the corresponding {@link KeyReleased.Post} will not be fired.

      * @@ -727,7 +726,7 @@ public sealed interface ScreenEvent { * Fired after the key release is handled, if not handled by the screen * and the corresponding {@link KeyReleased.Pre} is not cancelled. * - *

      This event is {@linkplain Cancellable cancellable}, and does not {@linkplain HasResult have a result}. + *

      This event is {@linkplain Cancellable cancellable}. * If the event is cancelled, the key release will be set as handled.

      * *

      This event is fired on the {@linkplain MinecraftForge#EVENT_BUS main Forge event bus}, @@ -781,7 +780,7 @@ public sealed interface ScreenEvent { /** * Fired before the character input is handled by the screen. * - *

      This event is {@linkplain Cancellable cancellable}, and does not {@linkplain HasResult have a result}. + *

      This event is {@linkplain Cancellable cancellable}. * If the event is cancelled, the screen's character input handler will be bypassed * and the corresponding {@link CharacterTyped.Post} will not be fired.

      * @@ -799,7 +798,7 @@ public sealed interface ScreenEvent { * Fired after the character input is handled, if not handled by the screen * and the corresponding {@link CharacterTyped.Pre} is not cancelled. * - *

      This event is {@linkplain Cancellable cancellable}, and does not {@linkplain HasResult have a result}. + *

      This event is {@linkplain Cancellable cancellable}. * If the event is cancelled, the character input will be set as handled.

      * *

      This event is fired on the {@linkplain MinecraftForge#EVENT_BUS main Forge event bus}, @@ -817,7 +816,7 @@ public sealed interface ScreenEvent { * Fired before any {@link Screen} is opened, to allow changing it or preventing it from being opened. * All screen layers on the screen are closed before this event is fired. * - *

      This event is {@linkplain Cancellable cancellable}, and does not {@linkplain HasResult have a result}. + *

      This event is {@linkplain Cancellable cancellable}. * If this event is cancelled, then the {@code Screen} shall be prevented from opening and any previous screen * will remain open. However, cancelling this event will not prevent the closing of screen layers which happened before * this event fired.

      @@ -874,8 +873,6 @@ public sealed interface ScreenEvent { * Fired before a {@link Screen} is closed. * All screen layers on the screen are closed before this event is fired. * - *

      This event is not {@linkplain Cancellable cancellable}, and does not {@linkplain HasResult have a result}.

      - * *

      This event is fired on the {@linkplain MinecraftForge#EVENT_BUS main Forge event bus}, * only on the {@linkplain LogicalSide#CLIENT logical client}.

      */ diff --git a/src/main/java/net/minecraftforge/client/event/ScreenshotEvent.java b/src/main/java/net/minecraftforge/client/event/ScreenshotEvent.java index 17c2b0823a..1c1be2ff29 100644 --- a/src/main/java/net/minecraftforge/client/event/ScreenshotEvent.java +++ b/src/main/java/net/minecraftforge/client/event/ScreenshotEvent.java @@ -14,7 +14,8 @@ import net.minecraftforge.eventbus.api.event.MutableEvent; import net.minecraftforge.eventbus.api.event.characteristic.Cancellable; import net.minecraftforge.fml.LogicalSide; import org.jetbrains.annotations.ApiStatus; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.Nullable; import java.io.File; import java.io.IOException; @@ -22,7 +23,7 @@ import java.io.IOException; /** * Fired when a screenshot is taken, but before it is written to disk. * - *

      This event is {@linkplain Cancelable cancellable}, and does not {@linkplain HasResult have a result}. + *

      This event is {@linkplain Cancellable cancellable}. * If this event is cancelled, then the screenshot is not written to disk, and the message in the event will be posted * to the player's chat.

      * @@ -31,6 +32,7 @@ import java.io.IOException; * * @see Screenshot */ +@NullMarked public final class ScreenshotEvent extends MutableEvent implements Cancellable { public static final CancellableEventBus BUS = CancellableEventBus.create(ScreenshotEvent.class); public static final Component DEFAULT_CANCEL_REASON = Component.literal("Screenshot canceled"); @@ -80,7 +82,7 @@ public final class ScreenshotEvent extends MutableEvent implements Cancellable { * * @param resultMessage the new result message */ - public void setResultMessage(Component resultMessage) { + public void setResultMessage(@Nullable Component resultMessage) { this.resultMessage = resultMessage; } diff --git a/src/main/java/net/minecraftforge/client/event/TextureStitchEvent.java b/src/main/java/net/minecraftforge/client/event/TextureStitchEvent.java index f281c6556b..6429330aac 100644 --- a/src/main/java/net/minecraftforge/client/event/TextureStitchEvent.java +++ b/src/main/java/net/minecraftforge/client/event/TextureStitchEvent.java @@ -10,6 +10,7 @@ import net.minecraftforge.eventbus.api.bus.BusGroup; import net.minecraftforge.eventbus.api.bus.EventBus; import net.minecraftforge.eventbus.api.event.RecordEvent; import net.minecraftforge.fml.LogicalSide; +import net.minecraftforge.fml.event.IModBusEvent; import org.jetbrains.annotations.ApiStatus; import org.jspecify.annotations.NullMarked; @@ -63,6 +64,7 @@ public sealed interface TextureStitchEvent { record Post(TextureAtlas getAtlas) implements RecordEvent, TextureStitchEvent { public static final EventBus BUS = EventBus.create(Post.class); + /** @deprecated {@link TextureStitchEvent.Post} is no longer an {@link IModBusEvent}, so use {@link #BUS} directly. */ @Deprecated(forRemoval = true, since = "1.21.9") public static EventBus getBus(BusGroup modBusGroup) { return BUS; diff --git a/src/main/java/net/minecraftforge/client/event/ToastAddEvent.java b/src/main/java/net/minecraftforge/client/event/ToastAddEvent.java index 59952ff0d4..1552588283 100644 --- a/src/main/java/net/minecraftforge/client/event/ToastAddEvent.java +++ b/src/main/java/net/minecraftforge/client/event/ToastAddEvent.java @@ -16,7 +16,7 @@ import net.minecraftforge.fml.LogicalSide; * Fired when the client queues a {@link Toast} message to be shown onscreen. * Toasts are small popups that appear on the top right of the screen, for certain actions such as unlocking Advancements and Recipes. * - *

      This event is {@linkplain Cancelable cancellable}, and does not {@linkplain HasResult have a result}. + *

      This event is {@linkplain Cancellable cancellable}. * Cancelling the event stops the toast from being queued, which means it never renders.

      * *

      This event is fired on the {@linkplain MinecraftForge#EVENT_BUS main Forge event bus}, diff --git a/src/main/java/net/minecraftforge/client/event/ViewportEvent.java b/src/main/java/net/minecraftforge/client/event/ViewportEvent.java index d4ded86a01..d8e103f8bc 100644 --- a/src/main/java/net/minecraftforge/client/event/ViewportEvent.java +++ b/src/main/java/net/minecraftforge/client/event/ViewportEvent.java @@ -19,6 +19,7 @@ import net.minecraftforge.eventbus.api.event.characteristic.Cancellable; import net.minecraftforge.fml.LogicalSide; import org.jetbrains.annotations.ApiStatus; import org.joml.Vector4f; +import org.jspecify.annotations.NullMarked; /** * Fired for hooking into the entity view rendering in {@link GameRenderer}. @@ -52,7 +53,7 @@ public sealed interface ViewportEvent { /** * Fired for rendering custom fog. The plane distances are based on the player's render distance. * - *

      This event is {@linkplain Cancelable cancellable}, and {@linkplain HasResult has a result}.
      + *

      This event is {@linkplain Cancellable cancellable}.
      * The event must be cancelled for any changes to the plane distances to take effect.

      * *

      This event is fired on the {@linkplain MinecraftForge#EVENT_BUS main Forge event bus}, @@ -140,8 +141,6 @@ public sealed interface ViewportEvent { /** * Fired for customizing the color of the fog visible to the player. * - *

      This event is not {@linkplain Cancelable cancellable}, and does not {@linkplain HasResult have a result}.

      - * *

      This event is fired on the {@linkplain MinecraftForge#EVENT_BUS main Forge event bus}, * only on the {@linkplain LogicalSide#CLIENT logical client}.

      */ @@ -234,11 +233,10 @@ public sealed interface ViewportEvent { * Fired to allow altering the angles of the player's camera. * This can be used to alter the player's view for different effects, such as applying roll. * - *

      This event is not {@linkplain Cancelable cancellable}, and does not {@linkplain HasResult have a result}.

      - * *

      This event is fired on the {@linkplain MinecraftForge#EVENT_BUS main Forge event bus}, * only on the {@linkplain LogicalSide#CLIENT logical client}.

      */ + @NullMarked final class ComputeCameraAngles extends MutableEvent implements ViewportEvent { public static final EventBus BUS = EventBus.create(ComputeCameraAngles.class); @@ -327,13 +325,12 @@ public sealed interface ViewportEvent { * Fired for altering the raw field of view (FOV). * This is after the FOV settings are applied, and before modifiers such as the Nausea effect. * - *

      This event is not {@linkplain Cancelable cancellable}, and does not {@linkplain HasResult have a result}.

      - * *

      This event is fired on the {@linkplain MinecraftForge#EVENT_BUS main Forge event bus}, * only on the {@linkplain LogicalSide#CLIENT logical client}.

      * * @see ComputeFovModifierEvent */ + @NullMarked final class ComputeFov extends MutableEvent implements ViewportEvent { public static final EventBus BUS = EventBus.create(ComputeFov.class); diff --git a/src/main/java/net/minecraftforge/client/event/sound/SoundEngineLoadEvent.java b/src/main/java/net/minecraftforge/client/event/sound/SoundEngineLoadEvent.java index 9419b16915..e5c96e0799 100644 --- a/src/main/java/net/minecraftforge/client/event/sound/SoundEngineLoadEvent.java +++ b/src/main/java/net/minecraftforge/client/event/sound/SoundEngineLoadEvent.java @@ -10,6 +10,7 @@ import net.minecraftforge.eventbus.api.bus.BusGroup; import net.minecraftforge.eventbus.api.bus.EventBus; import net.minecraftforge.eventbus.api.event.RecordEvent; import net.minecraftforge.fml.LogicalSide; +import net.minecraftforge.fml.event.IModBusEvent; import org.jetbrains.annotations.ApiStatus; import org.jspecify.annotations.NullMarked; @@ -23,6 +24,7 @@ import org.jspecify.annotations.NullMarked; public record SoundEngineLoadEvent(SoundEngine getEngine) implements RecordEvent, SoundEvent { public static final EventBus BUS = EventBus.create(SoundEngineLoadEvent.class); + /** @deprecated {@link SoundEngineLoadEvent} is no longer an {@link IModBusEvent}, so use {@link #BUS} directly. */ @Deprecated(forRemoval = true, since = "1.21.9") public static EventBus getBus(BusGroup modBusGroup) { return BUS; diff --git a/src/main/java/net/minecraftforge/common/EventBusMigrationHelper.java b/src/main/java/net/minecraftforge/common/EventBusMigrationHelper.java index b188baef58..002a50b637 100644 --- a/src/main/java/net/minecraftforge/common/EventBusMigrationHelper.java +++ b/src/main/java/net/minecraftforge/common/EventBusMigrationHelper.java @@ -16,9 +16,16 @@ import java.util.Collection; /** * A small helper class to aid Forge modders in migrating from EventBus 6 to the new EventBus 7. - *
      - * Refer to the migration guide mentioned in the Forge 1.21.6 announcement or ask in the Forge Discord for help with - * migrating your mod to the new system. + *

      + * Refer to the migration guide + * mentioned in the Forge 1.21.6 changelog or + * 1.21.8 announcement on the + * forums, or ask in the Forge Discord for help with migrating your mod + * to the new system. + *

      + *

      + * You can also check the updated example code in the MDK for the MC + * version you're using. */ public final class EventBusMigrationHelper { public static final EventBusMigrationHelper INSTANCE = new EventBusMigrationHelper(BusGroup.DEFAULT); diff --git a/src/main/java/net/minecraftforge/common/MinecraftForge.java b/src/main/java/net/minecraftforge/common/MinecraftForge.java index 6ac68af0c6..efc38caa0e 100644 --- a/src/main/java/net/minecraftforge/common/MinecraftForge.java +++ b/src/main/java/net/minecraftforge/common/MinecraftForge.java @@ -10,9 +10,12 @@ import net.minecraft.client.gui.screens.Screen; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.client.ClientCommandHandler; import net.minecraftforge.client.ConfigScreenHandler; +import net.minecraftforge.eventbus.api.bus.BusGroup; import net.minecraftforge.fml.ModLoadingContext; import net.minecraftforge.fml.config.IConfigSpec; import net.minecraftforge.fml.config.ModConfig; +import net.minecraftforge.fml.event.IModBusEvent; +import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; import net.minecraftforge.fml.loading.FMLEnvironment; import net.minecraftforge.network.DualStackUtils; import net.minecraftforge.versions.forge.ForgeVersion; @@ -27,10 +30,15 @@ import java.util.function.Supplier; public class MinecraftForge { /** - * The EventBus for all the Forge Events. + * A helper for partial source-level back-compat with the old event system used in 1.21.5 and older, that acts as + * a wrapper around {@link BusGroup#DEFAULT}. * - * Events marked with {@link net.minecraftforge.fml.event.IModBusEvent} - * belong on the ModBus and not this bus + *

      Please refer to the javadocs for {@link EventBusMigrationHelper} for further information and resources on how + * to properly migrate your mod to the new event system.

      + * + *

      Events marked with {@link IModBusEvent} belong on the + * {@linkplain FMLJavaModLoadingContext#getModBusGroup() mod BusGroup} and not on the + * {@linkplain BusGroup#DEFAULT default BusGroup}.

      */ public static final EventBusMigrationHelper EVENT_BUS = EventBusMigrationHelper.INSTANCE; @@ -54,7 +62,7 @@ public class MinecraftForge { * @param screenFunction A function that takes the mods screen as an argument and returns your config screen to * show when the player clicks the config button for your mod on the mods screen. *

      You should call {@link Minecraft#setScreen(Screen)} with the provided mods screen for the - * action of your close button, using {@link Screen#minecraft} to get the client instance.

      + * action of your close button, using {@link Screen#getMinecraft()} to get the client instance.

      * @see ModLoadingContext#registerExtensionPoint(Class, Supplier) * @see ModLoadingContext#registerConfig(ModConfig.Type, IConfigSpec) */ diff --git a/src/main/java/net/minecraftforge/common/capabilities/RegisterCapabilitiesEvent.java b/src/main/java/net/minecraftforge/common/capabilities/RegisterCapabilitiesEvent.java index c895c95138..c7b6794717 100644 --- a/src/main/java/net/minecraftforge/common/capabilities/RegisterCapabilitiesEvent.java +++ b/src/main/java/net/minecraftforge/common/capabilities/RegisterCapabilitiesEvent.java @@ -10,6 +10,7 @@ import java.util.Objects; import net.minecraftforge.eventbus.api.bus.BusGroup; import net.minecraftforge.eventbus.api.bus.EventBus; import net.minecraftforge.eventbus.api.event.RecordEvent; +import net.minecraftforge.fml.event.IModBusEvent; import org.jspecify.annotations.NullMarked; import org.objectweb.asm.Type; @@ -24,17 +25,18 @@ import org.objectweb.asm.Type; public record RegisterCapabilitiesEvent() implements RecordEvent { public static final EventBus BUS = EventBus.create(RegisterCapabilitiesEvent.class); + /** @deprecated {@link RegisterCapabilitiesEvent} is no longer an {@link IModBusEvent}, so use {@link #BUS} directly. */ @Deprecated(forRemoval = true, since = "1.21.9") public static EventBus getBus(BusGroup modBusGroup) { return BUS; } /** - * Registers a capability to be consumed by others. - * APIs who define the capability should call this. - * This is meant to allow Capability consumers to have soft dependencies on the Capability type. - * But be automatically notified when the Class actually exists. Meaning it's safe to create their implementations. - * + * Registers a capability to be consumed by others.
      + * APIs who define the capability should call this.
      + * This is meant to allow Capability consumers to have soft dependencies on the Capability type.
      + * But be automatically notified when the Class actually exists. Meaning it's safe to create their implementations.
      + *
      * To retrieve the Capability instance, use the {@link CapabilityManager} gets functions. */ public void register(Class type) { diff --git a/src/main/java/net/minecraftforge/event/AddPackFindersEvent.java b/src/main/java/net/minecraftforge/event/AddPackFindersEvent.java index 01f66c426e..124b2dc3f6 100644 --- a/src/main/java/net/minecraftforge/event/AddPackFindersEvent.java +++ b/src/main/java/net/minecraftforge/event/AddPackFindersEvent.java @@ -11,6 +11,7 @@ import net.minecraft.server.packs.repository.RepositorySource; import net.minecraftforge.eventbus.api.bus.BusGroup; import net.minecraftforge.eventbus.api.bus.EventBus; import net.minecraftforge.eventbus.api.event.RecordEvent; +import net.minecraftforge.fml.event.IModBusEvent; import java.util.function.Consumer; @@ -22,6 +23,7 @@ import java.util.function.Consumer; public record AddPackFindersEvent(PackType getPackType, Consumer sourceAdder) implements RecordEvent { public static final EventBus BUS = EventBus.create(AddPackFindersEvent.class); + /** @deprecated {@link AddPackFindersEvent} is no longer an {@link IModBusEvent}, so use {@link #BUS} directly. */ @Deprecated(forRemoval = true, since = "1.21.9") public static EventBus getBus(BusGroup modBusGroup) { return BUS; diff --git a/src/main/java/net/minecraftforge/event/BuildCreativeModeTabContentsEvent.java b/src/main/java/net/minecraftforge/event/BuildCreativeModeTabContentsEvent.java index 072ebbb7e8..9608ef35e3 100644 --- a/src/main/java/net/minecraftforge/event/BuildCreativeModeTabContentsEvent.java +++ b/src/main/java/net/minecraftforge/event/BuildCreativeModeTabContentsEvent.java @@ -15,6 +15,7 @@ import net.minecraftforge.eventbus.api.bus.BusGroup; import net.minecraftforge.eventbus.api.bus.EventBus; import net.minecraftforge.eventbus.api.event.RecordEvent; import net.minecraftforge.fml.LogicalSide; +import net.minecraftforge.fml.event.IModBusEvent; import org.jetbrains.annotations.ApiStatus; import org.jspecify.annotations.NullMarked; @@ -38,6 +39,7 @@ public record BuildCreativeModeTabContentsEvent( ) implements RecordEvent, CreativeModeTab.Output { public static final EventBus BUS = EventBus.create(BuildCreativeModeTabContentsEvent.class); + /** @deprecated {@link BuildCreativeModeTabContentsEvent} is no longer an {@link IModBusEvent}, so use {@link #BUS} directly. */ @Deprecated(forRemoval = true, since = "1.21.9") public static EventBus getBus(BusGroup modBusGroup) { return BUS; diff --git a/src/main/java/net/minecraftforge/event/DifficultyChangeEvent.java b/src/main/java/net/minecraftforge/event/DifficultyChangeEvent.java index e6f8317496..affb64b101 100644 --- a/src/main/java/net/minecraftforge/event/DifficultyChangeEvent.java +++ b/src/main/java/net/minecraftforge/event/DifficultyChangeEvent.java @@ -6,15 +6,13 @@ package net.minecraftforge.event; import net.minecraft.world.Difficulty; -import net.minecraftforge.common.ForgeHooks; -import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.eventbus.api.bus.EventBus; import net.minecraftforge.eventbus.api.event.RecordEvent; /** * DifficultyChangeEvent is fired when difficulty is changing.
      *
      - * This event is fired via the {@link ForgeHooks#onDifficultyChange(Difficulty, Difficulty)}.
      + * This event is fired via the {@link ForgeEventFactory#onDifficultyChange(Difficulty, Difficulty)}.
      */ public record DifficultyChangeEvent(Difficulty getDifficulty, Difficulty getOldDifficulty) implements RecordEvent { public static final EventBus BUS = EventBus.create(DifficultyChangeEvent.class); diff --git a/src/main/java/net/minecraftforge/event/GrindstoneEvent.java b/src/main/java/net/minecraftforge/event/GrindstoneEvent.java index 536d152fac..4cc7af773b 100644 --- a/src/main/java/net/minecraftforge/event/GrindstoneEvent.java +++ b/src/main/java/net/minecraftforge/event/GrindstoneEvent.java @@ -58,7 +58,7 @@ public abstract sealed class GrindstoneEvent extends MutableEvent implements Inh } /** - * This event is {@link Cancelable}
      + * This event is {@link Cancellable}
      * {@link OnPlaceItem} is fired when the inputs to a grindstone are changed.
      * * The following rules apply: @@ -72,7 +72,7 @@ public abstract sealed class GrindstoneEvent extends MutableEvent implements Inh *
    • Vanilla XP calculation logic will be used unless all of the following criterias are met:
    • *
        *
      • the amount of experience is greater than or equal to {@code 0};
      • - *
      • the event is not {@linkplain #isCanceled() canceled};
      • + *
      • the event is not {@linkplain Cancellable cancelled};
      • *
      • the {@linkplain #getOutput() output} is not empty.
      • *
      *
    @@ -108,7 +108,7 @@ public abstract sealed class GrindstoneEvent extends MutableEvent implements Inh } /** - * This event is {@link Cancelable}
    + * This event is {@link Cancellable}
    * {@link OnTakeItem} is fired when the output in a grindstone are is taken.
    * It is called from {@link GrindstoneMenu#GrindstoneMenu(int, Inventory)}.
    * If the event is canceled, vanilla behavior will not run, and no inputs will be consumed.
    diff --git a/src/main/java/net/minecraftforge/event/ModMismatchEvent.java b/src/main/java/net/minecraftforge/event/ModMismatchEvent.java index a6e954f601..de10556d6c 100644 --- a/src/main/java/net/minecraftforge/event/ModMismatchEvent.java +++ b/src/main/java/net/minecraftforge/event/ModMismatchEvent.java @@ -35,8 +35,7 @@ import java.util.stream.Stream; * unsafe to access server or level information during handling of this event. *

    * - *

    This event is not {@linkplain Cancelable cancellable}, and does not {@linkplain HasResult have a result}.

    - *

    This event is fired on the {@linkplain FMLJavaModLoadingContext#getModEventBus() mod-specific event bus}, + *

    This event is fired on the {@linkplain FMLJavaModLoadingContext#getModBusGroup() mod BusGroup}, * on both {@linkplain LogicalSide logical sides}.

    */ public final class ModMismatchEvent implements IModBusEvent { diff --git a/src/main/java/net/minecraftforge/event/PlayLevelSoundEvent.java b/src/main/java/net/minecraftforge/event/PlayLevelSoundEvent.java index 7e4ee0a2e6..ee9c1353cc 100644 --- a/src/main/java/net/minecraftforge/event/PlayLevelSoundEvent.java +++ b/src/main/java/net/minecraftforge/event/PlayLevelSoundEvent.java @@ -141,8 +141,8 @@ public sealed class PlayLevelSoundEvent extends MutableEvent implements Cancella * PlayLevelSoundEvent.AtEntity is fired when a sound is played on the {@link Level} at an {@link Entity Entity}'s position. * This event is fired from {@link Level#playSound}, {@link Level#playSeededSound}, and {@link LocalPlayer#playSound}. *

    - * This event is {@link Cancelable cancelable}. - * If this event is canceled, the sound is not played. + * This event is {@link Cancellable cancellable}. + * If this event is cancelled, the sound is not played. *

    * This event does not have a result. *

    @@ -170,8 +170,8 @@ public sealed class PlayLevelSoundEvent extends MutableEvent implements Cancella * PlayLevelSoundEvent.AtPosition is fired when a sound is played on the {@link Level} at a specific position. * This event is fired from {@link Level#playSound} and {@link Level#playSeededSound}. *

    - * This event is {@link Cancelable cancelable}. - * If this event is canceled, the sound is not played. + * This event is {@link Cancellable cancellable}. + * If this event is cancelled, the sound is not played. *

    * This event does not have a result. *

    diff --git a/src/main/java/net/minecraftforge/event/brewing/PotionBrewEvent.java b/src/main/java/net/minecraftforge/event/brewing/PotionBrewEvent.java index 3d81cb587b..0c8054236a 100644 --- a/src/main/java/net/minecraftforge/event/brewing/PotionBrewEvent.java +++ b/src/main/java/net/minecraftforge/event/brewing/PotionBrewEvent.java @@ -48,10 +48,8 @@ public sealed abstract class PotionBrewEvent extends MutableEvent implements Inh *
    * {@link #stacks} contains the itemstack array from the TileEntityBrewer holding all items in Brewer.
    *
    - * This event is {@link net.minecraftforge.eventbus.api.Cancelable}.
    - * If the event is not canceled, the vanilla brewing will take place instead of modded brewing. - *
    - * This event does not have a result. {@link HasResult}
    + * This event is {@link Cancellable}.
    + * If the event is not cancelled, the vanilla brewing will take place instead of modded brewing. *
    * This event is fired on the {@link MinecraftForge#EVENT_BUS}.
    *
    @@ -72,10 +70,6 @@ public sealed abstract class PotionBrewEvent extends MutableEvent implements Inh *
    * {@link #stacks} contains the itemstack array from the TileEntityBrewer holding all items in Brewer.
    *
    - * This event is not {@link net.minecraftforge.eventbus.api.Cancelable}.
    - *
    - * This event does not have a result. {@link HasResult}
    - *
    * This event is fired on the {@link MinecraftForge#EVENT_BUS}.
    **/ public static final class Post extends PotionBrewEvent { diff --git a/src/main/java/net/minecraftforge/event/entity/EntityAttributeCreationEvent.java b/src/main/java/net/minecraftforge/event/entity/EntityAttributeCreationEvent.java index 1b4df7d5b6..7b38115877 100644 --- a/src/main/java/net/minecraftforge/event/entity/EntityAttributeCreationEvent.java +++ b/src/main/java/net/minecraftforge/event/entity/EntityAttributeCreationEvent.java @@ -14,6 +14,7 @@ import net.minecraft.world.entity.ai.attributes.DefaultAttributes; import net.minecraftforge.eventbus.api.bus.BusGroup; import net.minecraftforge.eventbus.api.bus.EventBus; import net.minecraftforge.eventbus.api.event.MutableEvent; +import net.minecraftforge.fml.event.IModBusEvent; /** * EntityAttributeCreationEvent.
    @@ -23,6 +24,7 @@ import net.minecraftforge.eventbus.api.event.MutableEvent; public final class EntityAttributeCreationEvent extends MutableEvent { public static final EventBus BUS = EventBus.create(EntityAttributeCreationEvent.class); + /** @deprecated {@link EntityAttributeCreationEvent} is no longer an {@link IModBusEvent}, so use {@link #BUS} directly. */ @Deprecated(forRemoval = true, since = "1.21.9") public static EventBus getBus(BusGroup modBusGroup) { return BUS; diff --git a/src/main/java/net/minecraftforge/event/entity/EntityAttributeModificationEvent.java b/src/main/java/net/minecraftforge/event/entity/EntityAttributeModificationEvent.java index c3870eed1c..15b0f02b56 100644 --- a/src/main/java/net/minecraftforge/event/entity/EntityAttributeModificationEvent.java +++ b/src/main/java/net/minecraftforge/event/entity/EntityAttributeModificationEvent.java @@ -14,6 +14,7 @@ import net.minecraft.world.entity.ai.attributes.DefaultAttributes; import net.minecraftforge.eventbus.api.bus.BusGroup; import net.minecraftforge.eventbus.api.bus.EventBus; import net.minecraftforge.eventbus.api.event.MutableEvent; +import net.minecraftforge.fml.event.IModBusEvent; import net.minecraftforge.registries.ForgeRegistries; import java.util.List; @@ -27,6 +28,7 @@ import java.util.Map; public final class EntityAttributeModificationEvent extends MutableEvent { public static final EventBus BUS = EventBus.create(EntityAttributeModificationEvent.class); + /** @deprecated {@link EntityAttributeModificationEvent} is no longer an {@link IModBusEvent}, so use {@link #BUS} directly. */ @Deprecated(forRemoval = true, since = "1.21.9") public static EventBus getBus(BusGroup modBusGroup) { return BUS; diff --git a/src/main/java/net/minecraftforge/event/entity/EntityEvent.java b/src/main/java/net/minecraftforge/event/entity/EntityEvent.java index e6ab1306f1..7c88a7ecd1 100644 --- a/src/main/java/net/minecraftforge/event/entity/EntityEvent.java +++ b/src/main/java/net/minecraftforge/event/entity/EntityEvent.java @@ -11,7 +11,7 @@ import net.minecraftforge.eventbus.api.bus.EventBus; import net.minecraftforge.eventbus.api.event.RecordEvent; /** - * EntityEvent is fired when an event involving any Entity occurs. + * EntityEvent is a marker interface for when an event involving any Entity occurs. */ public interface EntityEvent { /** diff --git a/src/main/java/net/minecraftforge/event/entity/EntityJoinLevelEvent.java b/src/main/java/net/minecraftforge/event/entity/EntityJoinLevelEvent.java index 7497a2a664..23ede0ca5a 100644 --- a/src/main/java/net/minecraftforge/event/entity/EntityJoinLevelEvent.java +++ b/src/main/java/net/minecraftforge/event/entity/EntityJoinLevelEvent.java @@ -23,7 +23,7 @@ import net.minecraftforge.fml.LogicalSide; * You will cause chunk loading deadlocks if you do not delay your world interactions. *

    * This event is {@linkplain Cancellable cancellable}. - * If the event is canceled, the entity will not be added to the level. + * If the event is cancelled, the entity will not be added to the level. *

    * This event is fired on the {@linkplain MinecraftForge#EVENT_BUS main Forge event bus} * on both logical sides. diff --git a/src/main/java/net/minecraftforge/event/entity/SpawnPlacementRegisterEvent.java b/src/main/java/net/minecraftforge/event/entity/SpawnPlacementRegisterEvent.java index 8693360ef8..5c16aca80b 100644 --- a/src/main/java/net/minecraftforge/event/entity/SpawnPlacementRegisterEvent.java +++ b/src/main/java/net/minecraftforge/event/entity/SpawnPlacementRegisterEvent.java @@ -20,6 +20,7 @@ import net.minecraftforge.eventbus.api.bus.BusGroup; import net.minecraftforge.eventbus.api.bus.EventBus; import net.minecraftforge.eventbus.api.event.MutableEvent; import net.minecraftforge.eventbus.api.listener.Priority; +import net.minecraftforge.fml.event.IModBusEvent; import net.minecraftforge.registries.ForgeRegistries; import org.jetbrains.annotations.ApiStatus; @@ -41,6 +42,7 @@ import org.jetbrains.annotations.ApiStatus; public final class SpawnPlacementRegisterEvent extends MutableEvent { public static final EventBus BUS = EventBus.create(SpawnPlacementRegisterEvent.class); + /** @deprecated {@link SpawnPlacementRegisterEvent} is no longer an {@link IModBusEvent}, so use {@link #BUS} directly. */ @Deprecated(forRemoval = true, since = "1.21.9") public static EventBus getBus(BusGroup modBusGroup) { return BUS; diff --git a/src/main/java/net/minecraftforge/event/entity/living/BabyEntitySpawnEvent.java b/src/main/java/net/minecraftforge/event/entity/living/BabyEntitySpawnEvent.java index a4dccbcce7..fd8f9bbec7 100644 --- a/src/main/java/net/minecraftforge/event/entity/living/BabyEntitySpawnEvent.java +++ b/src/main/java/net/minecraftforge/event/entity/living/BabyEntitySpawnEvent.java @@ -30,12 +30,10 @@ import org.jetbrains.annotations.Nullable; * {@link #causedByPlayer} contains the player responsible for the breading (if applicable).
    * {@link #child} contains the child that will be spawned.
    *
    - * This event is {@link Cancelable}.
    - * If this event is canceled, the child Entity is not added to the world, and the parents
    + * This event is {@link Cancellable}.
    + * If this event is cancelled, the child Entity is not added to the world, and the parents
    * will no longer attempt to mate. *
    - * This event does not have a result. {@link HasResult}
    - *
    * This event is fired on the {@link MinecraftForge#EVENT_BUS}. **/ public final class BabyEntitySpawnEvent extends MutableEvent implements Cancellable { diff --git a/src/main/java/net/minecraftforge/event/entity/living/LivingAttackEvent.java b/src/main/java/net/minecraftforge/event/entity/living/LivingAttackEvent.java index d16396a84d..53ab771ccd 100644 --- a/src/main/java/net/minecraftforge/event/entity/living/LivingAttackEvent.java +++ b/src/main/java/net/minecraftforge/event/entity/living/LivingAttackEvent.java @@ -22,7 +22,7 @@ import net.minecraftforge.eventbus.api.event.characteristic.Cancellable; * This event is fired via the {@link ForgeHooks#onLivingAttack(LivingEntity, DamageSource, float)}.
    *
    * This event is {@linkplain Cancellable cancellable}.
    - * If this event is canceled, the Entity does not take attack damage. + * If this event is cancelled, the Entity does not take attack damage. * * @param getSource the source of the attack * @param getAmount the amount of damage dealt to the entity diff --git a/src/main/java/net/minecraftforge/event/entity/living/LivingDropsEvent.java b/src/main/java/net/minecraftforge/event/entity/living/LivingDropsEvent.java index 48f78adaab..cc3c12bb7d 100644 --- a/src/main/java/net/minecraftforge/event/entity/living/LivingDropsEvent.java +++ b/src/main/java/net/minecraftforge/event/entity/living/LivingDropsEvent.java @@ -20,7 +20,7 @@ import net.minecraftforge.eventbus.api.event.characteristic.Cancellable; * This event is fired whenever an Entity dies and drops items in * {@link LivingEntity#die(DamageSource)}.
    *
    - * This event is fired via the {@link ForgeEventFactory#onLivingDrops(LivingEntity, DamageSource, Collection, int, boolean)} .
    + * This event is fired via the {@link ForgeEventFactory#onLivingDrops(LivingEntity, DamageSource, Collection, boolean)}.
    *
    * @param getSource contains the DamageSource that caused the drop to occur. * @param getDrops contains the ArrayList of EntityItems that will be dropped. diff --git a/src/main/java/net/minecraftforge/event/entity/living/LivingEntityUseItemEvent.java b/src/main/java/net/minecraftforge/event/entity/living/LivingEntityUseItemEvent.java index 0f537a3be4..1c9112304e 100644 --- a/src/main/java/net/minecraftforge/event/entity/living/LivingEntityUseItemEvent.java +++ b/src/main/java/net/minecraftforge/event/entity/living/LivingEntityUseItemEvent.java @@ -46,15 +46,16 @@ public sealed abstract class LivingEntityUseItemEvent extends MutableEvent imple } /** - * Fired when a player starts 'using' an item, typically when they hold right mouse. + * Fired when a player starts 'using' an item, typically when they hold right mouse.
    * Examples: - * Drawing a bow - * Eating Food - * Drinking Potions/Milk - * Guarding with a sword - * + *

      + *
    • Drawing a bow
    • + *
    • Eating food
    • + *
    • Drinking potions/milk
    • + *
    • Guarding with a sword
    • + *
    + *

    * Cancel the event, or set the duration or {@literal <} 0 to prevent it from processing. - * */ public static final class Start extends LivingEntityUseItemEvent implements Cancellable { public static final CancellableEventBus BUS = CancellableEventBus.create(Start.class); @@ -66,9 +67,8 @@ public sealed abstract class LivingEntityUseItemEvent extends MutableEvent imple /** * Fired every tick that a player is 'using' an item, see {@link Start} for info. - * + *

    * Cancel the event, or set the duration to {@literal <=} 0 to cause the player to stop using the item. - * */ public static final class Tick extends LivingEntityUseItemEvent implements Cancellable { public static final CancellableEventBus BUS = CancellableEventBus.create(Tick.class); diff --git a/src/main/java/net/minecraftforge/event/entity/living/LivingEvent.java b/src/main/java/net/minecraftforge/event/entity/living/LivingEvent.java index c8f3f19e2a..f3556e19b4 100644 --- a/src/main/java/net/minecraftforge/event/entity/living/LivingEvent.java +++ b/src/main/java/net/minecraftforge/event/entity/living/LivingEvent.java @@ -18,7 +18,7 @@ import net.minecraftforge.eventbus.api.event.characteristic.Cancellable; import org.jetbrains.annotations.Nullable; /** - * LivingEvent is fired whenever an event involving a {@link LivingEntity} occurs. + * LivingEvent is a marker interface for whenever an event involving a {@link LivingEntity} occurs. */ public interface LivingEvent extends EntityEvent { @Override diff --git a/src/main/java/net/minecraftforge/event/entity/living/LivingFallEvent.java b/src/main/java/net/minecraftforge/event/entity/living/LivingFallEvent.java index b3db82354a..fcf0387577 100644 --- a/src/main/java/net/minecraftforge/event/entity/living/LivingFallEvent.java +++ b/src/main/java/net/minecraftforge/event/entity/living/LivingFallEvent.java @@ -18,9 +18,9 @@ import net.minecraftforge.eventbus.api.event.characteristic.Cancellable; *
    * This event is fired via the {@link net.minecraftforge.event.ForgeEventFactory#onLivingFall(LivingEntity, double, float)}.
    *
    - * {@link #distance} contains the distance the Entity is to fall. If this event is canceled, this value is set to 0.0F. + * {@link #distance} contains the distance the Entity is to fall. If this event is cancelled, this value is set to 0.0F. *
    - * This event is {@linkplain Cancellable cancellable}. If this event is canceled, the Entity does not fall. + * This event is {@linkplain Cancellable cancellable}. If this event is cancelled, the Entity does not fall. **/ public final class LivingFallEvent extends MutableEvent implements Cancellable, LivingEvent { public static final CancellableEventBus BUS = CancellableEventBus.create(LivingFallEvent.class); diff --git a/src/main/java/net/minecraftforge/event/entity/living/MobEffectEvent.java b/src/main/java/net/minecraftforge/event/entity/living/MobEffectEvent.java index cdb353d289..07d4bb0f65 100644 --- a/src/main/java/net/minecraftforge/event/entity/living/MobEffectEvent.java +++ b/src/main/java/net/minecraftforge/event/entity/living/MobEffectEvent.java @@ -69,12 +69,12 @@ public sealed interface MobEffectEvent extends LivingEvent, InheritableEvent { /** * This event is fired to check if a {@link MobEffectInstance} can be applied to an entity. - * This event is not {@link Cancelable}. - * This event {@link HasResult has a result}. - *

    - * {@link Result#ALLOW ALLOW} will apply this mob effect. - * {@link Result#DENY DENY} will not apply this mob effect. - * {@link Result#DEFAULT DEFAULT} will run vanilla logic to determine if this mob effect is applicable in {@link LivingEntity#canBeAffected}. + *

    This event {@link HasResult has a result}:

    + *
      + *
    • {@link Result#ALLOW ALLOW} will apply this mob effect.
    • + *
    • {@link Result#DENY DENY} will not apply this mob effect.
    • + *
    • {@link Result#DEFAULT DEFAULT} will run vanilla logic to determine if this mob effect is applicable in {@link LivingEntity#canBeAffected}.
    • + *
    */ final class Applicable implements MobEffectEvent, HasResult { public static final EventBus BUS = EventBus.create(Applicable.class); diff --git a/src/main/java/net/minecraftforge/event/entity/living/ZombieEvent.java b/src/main/java/net/minecraftforge/event/entity/living/ZombieEvent.java index 3f8881c09f..72fac8cca9 100644 --- a/src/main/java/net/minecraftforge/event/entity/living/ZombieEvent.java +++ b/src/main/java/net/minecraftforge/event/entity/living/ZombieEvent.java @@ -39,22 +39,22 @@ public sealed abstract class ZombieEvent implements EntityEvent, InheritableEven * SummonAidEvent is fired when a Zombie Entity is summoned. * This event is fired whenever a Zombie Entity is summoned in * {@code Zombie#actuallyHurt(DamageSource, float)}. - * + *
    * This event is fired via the {@link ForgeEventFactory#fireZombieSummonAid(Zombie, Level, int, int, int, LivingEntity, double)}. - * - * {@link #getCustomSummonedAid()} remains null, but can be populated with a custom EntityZombie which will be spawned. - * {@link #getLevel()} contains the world that this summoning is occurring in. - * {@link #getX()} contains the x-coordinate at which this summoning event is occurring. - * {@link #getY()} contains the y-coordinate at which this summoning event is occurring. - * {@link #getZ()} contains the z-coordinate at which this summoning event is occurring. - * {@link #getAttacker()} contains the living Entity that attacked and caused this event to fire. - * {@link #getSummonChance()} contains the likelihood that a Zombie would successfully be summoned. - * - * This event is not {@link Cancelable}. - * - * This event has a result. {@link HasResult} - * {@link Result#ALLOW} Zombie is summoned. - * {@link Result#DENY} Zombie is not summoned. + *
    + * {@link #getCustomSummonedAid()} remains null, but can be populated with a custom EntityZombie which will be spawned.
    + * {@link #getLevel()} contains the world that this summoning is occurring in.
    + * {@link #getX()} contains the x-coordinate at which this summoning event is occurring.
    + * {@link #getY()} contains the y-coordinate at which this summoning event is occurring.
    + * {@link #getZ()} contains the z-coordinate at which this summoning event is occurring.
    + * {@link #getAttacker()} contains the living Entity that attacked and caused this event to fire.
    + * {@link #getSummonChance()} contains the likelihood that a Zombie would successfully be summoned.
    + *
    + * This event {@linkplain HasResult has a result}: + *
      + *
    • {@link Result#ALLOW} Zombie is summoned.
    • + *
    • {@link Result#DENY} Zombie is not summoned.
    • + *
    * * This event is fired on the {@link MinecraftForge#EVENT_BUS}. **/ diff --git a/src/main/java/net/minecraftforge/event/entity/player/AdvancementEvent.java b/src/main/java/net/minecraftforge/event/entity/player/AdvancementEvent.java index 13e4116a7b..4c9fbb68fa 100644 --- a/src/main/java/net/minecraftforge/event/entity/player/AdvancementEvent.java +++ b/src/main/java/net/minecraftforge/event/entity/player/AdvancementEvent.java @@ -5,7 +5,6 @@ package net.minecraftforge.event.entity.player; -import net.minecraft.advancements.Advancement; import net.minecraft.advancements.AdvancementHolder; import net.minecraft.advancements.AdvancementProgress; import net.minecraft.world.entity.player.Player; @@ -46,8 +45,8 @@ public sealed interface AdvancementEvent extends PlayerEvent { * @param getProgressType the type of progress for the criterion in this event * * @see AdvancementEarnEvent - * @see net.minecraft.server.PlayerAdvancements#award(Advancement, String) - * @see net.minecraft.server.PlayerAdvancements#revoke(Advancement, String) + * @see net.minecraft.server.PlayerAdvancements#award(AdvancementHolder, String) + * @see net.minecraft.server.PlayerAdvancements#revoke(AdvancementHolder, String) */ record AdvancementProgressEvent( Player getEntity, diff --git a/src/main/java/net/minecraftforge/event/entity/player/AttackEntityEvent.java b/src/main/java/net/minecraftforge/event/entity/player/AttackEntityEvent.java index ef956f8224..890bb7c633 100644 --- a/src/main/java/net/minecraftforge/event/entity/player/AttackEntityEvent.java +++ b/src/main/java/net/minecraftforge/event/entity/player/AttackEntityEvent.java @@ -16,7 +16,7 @@ import net.minecraftforge.eventbus.api.event.characteristic.Cancellable; * This event is fired whenever a player attacks an Entity in * {@link Player#attack(Entity)}.
    *
    - * {@link #target} contains the Entity that was damaged by the player.
    + * {@link #getTarget()} contains the Entity that was damaged by the player.
    *
    * This event is {@linkplain Cancellable cancellable}. If this event is cancelled, the player does not attack the Entity. **/ diff --git a/src/main/java/net/minecraftforge/event/entity/player/CriticalHitEvent.java b/src/main/java/net/minecraftforge/event/entity/player/CriticalHitEvent.java index fb4b357b7d..b6c3864480 100644 --- a/src/main/java/net/minecraftforge/event/entity/player/CriticalHitEvent.java +++ b/src/main/java/net/minecraftforge/event/entity/player/CriticalHitEvent.java @@ -16,10 +16,12 @@ import net.minecraftforge.eventbus.api.event.MutableEvent; * This event is fired whenever a player attacks an Entity in * EntityPlayer#attackTargetEntityWithCurrentItem(Entity).
    *
    - * This event has a result. {@link HasResult}
    - * DEFAULT: means the vanilla logic will determine if this a critical hit.
    - * DENY: it will not be a critical hit but the player still will attack
    - * ALLOW: this attack is forced to be critical + * This event {@linkplain HasResult has a result}: + *
      + *
    • {@link Result#DEFAULT}: means the vanilla logic will determine if this a critical hit.
    • + *
    • {@link Result#DENY}: it will not be a critical hit but the player still will attack
    • + *
    • {@link Result#ALLOW}: this attack is forced to be critical
    • + *
    **/ public final class CriticalHitEvent extends MutableEvent implements PlayerEvent, HasResult { public static final EventBus BUS = EventBus.create(CriticalHitEvent.class); diff --git a/src/main/java/net/minecraftforge/event/entity/player/PlayerContainerEvent.java b/src/main/java/net/minecraftforge/event/entity/player/PlayerContainerEvent.java index 4794253c7c..e964f45b3b 100644 --- a/src/main/java/net/minecraftforge/event/entity/player/PlayerContainerEvent.java +++ b/src/main/java/net/minecraftforge/event/entity/player/PlayerContainerEvent.java @@ -9,12 +9,14 @@ import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraftforge.eventbus.api.bus.EventBus; import net.minecraftforge.eventbus.api.event.InheritableEvent; +import org.jspecify.annotations.NullMarked; public sealed interface PlayerContainerEvent extends PlayerEvent, InheritableEvent { EventBus BUS = EventBus.create(PlayerContainerEvent.class); AbstractContainerMenu getContainer(); + @NullMarked record Open(Player getEntity, AbstractContainerMenu getContainer) implements PlayerContainerEvent { public static final EventBus BUS = EventBus.create(Open.class); } diff --git a/src/main/java/net/minecraftforge/event/entity/player/PlayerEvent.java b/src/main/java/net/minecraftforge/event/entity/player/PlayerEvent.java index 33236758c8..d7cb08bc04 100644 --- a/src/main/java/net/minecraftforge/event/entity/player/PlayerEvent.java +++ b/src/main/java/net/minecraftforge/event/entity/player/PlayerEvent.java @@ -32,10 +32,8 @@ import org.jetbrains.annotations.Nullable; import org.jspecify.annotations.NullMarked; /** - * PlayerEvent is fired whenever an event involving a {@link Player} occurs.
    - * If a method utilizes this {@link net.minecraftforge.eventbus.api.Event} as its parameter, the method will - * receive every child event of this class.
    - **/ + * PlayerEvent is a marker interface for whenever an event involving a {@link Player} occurs. + */ public interface PlayerEvent extends LivingEvent { @Override Player getEntity(); @@ -317,6 +315,7 @@ public interface PlayerEvent extends LivingEvent { public static final EventBus BUS = EventBus.create(ItemSmeltedEvent.class); } + @NullMarked record PlayerLoggedInEvent(Player getEntity) implements RecordEvent, PlayerEvent { public static final EventBus BUS = EventBus.create(PlayerLoggedInEvent.class); } @@ -325,6 +324,7 @@ public interface PlayerEvent extends LivingEvent { public static final EventBus BUS = EventBus.create(PlayerLoggedOutEvent.class); } + @NullMarked record PlayerRespawnEvent(Player getEntity, boolean isEndConquered) implements RecordEvent, PlayerEvent { public static final EventBus BUS = EventBus.create(PlayerRespawnEvent.class); diff --git a/src/main/java/net/minecraftforge/event/entity/player/PlayerXpEvent.java b/src/main/java/net/minecraftforge/event/entity/player/PlayerXpEvent.java index f0bcdc97b5..f0d455c13f 100644 --- a/src/main/java/net/minecraftforge/event/entity/player/PlayerXpEvent.java +++ b/src/main/java/net/minecraftforge/event/entity/player/PlayerXpEvent.java @@ -9,25 +9,22 @@ import net.minecraft.world.entity.ExperienceOrb; import net.minecraft.world.entity.player.Player; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.eventbus.api.bus.CancellableEventBus; -import net.minecraftforge.eventbus.api.bus.EventBus; import net.minecraftforge.eventbus.api.event.MutableEvent; import net.minecraftforge.eventbus.api.event.RecordEvent; import net.minecraftforge.eventbus.api.event.characteristic.Cancellable; import org.jspecify.annotations.NullMarked; /** - * PlayerXpEvent is fired whenever an event involving player experience occurs.
    - * If a method utilizes this {@link net.minecraftforge.eventbus.api.Event} as its parameter, the method will - * receive every child event of this class.
    + * PlayerXpEvent is fired whenever an event involving player experience occurs. *
    * All children of this event are fired on the {@link MinecraftForge#EVENT_BUS}. */ +@NullMarked public sealed interface PlayerXpEvent extends PlayerEvent { /** * This event is fired after the player collides with an experience orb, but before the player has been given the experience. * It can be cancelled, and no further processing will be done. */ - @NullMarked record PickupXp(Player getEntity, ExperienceOrb getOrb) implements Cancellable, PlayerXpEvent, RecordEvent { public static final CancellableEventBus BUS = CancellableEventBus.create(PickupXp.class); } @@ -36,7 +33,6 @@ public sealed interface PlayerXpEvent extends PlayerEvent { * This event is fired when the player's experience changes through the {@link Player#giveExperiencePoints(int)} method. * It can be cancelled, and no further processing will be done. */ - @NullMarked final class XpChange extends MutableEvent implements Cancellable, PlayerXpEvent { public static final CancellableEventBus BUS = CancellableEventBus.create(XpChange.class); @@ -66,7 +62,6 @@ public sealed interface PlayerXpEvent extends PlayerEvent { * This event is fired when the player's experience level changes through the {@link Player#giveExperienceLevels(int)} method. * It can be cancelled, and no further processing will be done. */ - @NullMarked final class LevelChange extends MutableEvent implements Cancellable, PlayerXpEvent { public static final CancellableEventBus BUS = CancellableEventBus.create(LevelChange.class); diff --git a/src/main/java/net/minecraftforge/event/entity/player/SleepingLocationCheckEvent.java b/src/main/java/net/minecraftforge/event/entity/player/SleepingLocationCheckEvent.java index c8febe1e4b..fdbbb69137 100644 --- a/src/main/java/net/minecraftforge/event/entity/player/SleepingLocationCheckEvent.java +++ b/src/main/java/net/minecraftforge/event/entity/player/SleepingLocationCheckEvent.java @@ -21,10 +21,11 @@ import net.minecraftforge.eventbus.api.event.MutableEvent; * This event is fired when game checks, if sleeping player should be still considered "in bed".
    * Failing this check will cause player to wake up.
    * - * This event has a result. {@link HasResult}
    - * - * setResult(ALLOW) informs game that player is still "in bed"
    - * setResult(DEFAULT) causes game to check {@link Block#isBed(BlockState, BlockGetter, BlockPos, Entity)} instead + *

    This event {@linkplain HasResult has a result}:

    + *
      + *
    • {@link Result#ALLOW}: informs game that player is still "in bed"
    • + *
    • {@link Result#DEFAULT}: causes game to check {@link Block#isBed(BlockState, BlockGetter, BlockPos, Entity)} instead
    • + *
    */ public final class SleepingLocationCheckEvent extends MutableEvent implements LivingEvent, HasResult { public static final EventBus BUS = EventBus.create(SleepingLocationCheckEvent.class); diff --git a/src/main/java/net/minecraftforge/registries/DataPackRegistryEvent.java b/src/main/java/net/minecraftforge/registries/DataPackRegistryEvent.java index c736bdd3e2..8aa6103e21 100644 --- a/src/main/java/net/minecraftforge/registries/DataPackRegistryEvent.java +++ b/src/main/java/net/minecraftforge/registries/DataPackRegistryEvent.java @@ -33,6 +33,7 @@ public sealed interface DataPackRegistryEvent { final class NewRegistry extends MutableEvent implements DataPackRegistryEvent { public static final EventBus BUS = EventBus.create(NewRegistry.class); + /** @deprecated {@link DataPackRegistryEvent.NewRegistry} is no longer an {@link IModBusEvent}, so use {@link #BUS} directly. */ @Deprecated(forRemoval = true, since = "1.21.9") public static EventBus getBus(BusGroup modBusGroup) { return BUS; diff --git a/src/main/java/net/minecraftforge/registries/NewRegistryEvent.java b/src/main/java/net/minecraftforge/registries/NewRegistryEvent.java index 1199efdfe7..17a1230028 100644 --- a/src/main/java/net/minecraftforge/registries/NewRegistryEvent.java +++ b/src/main/java/net/minecraftforge/registries/NewRegistryEvent.java @@ -17,6 +17,7 @@ import net.minecraft.core.registries.BuiltInRegistries; import net.minecraftforge.eventbus.api.bus.BusGroup; import net.minecraftforge.eventbus.api.bus.EventBus; import net.minecraftforge.eventbus.api.event.MutableEvent; +import net.minecraftforge.fml.event.IModBusEvent; import org.jetbrains.annotations.Nullable; import org.slf4j.Logger; @@ -26,6 +27,7 @@ import org.slf4j.Logger; public final class NewRegistryEvent extends MutableEvent { public static final EventBus BUS = EventBus.create(NewRegistryEvent.class); + /** @deprecated {@link NewRegistryEvent} is no longer an {@link IModBusEvent}, so use {@link #BUS} directly. */ @Deprecated(forRemoval = true, since = "1.21.9") public static EventBus getBus(BusGroup modBusGroup) { return BUS; diff --git a/src/main/java/net/minecraftforge/registries/RegisterEvent.java b/src/main/java/net/minecraftforge/registries/RegisterEvent.java index 9096e5cdfb..dbf09f27cb 100644 --- a/src/main/java/net/minecraftforge/registries/RegisterEvent.java +++ b/src/main/java/net/minecraftforge/registries/RegisterEvent.java @@ -12,6 +12,7 @@ import net.minecraftforge.eventbus.api.bus.BusGroup; import net.minecraftforge.eventbus.api.bus.EventBus; import net.minecraftforge.fml.ModLoadingContext; import net.minecraftforge.fml.event.IModBusEvent; +import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -21,7 +22,7 @@ import java.util.function.Supplier; /** * This event fires for each forge and vanilla registry when all registries are ready to have modded objects registered. *

    - * Fired on the {@link IModBusEvent mod bus}. + * Fired on the {@linkplain FMLJavaModLoadingContext#getModBusGroup() mod BusGroup}. * * @see #register(ResourceKey, ResourceLocation, Supplier) * @see #register(ResourceKey, Consumer)