Skip to content

Commit c72e016

Browse files
committed
fix ship serialization issue
1 parent 617edb2 commit c72e016

File tree

2 files changed

+17
-31
lines changed

2 files changed

+17
-31
lines changed

common/src/main/java/com/github/litermc/vschunkloader/attachment/ForceLoadAttachment.java

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
11
package com.github.litermc.vschunkloader.attachment;
22

3-
import com.github.litermc.vschunkloader.util.ResourceLocationCollectionSerializer;
4-
53
import net.minecraft.resources.ResourceLocation;
64

75
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;
98
import org.valkyrienskies.core.api.ships.ServerShip;
109

10+
import java.util.Collection;
1111
import java.util.Collections;
1212
import java.util.HashSet;
1313
import java.util.Set;
1414

1515
@JsonAutoDetect(
16-
fieldVisibility = JsonAutoDetect.Visibility.ANY,
16+
fieldVisibility = JsonAutoDetect.Visibility.NONE,
17+
isGetterVisibility = JsonAutoDetect.Visibility.NONE,
1718
getterVisibility = JsonAutoDetect.Visibility.NONE,
18-
isGetterVisibility = JsonAutoDetect.Visibility.NONE
19+
setterVisibility = JsonAutoDetect.Visibility.NONE
1920
)
2021
public final class ForceLoadAttachment {
21-
@JsonSerialize(using = ResourceLocationCollectionSerializer.class)
2222
private Set<ResourceLocation> forceLoadTokens = new HashSet<>();
2323

2424
public ForceLoadAttachment() {}
@@ -55,4 +55,15 @@ public void removeAllForceLoadTokens() {
5555
public Set<ResourceLocation> getAllForceLoadTokens() {
5656
return Collections.unmodifiableSet(this.forceLoadTokens);
5757
}
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+
}
5869
}

common/src/main/java/com/github/litermc/vschunkloader/util/ResourceLocationCollectionSerializer.java

Lines changed: 0 additions & 25 deletions
This file was deleted.

0 commit comments

Comments
 (0)