9
0
mirror of https://github.com/WiIIiam278/HuskSync.git synced 2025-12-29 19:49:13 +00:00

feat: add config to skip certain attributes

This commit is contained in:
William
2024-04-10 20:24:27 +01:00
parent 7b8fb92737
commit 8293d767da
3 changed files with 15 additions and 7 deletions

View File

@@ -678,12 +678,14 @@ public abstract class BukkitData implements Data {
private List<Attribute> attributes;
@NotNull
public static BukkitData.Attributes adapt(@NotNull Player player) {
public static BukkitData.Attributes adapt(@NotNull Player player, @NotNull HuskSync plugin) {
final List<Attribute> attributes = Lists.newArrayList();
Registry.ATTRIBUTE.forEach(id -> {
final AttributeInstance instance = player.getAttribute(id);
if (instance == null || instance.getValue() == instance.getDefaultValue()) {
return; // We don't sync unmodified attributes
if (instance == null || instance.getValue() == instance.getDefaultValue() || plugin
.getSettings().getSynchronization().isIgnoredAttribute(id.getKey().toString())) {
// We don't sync unmodified or disabled attributes
return;
}
attributes.add(adapt(instance));
});

View File

@@ -121,7 +121,7 @@ public interface BukkitUserDataHolder extends UserDataHolder {
@NotNull
@Override
default Optional<Data.Attributes> getAttributes() {
return Optional.of(BukkitData.Attributes.adapt(getBukkitPlayer()));
return Optional.of(BukkitData.Attributes.adapt(getBukkitPlayer(), getPlugin()));
}
@NotNull