|
@@ -46,6 +46,7 @@ public class TransformingScreen extends DelegateScreen implements ScissorsScreen
|
|
private Runnable init;
|
|
private Runnable init;
|
|
private boolean renderingLastScreen = false;
|
|
private boolean renderingLastScreen = false;
|
|
private boolean translatingLast;
|
|
private boolean translatingLast;
|
|
|
|
+ private boolean initAfter = false;
|
|
|
|
|
|
public TransformingScreen(boolean translatingLast, Screen parent, Screen lastScreen, Runnable init, DoubleSupplier xTransformer, DoubleSupplier yTransformer, BooleanSupplier finished) {
|
|
public TransformingScreen(boolean translatingLast, Screen parent, Screen lastScreen, Runnable init, DoubleSupplier xTransformer, DoubleSupplier yTransformer, BooleanSupplier finished) {
|
|
super(Minecraft.getInstance().level == null && parent == null ? new TitleScreen() : parent);
|
|
super(Minecraft.getInstance().level == null && parent == null ? new TitleScreen() : parent);
|
|
@@ -57,6 +58,10 @@ public class TransformingScreen extends DelegateScreen implements ScissorsScreen
|
|
this.finished = finished;
|
|
this.finished = finished;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ public void setInitAfter(boolean initAfter) {
|
|
|
|
+ this.initAfter = initAfter;
|
|
|
|
+ }
|
|
|
|
+
|
|
public void setParentScreen(Screen parent) {
|
|
public void setParentScreen(Screen parent) {
|
|
this.parent = parent;
|
|
this.parent = parent;
|
|
}
|
|
}
|
|
@@ -129,6 +134,9 @@ public class TransformingScreen extends DelegateScreen implements ScissorsScreen
|
|
Minecraft.getInstance().screen = parent;
|
|
Minecraft.getInstance().screen = parent;
|
|
if (parent != null) {
|
|
if (parent != null) {
|
|
Minecraft.getInstance().noRender = false;
|
|
Minecraft.getInstance().noRender = false;
|
|
|
|
+ if (initAfter) {
|
|
|
|
+ parent.init(Minecraft.getInstance(), Minecraft.getInstance().getWindow().getGuiScaledWidth(), Minecraft.getInstance().getWindow().getGuiScaledHeight());
|
|
|
|
+ }
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
super.tick();
|
|
super.tick();
|