3333import net .minecraft .world .entity .Entity ;
3434import net .minecraft .world .entity .EntityType ;
3535import net .minecraft .world .level .ChunkPos ;
36- import net .minecraft .world .level .GameRules ;
36+ import net .minecraft .world .level .gamerules . GameRule ;
3737
3838import java .util .Collection ;
3939import java .util .HashMap ;
@@ -104,7 +104,7 @@ public ChunksResult<MinecraftChunkInfo> pollChunks() {
104104 info .entityCounts .increment (entity .getType ());
105105 }
106106
107- data .put (level .dimension ().location ().getPath (), List .copyOf (worldInfos .values ()));
107+ data .put (level .dimension ().identifier ().getPath (), List .copyOf (worldInfos .values ()));
108108 }
109109
110110 return data ;
@@ -116,22 +116,23 @@ public GameRulesResult pollGameRules() {
116116 Iterable <ServerLevel > worlds = this .server .getAllLevels ();
117117
118118 for (ServerLevel level : worlds ) {
119- String levelName = level .dimension ().location ().getPath ();
119+ String levelName = level .dimension ().identifier ().getPath ();
120120
121- level .getGameRules ().visitGameRuleTypes (new GameRules .GameRuleTypeVisitor () {
122- @ Override
123- public <T extends GameRules .Value <T >> void visit (GameRules .Key <T > key , GameRules .Type <T > type ) {
124- String defaultValue = type .createRule ().serialize ();
125- data .putDefault (key .getId (), defaultValue );
121+ level .getGameRules ().availableRules ().forEach (rule -> {
122+ String defaultValue = gameRuleDefaultValue (rule );
123+ data .putDefault (rule .id (), defaultValue );
126124
127- String value = level .getGameRules ().getRule (key ).serialize ();
128- data .put (key .getId (), levelName , value );
129- }
125+ String value = level .getGameRules ().getAsString (rule );
126+ data .put (rule .id (), levelName , value );
130127 });
131128 }
132129 return data ;
133130 }
134131
132+ private static <T > String gameRuleDefaultValue (GameRule <T > rule ) {
133+ return rule .serialize (rule .defaultValue ());
134+ }
135+
135136 @ Override
136137 protected PackRepository getPackRepository () {
137138 return this .server .getPackRepository ();
@@ -177,7 +178,7 @@ public ChunksResult<MinecraftChunkInfo> pollChunks() {
177178 info .entityCounts .increment (entity .getType ());
178179 }
179180
180- data .put (level .dimension ().location ().getPath (), List .copyOf (worldInfos .values ()));
181+ data .put (level .dimension ().identifier ().getPath (), List .copyOf (worldInfos .values ()));
181182 return data ;
182183 }
183184
0 commit comments