29 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| package net.minecraft.client.gui.screens.dialog;
 | |
| 
 | |
| import java.util.Optional;
 | |
| import java.util.stream.Stream;
 | |
| import net.fabricmc.api.EnvType;
 | |
| import net.fabricmc.api.Environment;
 | |
| import net.minecraft.client.gui.screens.Screen;
 | |
| import net.minecraft.network.chat.ClickEvent;
 | |
| import net.minecraft.server.ServerLinks;
 | |
| import net.minecraft.server.dialog.ActionButton;
 | |
| import net.minecraft.server.dialog.CommonButtonData;
 | |
| import net.minecraft.server.dialog.ServerLinksDialog;
 | |
| import net.minecraft.server.dialog.action.StaticAction;
 | |
| import org.jetbrains.annotations.Nullable;
 | |
| 
 | |
| @Environment(EnvType.CLIENT)
 | |
| public class ServerLinksDialogScreen extends ButtonListDialogScreen<ServerLinksDialog> {
 | |
| 	public ServerLinksDialogScreen(@Nullable Screen previousScreen, ServerLinksDialog dialog, DialogConnectionAccess connectionAccess) {
 | |
| 		super(previousScreen, dialog, connectionAccess);
 | |
| 	}
 | |
| 
 | |
| 	protected Stream<ActionButton> createListActions(ServerLinksDialog dialog, DialogConnectionAccess connectionAccess) {
 | |
| 		return connectionAccess.serverLinks().entries().stream().map(entry -> createDialogClickAction(dialog, entry));
 | |
| 	}
 | |
| 
 | |
| 	private static ActionButton createDialogClickAction(ServerLinksDialog dialog, ServerLinks.Entry entry) {
 | |
| 		return new ActionButton(new CommonButtonData(entry.displayName(), dialog.buttonWidth()), Optional.of(new StaticAction(new ClickEvent.OpenUrl(entry.link()))));
 | |
| 	}
 | |
| }
 |