1212import org .spongepowered .asm .mixin .injection .callback .CallbackInfo ;
1313import turing .tmb .TMB ;
1414import turing .tmb .TypedIngredient ;
15+ import turing .tmb .api .drawable .gui .IGuiProperties ;
16+ import turing .tmb .api .drawable .gui .IScreenHandler ;
1517import turing .tmb .api .recipe .RecipeIngredientRole ;
1618import turing .tmb .client .TMBRenderer ;
1719import turing .tmb .util .GuiHelper ;
@@ -32,10 +34,15 @@ public ScreenContainerAbstractMixin() {
3234 public void render (int mouseX , int mouseY , float pt , CallbackInfo ci ) {
3335 ScreenContainerAbstract t = (ScreenContainerAbstract ) (Object ) this ;
3436 if (GuiHelper .screenBlacklist .contains (t .getClass ().getCanonicalName ())) return ;
35- TMBRenderer .renderHeader (false , mouseX , mouseY , width , height , mc , null );
36- TMBRenderer .renderItems (mouseX , mouseY , width , height , mc , null );
37- TMBRenderer .renderHeader (true , mouseX , mouseY , width , height , mc , null );
38- TMBRenderer .renderFavorites (mouseX , mouseY , width , height , mc , null );
37+ IScreenHandler <?> handler = GuiHelper .extraScreens .get (t .getClass ().getCanonicalName ());
38+ IGuiProperties properties = null ;
39+ if (handler != null ) {
40+ properties = handler .apply (t );
41+ }
42+ TMBRenderer .renderHeader (false , mouseX , mouseY , width , height , mc , properties );
43+ TMBRenderer .renderItems (mouseX , mouseY , width , height , mc , properties );
44+ TMBRenderer .renderHeader (true , mouseX , mouseY , width , height , mc , properties );
45+ TMBRenderer .renderFavorites (mouseX , mouseY , width , height , mc , properties );
3946 }
4047
4148 @ Inject (method = "tick" , at = @ At ("HEAD" ))
0 commit comments