HarvelsX 3 years ago
parent 0bfdc4d528
commit 84c251fa68
No known key found for this signature in database
GPG Key ID: 9637BCFE856BB8F3

@ -164,18 +164,20 @@ public class PlayerSetter {
= DataSerializer.deserializeAdvancementData(data.getSerializedAdvancements()); = DataSerializer.deserializeAdvancementData(data.getSerializedAdvancements());
if (Settings.useNativeImplementation) { if (Settings.useNativeImplementation) {
try { Bukkit.getScheduler().runTaskAsynchronously(plugin, () -> {
nativeSyncPlayerAdvancements(player, advancementRecords); try {
} catch (Exception e) { nativeSyncPlayerAdvancements(player, advancementRecords);
plugin.getLogger().log(Level.WARNING, } catch (Exception e) {
"Your server does not support a native implementation of achievements synchronization"); plugin.getLogger().log(Level.WARNING,
plugin.getLogger().log(Level.WARNING, "Your server does not support a native implementation of achievements synchronization");
"Your server version {0}. Please disable using native implementation!", Bukkit.getVersion()); plugin.getLogger().log(Level.WARNING,
"Your server version {0}. Please disable using native implementation!", Bukkit.getVersion());
Settings.useNativeImplementation = false;
setPlayerAdvancements(player, advancementRecords, data); Settings.useNativeImplementation = false;
plugin.getLogger().log(Level.SEVERE, e.getMessage(), e); setPlayerAdvancements(player, advancementRecords, data);
} plugin.getLogger().log(Level.SEVERE, e.getMessage(), e);
}
});
} else { } else {
setPlayerAdvancements(player, advancementRecords, data); setPlayerAdvancements(player, advancementRecords, data);
} }
@ -313,8 +315,10 @@ public class PlayerSetter {
} }
}); });
AdvancementUtils.markPlayerAdvancementsFirst(playerAdvancements); synchronized (playerAdvancements) {
AdvancementUtils.ensureAllVisible(playerAdvancements); AdvancementUtils.markPlayerAdvancementsFirst(playerAdvancements);
AdvancementUtils.ensureAllVisible(playerAdvancements);
}
} }
/** /**

@ -13,7 +13,7 @@ public class MinecraftVersionUtils {
public final static String SERVER_VERSION = Bukkit.getBukkitVersion().split("-")[0]; public final static String SERVER_VERSION = Bukkit.getBukkitVersion().split("-")[0];
public static int compare(String version) { public static int compare(String version) {
if (version == null) return 1; if (version == null || SERVER_VERSION == null) return 1;
String[] as = SERVER_VERSION.split("\\."); String[] as = SERVER_VERSION.split("\\.");
String[] bs = version.split("\\."); String[] bs = version.split("\\.");

Loading…
Cancel
Save