Hooks for getting buttons in a screen

This commit is contained in:
shedaniel
2020-11-07 15:31:25 +08:00
parent 17d455ff64
commit 01901636b6
4 changed files with 27 additions and 1 deletions

View File

@@ -24,6 +24,8 @@ import net.minecraft.client.gui.components.AbstractWidget;
import net.minecraft.client.gui.components.events.GuiEventListener;
import net.minecraft.client.gui.screens.Screen;
import java.util.List;
@Environment(EnvType.CLIENT)
public final class ScreenHooks {
private ScreenHooks() {}
@@ -31,6 +33,10 @@ public final class ScreenHooks {
@Populatable
private static final Impl IMPL = null;
public static List<AbstractWidget> getButtons(Screen screen) {
return IMPL.getButtons(screen);
}
public static <T extends AbstractWidget> T addButton(Screen screen, T widget) {
return IMPL.addButton(screen, widget);
}
@@ -40,6 +46,8 @@ public final class ScreenHooks {
}
public interface Impl {
List<AbstractWidget> getButtons(Screen screen);
<T extends AbstractWidget> T addButton(Screen screen, T widget);
<T extends GuiEventListener> T addChild(Screen screen, T listener);