package net.minecraft.client.gui.screens.dialog; import java.util.List; import java.util.stream.Stream; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; 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.jetbrains.annotations.Nullable; @Environment(EnvType.CLIENT) public abstract class ButtonListDialogScreen extends DialogScreen { public static final int FOOTER_MARGIN = 5; public ButtonListDialogScreen(@Nullable Screen previousScreen, T dialog, DialogConnectionAccess connectionAccess) { super(previousScreen, dialog, connectionAccess); } protected void populateBodyElements(LinearLayout layout, DialogControlSet controls, T dialog, DialogConnectionAccess connectionAccess) { super.populateBodyElements(layout, controls, dialog, connectionAccess); List