Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
Не совсем понимаю, формат чего?только такой формат?
Ты про то откуда он берётОткуда она потом берётся? У меня, почему-то это не фурычит. Так и пишется ${version} ...
"version": "${version}"? Про них же в учебнике писали: Сборка мода - Minecraft ModdingДля таких случаев можно просто свою чекер написать. Берем ту самую ссылку, придумываем свой формат записи, и все)Но ведь он читать его не будет (
Вот у меня на гите лежит ссылкаА подробнее?
public class VersionChecker implements Runnable {
private static boolean isLatestVersion = false;
private static String latestVersion = "";
private String newVersionURL = "";
private List<String> changes = new ArrayList<>();
@Override
public void run() {
try(InputStream in = new URL("https://raw.githubusercontent.com/ThunderModder/bionisation3/master/update1.12.2.txt").openStream()) {
String [] version = IOUtils.readLines(in).get(0).split("_");
latestVersion = version[0];
newVersionURL = version[1];
for (int i = 2; i < version.length; i++) {
changes.add(version[i]);
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
isLatestVersion = Information.VERSION.equals(latestVersion);
}
public boolean isLatestVersion() {
return isLatestVersion;
}
public String getLatestVersion() {
return latestVersion;
}
public String getNewVersionURL() {
return newVersionURL;
}
public List<String> getChanges() {
return changes;
}
}
public static VersionChecker checker;
public static boolean wasWarnedNewVersion = false;
if(Config.canShowUpdates) {
Bionisation.checker = new VersionChecker();
Thread versionCheckThread = new Thread(Bionisation.checker, "Version Check Thread");
versionCheckThread.start();
}
@SubscribeEvent
public void onUpdateEvent(TickEvent.PlayerTickEvent event) {
if (Config.canShowUpdates && !Bionisation.wasWarnedNewVersion && event.player.world.isRemote && !Bionisation.checker.isLatestVersion()) {
if(Bionisation.checker.getLatestVersion().equals("") || Bionisation.checker.getNewVersionURL().equals("") || Bionisation.checker.getChanges().equals("")) {
event.player.sendMessage(new TextComponentString(I18n.format("checker.message.cant")));
Bionisation.wasWarnedNewVersion = true;
}
else {
event.player.sendMessage(ForgeHooks.newChatWithLinks(TextFormatting.YELLOW + I18n.format("checker.message.version") + " " + TextFormatting.AQUA + Bionisation.checker.getLatestVersion() + " " + TextFormatting.YELLOW + I18n.format("checker.message.av") + TextFormatting.BLUE + " " + Bionisation.checker.getNewVersionURL()));
event.player.sendMessage(new TextComponentString(""));
event.player.sendMessage(new TextComponentString(TextFormatting.YELLOW + I18n.format("checker.message.changes")));
List<String> info = Bionisation.checker.getChanges();
for (String s : info) {
event.player.sendMessage(new TextComponentString(TextFormatting.GRAY + s));
}
Bionisation.wasWarnedNewVersion = true;
}
}
}
У тебя тогда майн будет ждать ответа.просто прописать в постините клиента?
Хм... Спасибо!Кстати нифига... Там можно часть ссылки удалить... Ту, что идёт в "/.../" посте слова "raw" и ссылка станет постоянной конкретно на файл.
Какие?Такие дела выносить всегда в отдельный поток.