1
1
package dev .ithundxr .railwaystweaks .commands ;
2
2
3
3
import com .mojang .brigadier .builder .ArgumentBuilder ;
4
+ import com .simibubi .create .Create ;
5
+ import com .simibubi .create .content .trains .entity .CarriageContraptionEntity ;
4
6
import dev .ithundxr .railwaystweaks .mixin .compat .tconstruct .SimpleChannelAccessor ;
5
7
import me .pepperbell .simplenetworking .C2SPacket ;
6
8
import me .pepperbell .simplenetworking .S2CPacket ;
@@ -22,6 +24,11 @@ public static void init() {
22
24
dispatcher .register (literal ("railwaystweaks" )
23
25
.then ($dump_hephaestus_packets ()));
24
26
});
27
+
28
+ CommandRegistrationCallback .EVENT .register ((dispatcher , registryAccess , environment ) -> {
29
+ dispatcher .register (literal ("railwaystweaks" )
30
+ .then ($dump_trains ()));
31
+ });
25
32
}
26
33
27
34
private static ArgumentBuilder <CommandSourceStack , ?> $dump_hephaestus_packets () {
@@ -30,6 +37,12 @@ public static void init() {
30
37
.executes (ctx -> dumpHephaestusPackets (ctx .getSource ()));
31
38
}
32
39
40
+ private static ArgumentBuilder <CommandSourceStack , ?> $dump_trains () {
41
+ return literal ("dump_create_trains" )
42
+ .requires (cs -> cs .hasPermission (2 ))
43
+ .executes (ctx -> dumpCreateTrains (ctx .getSource ()));
44
+ }
45
+
33
46
private static int dumpHephaestusPackets (CommandSourceStack source ) {
34
47
TinkerNetwork tinkerNetwork = TinkerNetwork .getInstance ();
35
48
@@ -64,4 +77,24 @@ private static int dumpHephaestusPackets(CommandSourceStack source) {
64
77
65
78
return 0 ;
66
79
}
80
+
81
+ private static int dumpCreateTrains (CommandSourceStack source ) {
82
+ StringBuilder s = new StringBuilder ();
83
+
84
+ Create .RAILWAYS .trains .forEach ((uuid , train ) -> {
85
+ s .append ("Train Name: " ).append (train .name .toString ());
86
+
87
+ CarriageContraptionEntity entity = train .carriages .get (0 ).anyAvailableEntity ();
88
+
89
+ if (entity != null ) {
90
+ s .append (", is at " ).append (entity .position ());
91
+ }
92
+
93
+ s .append ("\n " );
94
+ });
95
+
96
+ source .sendSuccess (() -> Component .literal (s .toString ()), true );
97
+
98
+ return 0 ;
99
+ }
67
100
}
0 commit comments