Skip to content

Commit 7a1e152

Browse files
committed
infer release target from minecraft mod container
1 parent dd1813c commit 7a1e152

File tree

3 files changed

+11
-12
lines changed

3 files changed

+11
-12
lines changed

src/main/java/carpet/CarpetSettings.java

+5-1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import carpet.utils.CommandHelper;
1111
import carpet.utils.Messenger;
1212
import net.fabricmc.loader.api.FabricLoader;
13+
import net.fabricmc.loader.api.SemanticVersion;
1314
import net.minecraft.commands.CommandSourceStack;
1415
import net.minecraft.core.registries.Registries;
1516
import net.minecraft.resources.ResourceLocation;
@@ -48,7 +49,10 @@
4849
public class CarpetSettings
4950
{
5051
public static final String carpetVersion = FabricLoader.getInstance().getModContainer("carpet").orElseThrow().getMetadata().getVersion().toString();
51-
public static final String releaseTarget = "1.20.5";
52+
public static final int [] releaseTarget = {
53+
((SemanticVersion)FabricLoader.getInstance().getModContainer("minecraft").orElseThrow().getMetadata().getVersion()).getVersionComponent(1),
54+
((SemanticVersion)FabricLoader.getInstance().getModContainer("minecraft").orElseThrow().getMetadata().getVersion()).getVersionComponent(2)
55+
};
5256
public static final Logger LOG = LoggerFactory.getLogger("carpet");
5357
public static final ThreadLocal<Boolean> skipGenerationChecks = ThreadLocal.withInitial(() -> false);
5458
public static final ThreadLocal<Boolean> impendingFillSkipUpdates = ThreadLocal.withInitial(() -> false);

src/main/java/carpet/script/external/Vanilla.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -183,8 +183,7 @@ public static int MinecraftServer_getRunPermissionLevel(MinecraftServer server)
183183
return CarpetSettings.runPermissionLevel;
184184
}
185185

186-
@Deprecated
187-
public static String MinecraftServer_getReleaseTarget(MinecraftServer server)
186+
public static int [] MinecraftServer_getReleaseTarget(MinecraftServer server)
188187
{
189188
return CarpetSettings.releaseTarget;
190189
}

src/main/java/carpet/script/utils/SystemInfo.java

+5-9
Original file line numberDiff line numberDiff line change
@@ -84,16 +84,12 @@ public class SystemInfo
8484
put("game_view_distance", c -> new NumericValue(c.server().getPlayerList().getViewDistance()));
8585
put("game_mod_name", c -> StringValue.of(c.server().getServerModName()));
8686
put("game_version", c -> StringValue.of(c.server().getServerVersion()));
87-
put("game_target", c -> StringValue.of(Vanilla.MinecraftServer_getReleaseTarget(c.server())));
87+
put("game_target", c -> StringValue.of(String.format("1.%d.%d",
88+
Vanilla.MinecraftServer_getReleaseTarget(c.server())[0],
89+
Vanilla.MinecraftServer_getReleaseTarget(c.server())[1])));
8890
put("game_protocol", c -> NumericValue.of(SharedConstants.getProtocolVersion()));
89-
put("game_major_target", c -> {
90-
String[] vers = Vanilla.MinecraftServer_getReleaseTarget(c.server()).split("\\.");
91-
return NumericValue.of((vers.length > 1) ? Integer.parseInt(vers[1]) : 0);
92-
});
93-
put("game_minor_target", c -> {
94-
String[] vers = Vanilla.MinecraftServer_getReleaseTarget(c.server()).split("\\.");
95-
return NumericValue.of((vers.length > 2) ? Integer.parseInt(vers[2]) : 0);
96-
});
91+
put("game_major_target", c -> NumericValue.of(Vanilla.MinecraftServer_getReleaseTarget(c.server())[0]));
92+
put("game_minor_target", c -> NumericValue.of(Vanilla.MinecraftServer_getReleaseTarget(c.server())[1]));
9793
put("game_stable", c -> BooleanValue.of(SharedConstants.getCurrentVersion().isStable()));
9894
put("game_data_version", c -> NumericValue.of(SharedConstants.getCurrentVersion().getDataVersion().getVersion()));
9995
put("game_pack_version", c -> NumericValue.of(SharedConstants.getCurrentVersion().getPackVersion(PackType.SERVER_DATA)));

0 commit comments

Comments
 (0)