|
1 | 1 | package com.github.litermc.vschunkloader.attachment; |
2 | 2 |
|
3 | | -import com.github.litermc.vschunkloader.util.ResourceLocationCollectionSerializer; |
4 | | - |
5 | 3 | import net.minecraft.resources.ResourceLocation; |
6 | 4 |
|
7 | 5 | import com.fasterxml.jackson.annotation.JsonAutoDetect; |
8 | | -import com.fasterxml.jackson.databind.annotation.JsonSerialize; |
| 6 | +import com.fasterxml.jackson.annotation.JsonGetter; |
| 7 | +import com.fasterxml.jackson.annotation.JsonSetter; |
9 | 8 | import org.valkyrienskies.core.api.ships.ServerShip; |
10 | 9 |
|
| 10 | +import java.util.Collection; |
11 | 11 | import java.util.Collections; |
12 | 12 | import java.util.HashSet; |
13 | 13 | import java.util.Set; |
14 | 14 |
|
15 | 15 | @JsonAutoDetect( |
16 | | - fieldVisibility = JsonAutoDetect.Visibility.ANY, |
| 16 | + fieldVisibility = JsonAutoDetect.Visibility.NONE, |
| 17 | + isGetterVisibility = JsonAutoDetect.Visibility.NONE, |
17 | 18 | getterVisibility = JsonAutoDetect.Visibility.NONE, |
18 | | - isGetterVisibility = JsonAutoDetect.Visibility.NONE |
| 19 | + setterVisibility = JsonAutoDetect.Visibility.NONE |
19 | 20 | ) |
20 | 21 | public final class ForceLoadAttachment { |
21 | | - @JsonSerialize(using = ResourceLocationCollectionSerializer.class) |
22 | 22 | private Set<ResourceLocation> forceLoadTokens = new HashSet<>(); |
23 | 23 |
|
24 | 24 | public ForceLoadAttachment() {} |
@@ -55,4 +55,15 @@ public void removeAllForceLoadTokens() { |
55 | 55 | public Set<ResourceLocation> getAllForceLoadTokens() { |
56 | 56 | return Collections.unmodifiableSet(this.forceLoadTokens); |
57 | 57 | } |
| 58 | + |
| 59 | + @JsonGetter("forceLoadTokens") |
| 60 | + private Collection<String> getForceLoadTokens() { |
| 61 | + return this.forceLoadTokens.stream().map(ResourceLocation::toString).toList(); |
| 62 | + } |
| 63 | + |
| 64 | + @JsonSetter("forceLoadTokens") |
| 65 | + private void setForceLoadTokens(final Collection<String> tokens) { |
| 66 | + this.forceLoadTokens.clear(); |
| 67 | + tokens.stream().map(ResourceLocation::new).forEach(this.forceLoadTokens::add); |
| 68 | + } |
58 | 69 | } |
0 commit comments