Skip to content

Commit e6c1513

Browse files
Added the ability to hide targeted block & targeted fluid from F3
1 parent 8ce400f commit e6c1513

File tree

5 files changed

+105
-40
lines changed

5 files changed

+105
-40
lines changed
Lines changed: 23 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,31 @@
11
package com.magnet.streamermodeplusplus.Events;
22

33
import java.util.List;
4-
54
import net.fabricmc.fabric.api.event.Event;
65
import net.fabricmc.fabric.api.event.EventFactory;
76

8-
public interface EventDebugHud
9-
{
10-
11-
void onRender(List<String> lines);
12-
13-
Event<EventDebugHud> EVENT = EventFactory.createArrayBacked(
14-
EventDebugHud.class,
15-
(listeners) -> (lines) -> {
16-
for (EventDebugHud listener : listeners) {
17-
listener.onRender(lines);
18-
}
19-
}
20-
);
7+
public interface EventDebugHud {
8+
void onLeftRender(List<String> lines);
9+
void onRightRender(List<String> lines);
10+
11+
Event<EventDebugHud> EVENT = EventFactory.createArrayBacked(
12+
EventDebugHud.class,
13+
(listeners) -> new EventDebugHud() {
14+
@Override
15+
public void onLeftRender(List<String> lines) {
16+
for (EventDebugHud listener : listeners) {
17+
listener.onLeftRender(lines);
18+
}
19+
}
20+
21+
@Override
22+
public void onRightRender(List<String> lines) {
23+
for (EventDebugHud listener : listeners) {
24+
listener.onRightRender(lines);
25+
}
26+
}
27+
}
28+
);
2129
}
2230

31+

src/main/java/com/magnet/streamermodeplusplus/Screens/ModMenuScreen.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,21 @@ protected void init() {
8686
TooltipData.builder().text("Toggle hiding F3 face info").build()
8787
)
8888
);
89+
90+
optionList.addOptionEntry(
91+
new SpruceCheckboxBooleanOption(
92+
"key.streamermodeplusplus.toggle_hide_F3_targeted_block_info_option",
93+
() -> StreamerModePlusPlusClient.mixinHideTargetedBlockDebugHudEnabled,
94+
newValue -> StreamerModePlusPlusClient.mixinHideTargetedBlockDebugHudEnabled = newValue,
95+
TooltipData.builder().text("Toggle hiding F3 Targeted Block info").build()
96+
),
97+
new SpruceCheckboxBooleanOption(
98+
"key.streamermodeplusplus.toggle_hide_F3_targeted_fluid_info_option",
99+
() -> StreamerModePlusPlusClient.mixinHideTargetedFluidDebugHudEnabled,
100+
newValue -> StreamerModePlusPlusClient.mixinHideTargetedFluidDebugHudEnabled = newValue,
101+
TooltipData.builder().text("Toggle hiding F3 Targeted Fluid info").build()
102+
)
103+
);
89104

90105
container.addChild(optionList);
91106

src/main/java/com/magnet/streamermodeplusplus/StreamerModePlusPlusClient.java

Lines changed: 47 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.magnet.streamermodeplusplus;
22

3+
import java.util.List;
4+
35
import org.lwjgl.glfw.GLFW;
46

57
import com.magnet.streamermodeplusplus.Events.EventDebugHud;
@@ -21,6 +23,8 @@ public class StreamerModePlusPlusClient implements ClientModInitializer
2123
public static boolean mixinHideBlockInfoDebugHudEnabled = false;
2224
public static boolean mixinHideChunkInfoDebugHudEnabled = false;
2325
public static boolean mixinHideFaceInfoDebugHudEnabled = false;
26+
public static boolean mixinHideTargetedBlockDebugHudEnabled = false;
27+
public static boolean mixinHideTargetedFluidDebugHudEnabled = false;
2428

2529
public String hiddenCoordsMessage = "XYZ: HIDDEN FROM STREAMERMODE++";
2630
public String hiddenBlockMessage = "Block: HIDDEN FROM STREAMERMODE++";
@@ -33,7 +37,7 @@ public static StreamerModePlusPlusClient getInstance() {
3337
return INSTANCE;
3438
}
3539

36-
public String getHiddenFaceMessage() {
40+
public String getHiddenFaceMessage() {
3741
return hiddenFaceMessage;
3842
}
3943

@@ -84,29 +88,48 @@ public void onInitializeClient()
8488
modifyF3Coords();
8589
}
8690

87-
public void modifyF3Coords()
88-
{
89-
EventDebugHud.EVENT.register(lines -> {
90-
for (int i = 0; i < lines.size(); i++) {
91-
String line = lines.get(i);
92-
93-
if (mixinHideCoordsDebugHudEnabled && line.startsWith("XYZ:")) {
94-
lines.set(i, StreamerModePlusPlusClient.INSTANCE.hiddenCoordsMessage);
95-
}
96-
97-
if (mixinHideBlockInfoDebugHudEnabled && line.startsWith("Block:")) {
98-
lines.set(i, StreamerModePlusPlusClient.INSTANCE.hiddenBlockMessage);
99-
}
100-
101-
if (mixinHideChunkInfoDebugHudEnabled && line.startsWith("Chunk:")) {
102-
lines.set(i, StreamerModePlusPlusClient.INSTANCE.hiddenChunkMessage);
103-
}
104-
105-
if (mixinHideFaceInfoDebugHudEnabled && line.startsWith("Facing:")) {
106-
lines.set(i, StreamerModePlusPlusClient.INSTANCE.hiddenFaceMessage);
107-
}
108-
}
109-
});
91+
public void modifyF3Coords() {
92+
EventDebugHud.EVENT.register(new EventDebugHud() {
93+
94+
@Override
95+
public void onLeftRender(List<String> lines) {
96+
for (int i = 0; i < lines.size(); i++) {
97+
String line = lines.get(i);
98+
99+
if (mixinHideCoordsDebugHudEnabled && line.startsWith("XYZ:")) {
100+
lines.set(i, StreamerModePlusPlusClient.INSTANCE.hiddenCoordsMessage);
101+
}
102+
103+
if (mixinHideBlockInfoDebugHudEnabled && line.startsWith("Block:")) {
104+
lines.set(i, StreamerModePlusPlusClient.INSTANCE.hiddenBlockMessage);
105+
}
106+
107+
if (mixinHideChunkInfoDebugHudEnabled && line.startsWith("Chunk:")) {
108+
lines.set(i, StreamerModePlusPlusClient.INSTANCE.hiddenChunkMessage);
109+
}
110+
111+
if (mixinHideFaceInfoDebugHudEnabled && line.startsWith("Facing:")) {
112+
lines.set(i, StreamerModePlusPlusClient.INSTANCE.hiddenFaceMessage);
113+
}
114+
}
115+
}
116+
117+
@Override
118+
public void onRightRender(List<String> lines) {
119+
for (int i = 0; i < lines.size(); i++) {
120+
String line = lines.get(i);
121+
122+
if (mixinHideTargetedBlockDebugHudEnabled && line.contains("Targeted Block:")) {
123+
lines.set(i, "Targeted Block: " + StreamerModePlusPlusClient.INSTANCE.hiddenBlockMessage);
124+
}
125+
126+
if (mixinHideTargetedFluidDebugHudEnabled && line.contains("Targeted Fluid:")) {
127+
lines.set(i, "Targeted Fluid: " + StreamerModePlusPlusClient.INSTANCE.hiddenBlockMessage);
128+
}
129+
}
130+
}
131+
});
110132
}
111133

134+
112135
}

src/main/java/com/magnet/streamermodeplusplus/mixins/MixinDebugHud.java

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,27 @@ private void onGetLeftText(CallbackInfoReturnable<List<String>> cir) {
2323

2424
try
2525
{
26-
EventDebugHud.EVENT.invoker().onRender(lines);
26+
EventDebugHud.EVENT.invoker().onLeftRender(lines);
2727

2828
} catch (Exception ex)
2929
{
3030
System.out.println(ex.toString());
3131
}
3232
}
33+
34+
@Inject(method = "getRightText", at = @At("RETURN"), cancellable = true)
35+
private void onGetRightText(CallbackInfoReturnable<List<String>> cir) {
36+
List<String> rightLines = new ArrayList<>(cir.getReturnValue());
37+
38+
cir.setReturnValue(rightLines);
39+
40+
try
41+
{
42+
EventDebugHud.EVENT.invoker().onRightRender(rightLines);
43+
System.out.println("Success");
44+
} catch (Exception ex)
45+
{
46+
System.out.println(ex.toString());
47+
}
48+
}
3349
}

src/main/resources/assets/streamermodeplusplus/lang/en_us.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,7 @@
44
"key.streamermodeplusplus.toggle_blocked_F3_coords_option": "Hide F3 Coords",
55
"key.streamermodeplusplus.toggle_hide_F3_block_info_option": "Hide F3 Block Info",
66
"key.streamermodeplusplus.toggle_hide_F3_chunk_info_option": "Hide F3 Chunk Info",
7-
"key.streamermodeplusplus.toggle_hide_F3_face_info_option": "Hide F3 Face Info"
7+
"key.streamermodeplusplus.toggle_hide_F3_face_info_option": "Hide F3 Face Info",
8+
"key.streamermodeplusplus.toggle_hide_F3_targeted_block_info_option": "Hide F3 Targeted Block",
9+
"key.streamermodeplusplus.toggle_hide_F3_targeted_fluid_info_option": "Hide F3 Targeted Fluid"
810
}

0 commit comments

Comments
 (0)