World config and inventories

This commit is contained in:
Mysaa Java
2026-10-08 11:46:28 +02:00
parent 466da86969
commit 741f60bb3b
24 changed files with 976 additions and 352 deletions
@@ -0,0 +1,47 @@
package com.bernard.nodecames.util;
import java.util.EnumSet;
import java.util.Set;
import java.util.function.BiConsumer;
import java.util.function.BinaryOperator;
import java.util.function.Function;
import java.util.function.Supplier;
import java.util.stream.Collector;
import tools.jackson.databind.JsonNode;
import tools.jackson.databind.node.ArrayNode;
import tools.jackson.databind.node.JsonNodeFactory;
public class Utils {
private Utils() {}
public static final Collector<JsonNode,ArrayNode,ArrayNode> jsonNodeCollector(JsonNodeFactory jsn) {
return new Collector<JsonNode,ArrayNode,ArrayNode>() {
@Override
public Supplier<ArrayNode> supplier() {
return jsn::arrayNode;
}
@Override
public BiConsumer<ArrayNode, JsonNode> accumulator() {
return ArrayNode::add;
}
@Override
public BinaryOperator<ArrayNode> combiner() {
return (a,b) -> {
a.addAll(b);
return a;
};
}
@Override
public Function<ArrayNode, ArrayNode> finisher() {
return Function.identity();
}
@Override
public Set<Characteristics> characteristics() {
return EnumSet.of(Characteristics.IDENTITY_FINISH);
}
};
}
}