package net.minecraft.client.gui.screens.dialog; import java.util.List; import java.util.stream.Stream; import net.minecraft.client.gui.components.Button; import net.minecraft.client.gui.layouts.HeaderAndFooterLayout; import net.minecraft.client.gui.layouts.LinearLayout; import net.minecraft.client.gui.screens.Screen; import net.minecraft.server.dialog.ActionButton; import net.minecraft.server.dialog.ButtonListDialog; import org.jspecify.annotations.Nullable; public abstract class ButtonListDialogScreen extends DialogScreen { public static final int FOOTER_MARGIN = 5; public ButtonListDialogScreen(@Nullable final Screen previousScreen, final T dialog, final DialogConnectionAccess connectionAccess) { super(previousScreen, dialog, connectionAccess); } protected void populateBodyElements( final LinearLayout layout, final DialogControlSet controlSet, final T dialog, final DialogConnectionAccess connectionAccess ) { super.populateBodyElements(layout, controlSet, dialog, connectionAccess); List