diff --git a/src/main/java/net/minecraftforge/event/OnDatapackSyncEvent.java b/src/main/java/net/minecraftforge/event/OnDatapackSyncEvent.java index 12b82cc863..a52cbd28d0 100644 --- a/src/main/java/net/minecraftforge/event/OnDatapackSyncEvent.java +++ b/src/main/java/net/minecraftforge/event/OnDatapackSyncEvent.java @@ -10,19 +10,20 @@ import net.minecraft.server.players.PlayerList; import net.minecraftforge.eventbus.api.Event; import org.jetbrains.annotations.Nullable; +import java.util.List; + /** * Fires when a player joins the server or when the reload command is ran, * before tags and crafting recipes are sent to the client. Send datapack data * to clients when this event fires. */ -public class OnDatapackSyncEvent extends Event -{ +public class OnDatapackSyncEvent extends Event { private final PlayerList playerList; + @Nullable private final ServerPlayer player; - public OnDatapackSyncEvent(PlayerList playerList, @Nullable ServerPlayer player) - { + public OnDatapackSyncEvent(PlayerList playerList, @Nullable ServerPlayer player) { this.playerList = playerList; this.player = player; } @@ -30,8 +31,7 @@ public class OnDatapackSyncEvent extends Event /** * @return The server's player list to get a view of all players. */ - public PlayerList getPlayerList() - { + public PlayerList getPlayerList() { return this.playerList; } @@ -40,8 +40,15 @@ public class OnDatapackSyncEvent extends Event * such as when the reload command runs. */ @Nullable - public ServerPlayer getPlayer() - { + public ServerPlayer getPlayer() { return this.player; } + + /** + * @return A list of players that should receive data during this event, which is the specified player (if not null) + * or all players otherwise. + */ + public List getPlayers() { + return this.player == null ? this.playerList.getPlayers() : List.of(this.player); + } }