@@ -79,29 +79,26 @@ private static void requestSort(boolean isPlayer, String screenClass) {
7979 @ SubscribeEvent
8080 public static void onScreenEventInit (ScreenEvent .Init .Post event ) {
8181 if (event .getScreen () instanceof AbstractContainerScreen <?> screen && !(screen instanceof CreativeModeInventoryScreen )) {
82+ ContOverride override = InvTweaksConfig .getPlayerContOverride (Minecraft .getInstance ().player , screen .getClass ().getName (), screen .getMenu ().getClass ().getName ());
83+ var isSortDisabled = Optional .ofNullable (override ).filter (ContOverride ::isSortDisabled ).isPresent ();
84+
8285 // first, work with player inventory
8386 Slot placement = getDefaultButtonPlacement (screen .getMenu ().slots , slot -> slot .container instanceof Inventory );
8487 if (placement != null
8588 && InvTweaksConfig .isSortEnabled (true )
8689 && InvTweaksConfig .isButtonEnabled (true )) {
8790 try {
88- event .addListener (
89- new InvTweaksButtonSort (
90- screen .getGuiLeft () + placement .x + 17 ,
91- screen .getGuiTop () + placement .y ,
92- btn -> requestSort (true , screen .getClass ().getName ())));
91+ int x = screen .getGuiLeft () + placement .x + 17 + (isSortDisabled ? override .getX () : 0 );
92+ int y = screen .getGuiTop () + placement .y + (isSortDisabled ? override .getY () : 0 );
93+ event .addListener (new InvTweaksButtonSort (x , y , btn -> requestSort (true , screen .getClass ().getName ())));
9394 } catch (Exception e ) {
9495 Throwables .throwIfUnchecked (e );
9596 throw new RuntimeException (e );
9697 }
9798 }
9899
99100 // then, work with external inventory
100- InvTweaksMod .LOGGER .info (screen .getClass ().getName ());
101- ContOverride override = InvTweaksConfig .getPlayerContOverride (Minecraft .getInstance ().player , screen .getClass ().getName (), screen .getMenu ().getClass ().getName ());
102- var isSortDisabled = Optional .ofNullable (override ).filter (ContOverride ::isSortDisabled ).isPresent ();
103-
104- if (!(screen instanceof EffectRenderingInventoryScreen ) && !isSortDisabled ) {
101+ if (!isSortDisabled && !(screen instanceof EffectRenderingInventoryScreen )) {
105102 int x = InvTweaksConfig .NO_POS_OVERRIDE , y = InvTweaksConfig .NO_POS_OVERRIDE ;
106103 if (override != null ) {
107104 x = override .getX ();
0 commit comments