9
0
mirror of https://github.com/WiIIiam278/HuskSync.git synced 2026-01-04 15:31:37 +00:00

Remove async execution nativeSyncPlayerAdvancements;

Add logging non-existent advancements;
This commit is contained in:
HarvelsX
2021-12-24 22:34:32 +03:00
parent d600c20cd5
commit ec6809aecc
2 changed files with 14 additions and 14 deletions

View File

@@ -163,8 +163,7 @@ public class PlayerSetter {
ArrayList<DataSerializer.AdvancementRecord> advancementRecords ArrayList<DataSerializer.AdvancementRecord> advancementRecords
= DataSerializer.deserializeAdvancementData(data.getSerializedAdvancements()); = DataSerializer.deserializeAdvancementData(data.getSerializedAdvancements());
if (Settings.useNativeImplementation) if (Settings.useNativeImplementation) {
Bukkit.getScheduler().runTaskAsynchronously(plugin, () -> {
try { try {
nativeSyncPlayerAdvancements(player, advancementRecords); nativeSyncPlayerAdvancements(player, advancementRecords);
} catch (Exception e) { } catch (Exception e) {
@@ -175,10 +174,11 @@ public class PlayerSetter {
Settings.useNativeImplementation = false; Settings.useNativeImplementation = false;
setPlayerAdvancements(player, advancementRecords, data); setPlayerAdvancements(player, advancementRecords, data);
plugin.getLogger().fine(e.toString()); plugin.getLogger().log(Level.SEVERE, e.getMessage(), e);
} }
}); } else {
else setPlayerAdvancements(player, advancementRecords, data); setPlayerAdvancements(player, advancementRecords, data);
}
} }
if (Settings.syncInventories) { if (Settings.syncInventories) {
setPlayerInventory(player, DataSerializer.deserializeInventory(data.getSerializedInventory())); setPlayerInventory(player, DataSerializer.deserializeInventory(data.getSerializedInventory()));
@@ -293,7 +293,7 @@ public class PlayerSetter {
Advancement bukkitAdvancement = Bukkit.getAdvancement(namespacedKey); Advancement bukkitAdvancement = Bukkit.getAdvancement(namespacedKey);
if (bukkitAdvancement == null) { if (bukkitAdvancement == null) {
// todo: write logging plugin.getLogger().log(Level.WARNING, "Ignored advancement '{0}' - it doesn't exist anymore?", namespacedKey);
return; return;
} }

View File

@@ -65,7 +65,7 @@ public class AdvancementUtils {
} }
} }
public static Object getPlayerAdvancements (Player player) { public static Object getPlayerAdvancements(Player player) {
Object nativePlayer = EntityUtils.getHandle(player); Object nativePlayer = EntityUtils.getHandle(player);
try { try {
return PLAYER_ADVANCEMENTS.get(nativePlayer); return PLAYER_ADVANCEMENTS.get(nativePlayer);
@@ -74,16 +74,16 @@ public class AdvancementUtils {
} }
} }
public static void clearPlayerAdvancementsMap (final Object playerAdvancement) { public static void clearPlayerAdvancementsMap(final Object playerAdvancement) {
try { try {
((Map<?,?>) PLAYER_ADVANCEMENTS_MAP.get(playerAdvancement)) ((Map<?, ?>) PLAYER_ADVANCEMENTS_MAP.get(playerAdvancement))
.clear(); .clear();
} catch (IllegalAccessException e) { } catch (IllegalAccessException e) {
throw new RuntimeException(e.getMessage(), e); throw new RuntimeException(e.getMessage(), e);
} }
} }
public static Object getHandle (Advancement advancement) { public static Object getHandle(Advancement advancement) {
try { try {
return GET_HANDLE.invoke(advancement); return GET_HANDLE.invoke(advancement);
} catch (IllegalAccessException | InvocationTargetException e) { } catch (IllegalAccessException | InvocationTargetException e) {
@@ -91,7 +91,7 @@ public class AdvancementUtils {
} }
} }
public static Object newCriterionProgress (final Date date) { public static Object newCriterionProgress(final Date date) {
try { try {
Object nativeCriterionProgress = CRITERION_PROGRESS.getDeclaredConstructor().newInstance(); Object nativeCriterionProgress = CRITERION_PROGRESS.getDeclaredConstructor().newInstance();
CRITERIA_DATE.set(nativeCriterionProgress, date); CRITERIA_DATE.set(nativeCriterionProgress, date);
@@ -101,7 +101,7 @@ public class AdvancementUtils {
} }
} }
public static Object newAdvancementProgress (final Map<String, Object> criteria) { public static Object newAdvancementProgress(final Map<String, Object> criteria) {
try { try {
Object nativeAdvancementProgress = ADVANCEMENT_PROGRESS.getDeclaredConstructor().newInstance(); Object nativeAdvancementProgress = ADVANCEMENT_PROGRESS.getDeclaredConstructor().newInstance();
@@ -114,7 +114,7 @@ public class AdvancementUtils {
} }
} }
public static void startProgress (final Object playerAdvancements, final Object advancement, final Object advancementProgress) { public static void startProgress(final Object playerAdvancements, final Object advancement, final Object advancementProgress) {
try { try {
START_PROGRESS.invoke(playerAdvancements, advancement, advancementProgress); START_PROGRESS.invoke(playerAdvancements, advancement, advancementProgress);
} catch (IllegalAccessException | InvocationTargetException e) { } catch (IllegalAccessException | InvocationTargetException e) {
@@ -122,7 +122,7 @@ public class AdvancementUtils {
} }
} }
public static void ensureAllVisible (final Object playerAdvancements) { public static void ensureAllVisible(final Object playerAdvancements) {
try { try {
ENSURE_ALL_VISIBLE.invoke(playerAdvancements); ENSURE_ALL_VISIBLE.invoke(playerAdvancements);
} catch (IllegalAccessException | InvocationTargetException e) { } catch (IllegalAccessException | InvocationTargetException e) {