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:
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
Reference in New Issue
Block a user