Skip to content

Commit 9fbe7c3

Browse files
committed
✨ Add config option to disable overlay timeout
1 parent 81ca207 commit 9fbe7c3

File tree

11 files changed

+1016
-996
lines changed

11 files changed

+1016
-996
lines changed

common/src/main/java/com/mrcrayfish/controllable/Config.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,10 @@ remote servers (read message below).
131131
If enabled, allows reading controller input even if the window is not in focus. This option will also
132132
prevent the game from auto pausing if the window loses focus.""")
133133
public final BoolProperty backgroundInput = BoolProperty.create(true);
134+
135+
@ConfigProperty(name = "overlayTimeout", comment = """
136+
If enabled, after four seconds, any overlays related to the controller will be hidden if no input is detected""")
137+
public final BoolProperty overlayTimeout = BoolProperty.create(true);
134138
}
135139
}
136140
}

common/src/main/java/com/mrcrayfish/controllable/client/gui/screens/SettingsScreen.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -310,6 +310,7 @@ public SettingsTab()
310310
optionsList.addEntry(new TabOptionToggleItem(Config.CLIENT.options.drawHintBackground));
311311
optionsList.addEntry(new TabOptionToggleItem(Config.CLIENT.options.consoleHotbar));
312312
optionsList.addEntry(new TabOptionToggleItem(Config.CLIENT.options.paperDoll));
313+
optionsList.addEntry(new TabOptionToggleItem(Config.CLIENT.options.overlayTimeout));
313314

314315
// Controller options
315316
optionsList.addEntry(new TabOptionTitleItem(Component.translatable("controllable.gui.title.controller").withStyle(ChatFormatting.BOLD, ChatFormatting.YELLOW)));

common/src/main/java/com/mrcrayfish/controllable/client/overlay/ActionHintOverlay.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public class ActionHintOverlay implements IOverlay
4848
public boolean isVisible()
4949
{
5050
Controller controller = Controllable.getController();
51-
return !Minecraft.getInstance().options.hideGui && controller != null && controller.isBeingUsed();
51+
return !Minecraft.getInstance().options.hideGui && controller != null && (!Config.CLIENT.options.overlayTimeout.get() || controller.isBeingUsed());
5252
}
5353

5454
@Override

common/src/main/java/com/mrcrayfish/controllable/client/overlay/PaperDollPlayerOverlay.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public class PaperDollPlayerOverlay implements IOverlay
1818
public boolean isVisible()
1919
{
2020
Controller controller = Controllable.getController();
21-
return !Minecraft.getInstance().options.hideGui && controller != null && controller.isBeingUsed();
21+
return !Minecraft.getInstance().options.hideGui && controller != null && (!Config.CLIENT.options.overlayTimeout.get() || controller.isBeingUsed());
2222
}
2323

2424
@Override

common/src/main/java/com/mrcrayfish/controllable/client/overlay/RecipeBookOverlay.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.mrcrayfish.controllable.client.overlay;
22

3+
import com.mrcrayfish.controllable.Config;
34
import com.mrcrayfish.controllable.Controllable;
45
import com.mrcrayfish.controllable.client.InputHandler;
56
import com.mrcrayfish.controllable.client.binding.ButtonBindings;
@@ -33,7 +34,7 @@ public class RecipeBookOverlay implements IOverlay
3334
public boolean isVisible()
3435
{
3536
Controller controller = Controllable.getController();
36-
return controller != null && controller.isBeingUsed() && this.recipeBook != null && this.recipeBook.isVisible();
37+
return controller != null && (!Config.CLIENT.options.overlayTimeout.get() || controller.isBeingUsed()) && this.recipeBook != null && this.recipeBook.isVisible();
3738
}
3839

3940
@Override

common/src/main/java/com/mrcrayfish/controllable/client/overlay/TabNavigationOverlay.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.mrcrayfish.controllable.client.overlay;
22

3+
import com.mrcrayfish.controllable.Config;
34
import com.mrcrayfish.controllable.Controllable;
45
import com.mrcrayfish.controllable.client.binding.ButtonBindings;
56
import com.mrcrayfish.controllable.client.input.Buttons;
@@ -38,7 +39,7 @@ public void tick()
3839
public boolean isVisible()
3940
{
4041
Controller controller = Controllable.getController();
41-
return controller != null && controller.isBeingUsed() && this.navigationBar != null;
42+
return controller != null && (!Config.CLIENT.options.overlayTimeout.get() || controller.isBeingUsed()) && this.navigationBar != null;
4243
}
4344

4445
@Override

common/src/main/java/com/mrcrayfish/controllable/client/overlay/VirtualCursorOverlay.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
package com.mrcrayfish.controllable.client.overlay;
22

3-
import com.mojang.blaze3d.systems.RenderSystem;
43
import com.mojang.blaze3d.vertex.PoseStack;
54
import com.mrcrayfish.controllable.Config;
65
import com.mrcrayfish.controllable.Controllable;
7-
import com.mrcrayfish.controllable.client.settings.CursorStyle;
86
import com.mrcrayfish.controllable.client.input.Controller;
7+
import com.mrcrayfish.controllable.client.settings.CursorStyle;
98
import com.mrcrayfish.controllable.platform.ClientServices;
109
import net.minecraft.client.DeltaTracker;
1110
import net.minecraft.client.Minecraft;

common/src/main/resources/assets/controllable/lang/en_gb.json

Lines changed: 251 additions & 247 deletions
Large diffs are not rendered by default.

common/src/main/resources/assets/controllable/lang/en_us.json

Lines changed: 251 additions & 249 deletions
Large diffs are not rendered by default.

common/src/main/resources/assets/controllable/lang/fr_fr.json

Lines changed: 251 additions & 247 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)