Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ plugins {
}
publishData {
useEldoNexusRepos(false)
publishingVersion = "1.4.0"
publishingVersion = "2.0.0"
}
version = publishData.getVersion()

Expand Down Expand Up @@ -57,14 +57,14 @@ allprojects {
dependencies {
api("org.jetbrains", "annotations", "26.0.2-1")

api(platform("com.fasterxml.jackson:jackson-bom:2.20.0"))
api("com.fasterxml.jackson.core", "jackson-core")
api("com.fasterxml.jackson.core:jackson-databind")
api(platform("tools.jackson:jackson-bom:3.0.3"))
api("tools.jackson.core", "jackson-core")
api("tools.jackson.core:jackson-databind")

// jackson testing
testImplementation("com.fasterxml.jackson.core:jackson-databind")
testImplementation("com.fasterxml.jackson.dataformat:jackson-dataformat-yaml")
testImplementation("com.fasterxml.jackson.dataformat:jackson-dataformat-toml")
testImplementation("tools.jackson.core:jackson-databind")
testImplementation("tools.jackson.dataformat:jackson-dataformat-yaml")
testImplementation("tools.jackson.dataformat:jackson-dataformat-toml")

// junit and stuff
testImplementation("org.junit.jupiter:junit-jupiter-api:6.0.0")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,12 @@
*/
package de.eldoria.jacksonbukkit;

import com.fasterxml.jackson.databind.module.SimpleDeserializers;
import com.fasterxml.jackson.databind.module.SimpleSerializers;
import de.eldoria.jacksonbukkit.builder.JacksonBukkitBuilder;
import de.eldoria.jacksonbukkit.deserializer.HexRGBColorDeserializer;
import de.eldoria.jacksonbukkit.deserializer.LegacyItemStackDeserializer;
import de.eldoria.jacksonbukkit.deserializer.RGBColorDeserializer;
import de.eldoria.jacksonbukkit.serializer.HexRGBColorSerializer;
import de.eldoria.jacksonbukkit.serializer.LegacyItemStackSerializer;
import de.eldoria.jacksonbukkit.serializer.NamespacedKeySerializer;
import de.eldoria.jacksonbukkit.serializer.NamespacedKeySerializer.Format;
import de.eldoria.jacksonbukkit.serializer.RGBColorSerializer;
import org.bukkit.Color;
Expand All @@ -30,6 +27,8 @@
import org.bukkit.util.BoundingBox;
import org.bukkit.util.Vector;
import org.jetbrains.annotations.ApiStatus;
import tools.jackson.databind.module.SimpleDeserializers;
import tools.jackson.databind.module.SimpleSerializers;

/**
* Class adding support for classes implementing {@link ConfigurationSerializable}.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,51 +5,9 @@
*/
package de.eldoria.jacksonbukkit;

import com.fasterxml.jackson.core.Version;
import com.fasterxml.jackson.databind.Module;
import com.fasterxml.jackson.databind.module.SimpleDeserializers;
import com.fasterxml.jackson.databind.module.SimpleSerializers;
import de.eldoria.jacksonbukkit.deserializer.AttributeModifierDeserializer;
import de.eldoria.jacksonbukkit.deserializer.BlockDataDeserializer;
import de.eldoria.jacksonbukkit.deserializer.BlockVectorDeserializer;
import de.eldoria.jacksonbukkit.deserializer.BoundingBoxDeserializer;
import de.eldoria.jacksonbukkit.deserializer.EnchantmentDeserializer;
import de.eldoria.jacksonbukkit.deserializer.ExactChoiceDeserializer;
import de.eldoria.jacksonbukkit.deserializer.FireworkEffectDeserializer;
import de.eldoria.jacksonbukkit.deserializer.LocationDeserializer;
import de.eldoria.jacksonbukkit.deserializer.MaterialChoiceDeserializer;
import de.eldoria.jacksonbukkit.deserializer.NamespacedKeyDeserializer;
import de.eldoria.jacksonbukkit.deserializer.PatternDeserializer;
import de.eldoria.jacksonbukkit.deserializer.PlayerDeserializer;
import de.eldoria.jacksonbukkit.deserializer.PotionEffectDeserializer;
import de.eldoria.jacksonbukkit.deserializer.PotionEffectTypeDeserializer;
import de.eldoria.jacksonbukkit.deserializer.RGBColorDeserializer;
import de.eldoria.jacksonbukkit.deserializer.ShapedRecipeDeserializer;
import de.eldoria.jacksonbukkit.deserializer.ShapelessRecipeDeserializer;
import de.eldoria.jacksonbukkit.deserializer.VectorDeserializer;
import de.eldoria.jacksonbukkit.serializer.AttributeModifierSerializer;
import de.eldoria.jacksonbukkit.serializer.BlockDataSerializer;
import de.eldoria.jacksonbukkit.serializer.BlockVectorSerializer;
import de.eldoria.jacksonbukkit.serializer.BoundingBoxSerializer;
import de.eldoria.jacksonbukkit.serializer.EnchantmentSerializer;
import de.eldoria.jacksonbukkit.serializer.ExactChoiceSerializer;
import de.eldoria.jacksonbukkit.serializer.FireworkEffectSerializer;
import de.eldoria.jacksonbukkit.serializer.LocationSerializer;
import de.eldoria.jacksonbukkit.serializer.MaterialChoiceSerializer;
import de.eldoria.jacksonbukkit.serializer.NamespacedKeySerializer;
import de.eldoria.jacksonbukkit.serializer.PatternSerializer;
import de.eldoria.jacksonbukkit.serializer.PlayerSerializer;
import de.eldoria.jacksonbukkit.serializer.PotionEffectSerializer;
import de.eldoria.jacksonbukkit.serializer.PotionEffectTypeSerializer;
import de.eldoria.jacksonbukkit.serializer.RGBColorSerializer;
import de.eldoria.jacksonbukkit.serializer.ShapedRecipeSerializer;
import de.eldoria.jacksonbukkit.serializer.ShapelessRecipeSerializer;
import de.eldoria.jacksonbukkit.serializer.VectorSerializer;
import org.bukkit.Color;
import org.bukkit.FireworkEffect;
import org.bukkit.Location;
import org.bukkit.NamespacedKey;
import org.bukkit.OfflinePlayer;
import de.eldoria.jacksonbukkit.deserializer.*;
import de.eldoria.jacksonbukkit.serializer.*;
import org.bukkit.*;
import org.bukkit.attribute.AttributeModifier;
import org.bukkit.block.banner.Pattern;
import org.bukkit.block.data.BlockData;
Expand All @@ -64,12 +22,16 @@
import org.bukkit.util.BoundingBox;
import org.bukkit.util.Vector;
import org.jetbrains.annotations.ApiStatus;
import tools.jackson.core.Version;
import tools.jackson.databind.JacksonModule;
import tools.jackson.databind.module.SimpleDeserializers;
import tools.jackson.databind.module.SimpleSerializers;

/**
* Base class to implement a bukkit jackson module.
*/
@ApiStatus.Internal
public abstract class JacksonBukkitModule extends Module {
public abstract class JacksonBukkitModule extends JacksonModule {
/**
* True when colors should be interpreted as hex strings.
*/
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/**
* Package containing {@link de.eldoria.jacksonbukkit.builder.ModuleBuilder} to build the {@link com.fasterxml.jackson.databind.Module}s
* Package containing {@link de.eldoria.jacksonbukkit.builder.ModuleBuilder} to build the {@link tools.jackson.databind.JacksonModule}s
*/

package de.eldoria.jacksonbukkit.builder;
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,19 @@
*/
package de.eldoria.jacksonbukkit.deserializer;

import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;
import de.eldoria.jacksonbukkit.entities.AttributeModifierWrapper;
import org.bukkit.attribute.AttributeModifier;

import java.io.IOException;
import tools.jackson.core.JacksonException;
import tools.jackson.core.JsonParser;
import tools.jackson.databind.DeserializationContext;
import tools.jackson.databind.ValueDeserializer;

/**
* Class for deserialization of {@link AttributeModifier}.
*/
public class AttributeModifierDeserializer extends JsonDeserializer<AttributeModifier> {
public class AttributeModifierDeserializer extends ValueDeserializer<AttributeModifier> {
@Override
public AttributeModifier deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
public AttributeModifier deserialize(JsonParser p, DeserializationContext ctxt) throws JacksonException {
return ctxt.readValue(p, AttributeModifierWrapper.class).toBukkitAttributeModifier();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,21 +5,20 @@
*/
package de.eldoria.jacksonbukkit.deserializer;

import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;
import org.bukkit.Bukkit;
import org.bukkit.block.data.BlockData;
import org.bukkit.util.BlockVector;

import java.io.IOException;
import tools.jackson.core.JacksonException;
import tools.jackson.core.JsonParser;
import tools.jackson.databind.DeserializationContext;
import tools.jackson.databind.ValueDeserializer;

/**
* Class for deserialization of {@link BlockVector}.
*/
public class BlockDataDeserializer extends JsonDeserializer<BlockData> {
public class BlockDataDeserializer extends ValueDeserializer<BlockData> {
@Override
public BlockData deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
public BlockData deserialize(JsonParser p, DeserializationContext ctxt) throws JacksonException {
return Bukkit.createBlockData(ctxt.readValue(p, String.class));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,19 @@
*/
package de.eldoria.jacksonbukkit.deserializer;

import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;
import de.eldoria.jacksonbukkit.entities.VectorWrapper;
import org.bukkit.util.BlockVector;

import java.io.IOException;
import tools.jackson.core.JacksonException;
import tools.jackson.core.JsonParser;
import tools.jackson.databind.DeserializationContext;
import tools.jackson.databind.ValueDeserializer;

/**
* Class for deserialization of {@link BlockVector}.
*/
public class BlockVectorDeserializer extends JsonDeserializer<BlockVector> {
public class BlockVectorDeserializer extends ValueDeserializer<BlockVector> {
@Override
public BlockVector deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
public BlockVector deserialize(JsonParser p, DeserializationContext ctxt) throws JacksonException {
return ctxt.readValue(p, VectorWrapper.class).toBukkitBlockVector();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,19 @@
*/
package de.eldoria.jacksonbukkit.deserializer;

import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;
import de.eldoria.jacksonbukkit.entities.BoundingBoxWrapper;
import org.bukkit.util.BoundingBox;

import java.io.IOException;
import tools.jackson.core.JacksonException;
import tools.jackson.core.JsonParser;
import tools.jackson.databind.DeserializationContext;
import tools.jackson.databind.ValueDeserializer;

/**
* Class for deserialization of {@link BoundingBox}.
*/
public class BoundingBoxDeserializer extends JsonDeserializer<BoundingBox> {
public class BoundingBoxDeserializer extends ValueDeserializer<BoundingBox> {
@Override
public BoundingBox deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
public BoundingBox deserialize(JsonParser p, DeserializationContext ctxt) throws JacksonException {
return ctxt.readValue(p, BoundingBoxWrapper.class).toBukkitBoundingBox();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,20 @@
*/
package de.eldoria.jacksonbukkit.deserializer;

import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;
import com.fasterxml.jackson.databind.JsonNode;
import org.bukkit.NamespacedKey;
import org.bukkit.enchantments.Enchantment;
import tools.jackson.core.JacksonException;
import tools.jackson.core.JsonParser;
import tools.jackson.core.exc.JacksonIOException;
import tools.jackson.databind.DeserializationContext;
import tools.jackson.databind.JsonNode;
import tools.jackson.databind.ValueDeserializer;

import java.io.IOException;

public class EnchantmentDeserializer extends JsonDeserializer<Enchantment> {
public class EnchantmentDeserializer extends ValueDeserializer<Enchantment> {
@Override
public Enchantment deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
public Enchantment deserialize(JsonParser p, DeserializationContext ctxt) throws JacksonException {
JsonNode tree = ctxt.readTree(p);
if (tree.isTextual()) {
return Enchantment.getByName(ctxt.readTreeAsValue(tree, String.class));
Expand All @@ -25,6 +27,6 @@ public Enchantment deserialize(JsonParser p, DeserializationContext ctxt) throws
if (tree.isObject()) {
return Enchantment.getByKey(ctxt.readTreeAsValue(tree, NamespacedKey.class));
}
throw new IOException("Unknown type for field type" + tree.getNodeType().name());
throw JacksonIOException.construct(new IOException("Unknown type for field type" + tree.getNodeType().name()));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,19 @@
*/
package de.eldoria.jacksonbukkit.deserializer;

import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;
import de.eldoria.jacksonbukkit.entities.ExactChoiceWrapper;
import org.bukkit.inventory.RecipeChoice.ExactChoice;

import java.io.IOException;
import tools.jackson.core.JacksonException;
import tools.jackson.core.JsonParser;
import tools.jackson.databind.DeserializationContext;
import tools.jackson.databind.ValueDeserializer;

/**
* Class for deserialization of {@link ExactChoice}.
*/
public class ExactChoiceDeserializer extends JsonDeserializer<ExactChoice> {
public class ExactChoiceDeserializer extends ValueDeserializer<ExactChoice> {
@Override
public ExactChoice deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
public ExactChoice deserialize(JsonParser p, DeserializationContext ctxt) throws JacksonException {
return ctxt.readValue(p, ExactChoiceWrapper.class).toBukkitRecipeChoice();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,19 @@
*/
package de.eldoria.jacksonbukkit.deserializer;

import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;
import de.eldoria.jacksonbukkit.entities.FireworkEffectWrapper;
import org.bukkit.FireworkEffect;

import java.io.IOException;
import tools.jackson.core.JacksonException;
import tools.jackson.core.JsonParser;
import tools.jackson.databind.DeserializationContext;
import tools.jackson.databind.ValueDeserializer;

/**
* Class for deserialization of {@link FireworkEffect}.
*/
public class FireworkEffectDeserializer extends JsonDeserializer<FireworkEffect> {
public class FireworkEffectDeserializer extends ValueDeserializer<FireworkEffect> {
@Override
public FireworkEffect deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
public FireworkEffect deserialize(JsonParser p, DeserializationContext ctxt) throws JacksonException {
return ctxt.readValue(p, FireworkEffectWrapper.class).toFireworkEffect();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,21 +5,20 @@
*/
package de.eldoria.jacksonbukkit.deserializer;

import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;
import de.eldoria.jacksonbukkit.entities.RGBColorWrapper;
import org.bukkit.Color;

import java.io.IOException;
import tools.jackson.core.JacksonException;
import tools.jackson.core.JsonParser;
import tools.jackson.databind.DeserializationContext;
import tools.jackson.databind.ValueDeserializer;

/**
* Class for deserialization of {@link Color} as hexadecimal string.
*/
public class HexRGBColorDeserializer extends JsonDeserializer<Color> {
public class HexRGBColorDeserializer extends ValueDeserializer<Color> {

@Override
public Color deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
public Color deserialize(JsonParser p, DeserializationContext ctxt) throws JacksonException {
return RGBColorWrapper.of(ctxt.readValue(p, String.class)).toBukkitColor();
}
}
Loading