infer release target from minecraft mod container

This commit is contained in:
gnembon committed 2024-05-16 08:55:50 +02:00
1 parent dd1813c917
commit 7a1e152229
3 files changed
+11 -12

No files matched your search

+5 -1
View File
@@ -10,6 +10,7 @@ import carpet.utils.Translations;
import carpet.utils.CommandHelper; import carpet.utils.CommandHelper;
import carpet.utils.Messenger; import carpet.utils.Messenger;
import net.fabricmc.loader.api.FabricLoader; import net.fabricmc.loader.api.FabricLoader;
import net.fabricmc.loader.api.SemanticVersion;
import net.minecraft.commands.CommandSourceStack; import net.minecraft.commands.CommandSourceStack;
import net.minecraft.core.registries.Registries; import net.minecraft.core.registries.Registries;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
@@ -48,7 +49,10 @@ import static carpet.api.settings.RuleCategory.CLIENT;
public class CarpetSettings public class CarpetSettings
{ {
public static final String carpetVersion = FabricLoader.getInstance().getModContainer("carpet").orElseThrow().getMetadata().getVersion().toString(); public static final String carpetVersion = FabricLoader.getInstance().getModContainer("carpet").orElseThrow().getMetadata().getVersion().toString();
public static final String releaseTarget = "1.20.5"; public static final int [] releaseTarget = {
((SemanticVersion)FabricLoader.getInstance().getModContainer("minecraft").orElseThrow().getMetadata().getVersion()).getVersionComponent(1),
((SemanticVersion)FabricLoader.getInstance().getModContainer("minecraft").orElseThrow().getMetadata().getVersion()).getVersionComponent(2)
};
public static final Logger LOG = LoggerFactory.getLogger("carpet"); public static final Logger LOG = LoggerFactory.getLogger("carpet");
public static final ThreadLocal<Boolean> skipGenerationChecks = ThreadLocal.withInitial(() -> false); public static final ThreadLocal<Boolean> skipGenerationChecks = ThreadLocal.withInitial(() -> false);
public static final ThreadLocal<Boolean> impendingFillSkipUpdates = ThreadLocal.withInitial(() -> false); public static final ThreadLocal<Boolean> impendingFillSkipUpdates = ThreadLocal.withInitial(() -> false);
+1 -2
View File
@@ -183,8 +183,7 @@ public class Vanilla
return CarpetSettings.runPermissionLevel; return CarpetSettings.runPermissionLevel;
} }
@Deprecated public static int [] MinecraftServer_getReleaseTarget(MinecraftServer server)
public static String MinecraftServer_getReleaseTarget(MinecraftServer server)
{ {
return CarpetSettings.releaseTarget; return CarpetSettings.releaseTarget;
} }
@@ -84,16 +84,12 @@ public class SystemInfo
put("game_view_distance", c -> new NumericValue(c.server().getPlayerList().getViewDistance())); put("game_view_distance", c -> new NumericValue(c.server().getPlayerList().getViewDistance()));
put("game_mod_name", c -> StringValue.of(c.server().getServerModName())); put("game_mod_name", c -> StringValue.of(c.server().getServerModName()));
put("game_version", c -> StringValue.of(c.server().getServerVersion())); put("game_version", c -> StringValue.of(c.server().getServerVersion()));
put("game_target", c -> StringValue.of(Vanilla.MinecraftServer_getReleaseTarget(c.server()))); put("game_target", c -> StringValue.of(String.format("1.%d.%d",
Vanilla.MinecraftServer_getReleaseTarget(c.server())[0],
Vanilla.MinecraftServer_getReleaseTarget(c.server())[1])));
put("game_protocol", c -> NumericValue.of(SharedConstants.getProtocolVersion())); put("game_protocol", c -> NumericValue.of(SharedConstants.getProtocolVersion()));
put("game_major_target", c -> { put("game_major_target", c -> NumericValue.of(Vanilla.MinecraftServer_getReleaseTarget(c.server())[0]));
String[] vers = Vanilla.MinecraftServer_getReleaseTarget(c.server()).split("\\."); put("game_minor_target", c -> NumericValue.of(Vanilla.MinecraftServer_getReleaseTarget(c.server())[1]));
return NumericValue.of((vers.length > 1) ? Integer.parseInt(vers[1]) : 0);
});
put("game_minor_target", c -> {
String[] vers = Vanilla.MinecraftServer_getReleaseTarget(c.server()).split("\\.");
return NumericValue.of((vers.length > 2) ? Integer.parseInt(vers[2]) : 0);
});
put("game_stable", c -> BooleanValue.of(SharedConstants.getCurrentVersion().isStable())); put("game_stable", c -> BooleanValue.of(SharedConstants.getCurrentVersion().isStable()));
put("game_data_version", c -> NumericValue.of(SharedConstants.getCurrentVersion().getDataVersion().getVersion())); put("game_data_version", c -> NumericValue.of(SharedConstants.getCurrentVersion().getDataVersion().getVersion()));
put("game_pack_version", c -> NumericValue.of(SharedConstants.getCurrentVersion().getPackVersion(PackType.SERVER_DATA))); put("game_pack_version", c -> NumericValue.of(SharedConstants.getCurrentVersion().getPackVersion(PackType.SERVER_DATA)));