Skip to content

Commit a443ca9

Browse files
committed
Fix serialization of sets not preserving their order.
1 parent dbebaf5 commit a443ca9

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

Common/src/main/java/net/darkhax/bookshelf/api/serialization/ISerializer.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import javax.annotation.Nullable;
1616
import java.util.ArrayList;
1717
import java.util.HashSet;
18+
import java.util.LinkedHashSet;
1819
import java.util.List;
1920
import java.util.Optional;
2021
import java.util.Set;
@@ -263,7 +264,7 @@ default void toByteBufList(FriendlyByteBuf buffer, List<T> toWrite) {
263264
*/
264265
default Set<T> fromJSONSet(JsonElement json) {
265266

266-
final Set<T> set = new HashSet<>();
267+
final Set<T> set = new LinkedHashSet<>();
267268

268269
if (json.isJsonArray()) {
269270

@@ -346,7 +347,7 @@ default JsonElement toJSONSet(Set<T> toWrite) {
346347
default Set<T> readByteBufSet(FriendlyByteBuf buffer) {
347348

348349
final int size = buffer.readInt();
349-
final Set<T> set = new HashSet<>(size);
350+
final Set<T> set = new LinkedHashSet<>(size);
350351

351352
for (int i = 0; i < size; i++) {
352353

0 commit comments

Comments
 (0)