diff --git a/build.gradle.kts b/build.gradle.kts index f37704e..9d91863 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -3,7 +3,7 @@ import net.minecrell.pluginyml.bukkit.BukkitPluginDescription plugins { id("java") id("maven-publish") - id("io.papermc.paperweight.userdev") version "1.5.11" + id("io.papermc.paperweight.userdev") version "1.6.2" id("net.minecrell.plugin-yml.bukkit") version "0.6.0" } @@ -15,17 +15,17 @@ repositories { } dependencies { - paperweight.paperDevBundle("1.20.4-R0.1-SNAPSHOT") + paperweight.paperDevBundle("1.20.5-R0.1-SNAPSHOT") } java { - toolchain.languageVersion.set(JavaLanguageVersion.of(17)) + toolchain.languageVersion.set(JavaLanguageVersion.of(21)) } tasks { compileJava { options.encoding = Charsets.UTF_8.name() - options.release.set(17) + options.release.set(21) dependsOn(clean) } @@ -44,7 +44,7 @@ publishing { bukkit { main = "eu.endercentral.crazy_advancements.CrazyAdvancementsAPI" author = "ZockerAxel" - apiVersion = "1.20" // Should be always same as dev bundle version (without minor versions) + apiVersion = "1.20.5" // Should be always same as dev bundle version load = BukkitPluginDescription.PluginLoadOrder.STARTUP commands { diff --git a/src/main/java/eu/endercentral/crazy_advancements/AdvancementPacketReceiver.java b/src/main/java/eu/endercentral/crazy_advancements/AdvancementPacketReceiver.java index 090a06e..5136e13 100644 --- a/src/main/java/eu/endercentral/crazy_advancements/AdvancementPacketReceiver.java +++ b/src/main/java/eu/endercentral/crazy_advancements/AdvancementPacketReceiver.java @@ -1,5 +1,13 @@ package eu.endercentral.crazy_advancements; +import java.lang.reflect.Field; +import java.util.HashMap; +import java.util.List; + +import org.bukkit.Bukkit; +import org.bukkit.craftbukkit.entity.CraftPlayer; +import org.bukkit.entity.Player; + import eu.endercentral.crazy_advancements.event.AdvancementScreenCloseEvent; import eu.endercentral.crazy_advancements.event.AdvancementTabChangeEvent; import io.netty.channel.Channel; @@ -12,13 +20,6 @@ import net.minecraft.network.protocol.game.ServerboundSeenAdvancementsPacket; import net.minecraft.server.network.ServerCommonPacketListenerImpl; import net.minecraft.server.network.ServerGamePacketListenerImpl; -import org.bukkit.Bukkit; -import org.bukkit.craftbukkit.v1_20_R3.entity.CraftPlayer; -import org.bukkit.entity.Player; - -import java.lang.reflect.Field; -import java.util.HashMap; -import java.util.List; public class AdvancementPacketReceiver { diff --git a/src/main/java/eu/endercentral/crazy_advancements/CrazyAdvancementsAPI.java b/src/main/java/eu/endercentral/crazy_advancements/CrazyAdvancementsAPI.java index 5d97e6d..1ccc5f5 100644 --- a/src/main/java/eu/endercentral/crazy_advancements/CrazyAdvancementsAPI.java +++ b/src/main/java/eu/endercentral/crazy_advancements/CrazyAdvancementsAPI.java @@ -1,27 +1,23 @@ package eu.endercentral.crazy_advancements; -import com.google.gson.*; -import eu.endercentral.crazy_advancements.advancement.*; -import eu.endercentral.crazy_advancements.advancement.AdvancementDisplay.AdvancementFrame; -import eu.endercentral.crazy_advancements.advancement.criteria.CriteriaType; -import eu.endercentral.crazy_advancements.advancement.progress.GenericResult; -import eu.endercentral.crazy_advancements.advancement.progress.GrantCriteriaResult; -import eu.endercentral.crazy_advancements.advancement.serialized.SerializedAdvancement; -import eu.endercentral.crazy_advancements.advancement.serialized.SerializedAdvancementDisplay; -import eu.endercentral.crazy_advancements.command.ProgressChangeOperation; -import eu.endercentral.crazy_advancements.item.CustomItem; -import eu.endercentral.crazy_advancements.item.SerializedCustomItem; -import eu.endercentral.crazy_advancements.manager.AdvancementManager; -import eu.endercentral.crazy_advancements.packet.AdvancementsPacket; -import net.minecraft.advancements.Criterion; -import net.minecraft.advancements.critereon.ImpossibleTrigger; -import net.minecraft.network.protocol.game.ClientboundSelectAdvancementsTabPacket; +import java.io.File; +import java.io.FileReader; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Locale; + +import javax.annotation.Nullable; + import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.OfflinePlayer; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; -import org.bukkit.craftbukkit.v1_20_R3.entity.CraftPlayer; +import org.bukkit.craftbukkit.entity.CraftPlayer; import org.bukkit.entity.Entity; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -34,11 +30,31 @@ import org.bukkit.inventory.meta.SkullMeta; import org.bukkit.plugin.java.JavaPlugin; -import javax.annotation.Nullable; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.util.*; +import com.google.gson.FieldNamingPolicy; +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonElement; +import com.google.gson.JsonParser; + +import eu.endercentral.crazy_advancements.advancement.Advancement; +import eu.endercentral.crazy_advancements.advancement.AdvancementDisplay; +import eu.endercentral.crazy_advancements.advancement.AdvancementDisplay.AdvancementFrame; +import eu.endercentral.crazy_advancements.advancement.AdvancementFlag; +import eu.endercentral.crazy_advancements.advancement.AdvancementVisibility; +import eu.endercentral.crazy_advancements.advancement.ToastNotification; +import eu.endercentral.crazy_advancements.advancement.criteria.CriteriaType; +import eu.endercentral.crazy_advancements.advancement.progress.GenericResult; +import eu.endercentral.crazy_advancements.advancement.progress.GrantCriteriaResult; +import eu.endercentral.crazy_advancements.advancement.serialized.SerializedAdvancement; +import eu.endercentral.crazy_advancements.advancement.serialized.SerializedAdvancementDisplay; +import eu.endercentral.crazy_advancements.command.ProgressChangeOperation; +import eu.endercentral.crazy_advancements.item.CustomItem; +import eu.endercentral.crazy_advancements.item.SerializedCustomItem; +import eu.endercentral.crazy_advancements.manager.AdvancementManager; +import eu.endercentral.crazy_advancements.packet.AdvancementsPacket; +import net.minecraft.advancements.Criterion; +import net.minecraft.advancements.critereon.ImpossibleTrigger; +import net.minecraft.network.protocol.game.ClientboundSelectAdvancementsTabPacket; /** * Represents the API's Plugin diff --git a/src/main/java/eu/endercentral/crazy_advancements/JSONMessage.java b/src/main/java/eu/endercentral/crazy_advancements/JSONMessage.java index 596e8b2..b0c10d5 100644 --- a/src/main/java/eu/endercentral/crazy_advancements/JSONMessage.java +++ b/src/main/java/eu/endercentral/crazy_advancements/JSONMessage.java @@ -1,8 +1,15 @@ package eu.endercentral.crazy_advancements; +import java.util.Optional; +import java.util.stream.Stream; + import net.md_5.bungee.api.chat.BaseComponent; import net.md_5.bungee.chat.ComponentSerializer; +import net.minecraft.core.HolderLookup.Provider; +import net.minecraft.core.HolderLookup.RegistryLookup; +import net.minecraft.core.Registry; import net.minecraft.network.chat.Component; +import net.minecraft.resources.ResourceKey; /** * Represents a Message in JSON Format @@ -12,6 +19,9 @@ */ public class JSONMessage { + private static final Provider COMPONENT_SERIALIZER_PROVIDER = new TextHolderLookupProvider(); + + private final BaseComponent json; /** @@ -38,7 +48,7 @@ public BaseComponent getJson() { * @return An {@link Component} representation of an ingame Message */ public Component getBaseComponent() { - return Component.Serializer.fromJson(ComponentSerializer.toString(json)); + return Component.Serializer.fromJson(ComponentSerializer.toString(json), COMPONENT_SERIALIZER_PROVIDER); } @Override @@ -46,4 +56,20 @@ public String toString() { return json.toPlainText(); } + + + private static class TextHolderLookupProvider implements Provider { + + @Override + public Stream>> listRegistries() { + return Stream.of(); + } + + @Override + public Optional> lookup(ResourceKey> registryRef) { + return Optional.empty(); + } + + } + } \ No newline at end of file diff --git a/src/main/java/eu/endercentral/crazy_advancements/packet/AdvancementsPacket.java b/src/main/java/eu/endercentral/crazy_advancements/packet/AdvancementsPacket.java index b57654a..deb559b 100644 --- a/src/main/java/eu/endercentral/crazy_advancements/packet/AdvancementsPacket.java +++ b/src/main/java/eu/endercentral/crazy_advancements/packet/AdvancementsPacket.java @@ -1,15 +1,21 @@ package eu.endercentral.crazy_advancements.packet; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.bukkit.craftbukkit.entity.CraftPlayer; +import org.bukkit.entity.Player; + import eu.endercentral.crazy_advancements.NameKey; import eu.endercentral.crazy_advancements.advancement.Advancement; import net.minecraft.advancements.AdvancementHolder; import net.minecraft.advancements.AdvancementProgress; import net.minecraft.network.protocol.game.ClientboundUpdateAdvancementsPacket; import net.minecraft.resources.ResourceLocation; -import org.bukkit.craftbukkit.v1_20_R3.entity.CraftPlayer; -import org.bukkit.entity.Player; - -import java.util.*; /** * Represents an Advancements Packet diff --git a/src/main/java/eu/endercentral/crazy_advancements/packet/PacketConverter.java b/src/main/java/eu/endercentral/crazy_advancements/packet/PacketConverter.java index 9c3950b..b4caee3 100644 --- a/src/main/java/eu/endercentral/crazy_advancements/packet/PacketConverter.java +++ b/src/main/java/eu/endercentral/crazy_advancements/packet/PacketConverter.java @@ -1,5 +1,11 @@ package eu.endercentral.crazy_advancements.packet; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Optional; + +import org.bukkit.craftbukkit.inventory.CraftItemStack; + import eu.endercentral.crazy_advancements.JSONMessage; import eu.endercentral.crazy_advancements.NameKey; import eu.endercentral.crazy_advancements.advancement.Advancement; @@ -11,11 +17,6 @@ import net.minecraft.advancements.AdvancementRewards; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.ItemStack; -import org.bukkit.craftbukkit.v1_20_R3.inventory.CraftItemStack; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Optional; public class PacketConverter { diff --git a/src/main/java/eu/endercentral/crazy_advancements/packet/ToastPacket.java b/src/main/java/eu/endercentral/crazy_advancements/packet/ToastPacket.java index cea1dd5..b385aeb 100644 --- a/src/main/java/eu/endercentral/crazy_advancements/packet/ToastPacket.java +++ b/src/main/java/eu/endercentral/crazy_advancements/packet/ToastPacket.java @@ -1,14 +1,20 @@ package eu.endercentral.crazy_advancements.packet; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.bukkit.craftbukkit.entity.CraftPlayer; +import org.bukkit.entity.Player; + import eu.endercentral.crazy_advancements.advancement.ToastNotification; import net.minecraft.advancements.AdvancementHolder; import net.minecraft.advancements.AdvancementProgress; import net.minecraft.network.protocol.game.ClientboundUpdateAdvancementsPacket; import net.minecraft.resources.ResourceLocation; -import org.bukkit.craftbukkit.v1_20_R3.entity.CraftPlayer; -import org.bukkit.entity.Player; - -import java.util.*; /** * Represents an Advancements Packet for Toast Notifications