Configuration Plugin [Java] Problème de written_book

  • Auteur de la discussion Auteur de la discussion Kenda
  • Date de début Date de début

Kenda

Architecte en herbe
16 Juillet 2016
317
1
2
125
33
www.youtube.com
Bonjour,

J'ai comme un con delete ma class sur github, ducoup je suis en train de la refaire.

Je dois faire un livre custom qui souvre avec une commande, et j'ai cette erreur:


Code:
[22:52:02 ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'manual' in plugin FASurvival v1.0-SNAPSHOT
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:47) ~[forge:?]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:149) ~[forge:?]
        at org.bukkit.craftbukkit.v1_16_R3.CraftServer.dispatchCommand(CraftServer.java:782) ~[forge:7e29f765-296df566-9fb885e8]
        at net.minecraft.network.play.ServerPlayNetHandler.func_147361_d(ServerPlayNetHandler.java:1826) ~[?:?]
        at net.minecraft.network.play.ServerPlayNetHandler.func_147354_a(ServerPlayNetHandler.java:1663) ~[?:?]
        at net.minecraft.network.play.client.CChatMessagePacket.func_148833_a(CChatMessagePacket.java:39) ~[?:?]
        at net.minecraft.network.play.client.CChatMessagePacket.func_148833_a(CChatMessagePacket.java:10) ~[?:?]
        at net.minecraft.network.PacketThreadUtil.func_225383_a(PacketThreadUtil.java:22) ~[?:?]
        at net.minecraft.util.concurrent.TickDelayedTask.run(SourceFile:18) ~[?:?]
        at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213166_h(ThreadTaskExecutor.java:153) ~[?:?]
        at net.minecraft.util.concurrent.RecursiveEventLoop.func_213166_h(SourceFile:23) ~[?:?]
        at net.minecraft.server.MinecraftServer.func_213166_h(MinecraftServer.java:967) ~[?:?]
        at net.minecraft.server.MinecraftServer.func_213166_h(MinecraftServer.java:174) ~[?:?]
        at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213168_p(ThreadTaskExecutor.java:126) ~[?:?]
        at net.minecraft.server.MinecraftServer.func_213205_aW(MinecraftServer.java:950) ~[?:?]
        at net.minecraft.server.MinecraftServer.func_213168_p(MinecraftServer.java:944) ~[?:?]
        at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213161_c(ThreadTaskExecutor.java:136) ~[?:?]
        at net.minecraft.server.MinecraftServer.func_213202_o(MinecraftServer.java:930) ~[?:?]
        at net.minecraft.server.MinecraftServer.func_240802_v_(MinecraftServer.java:850) ~[?:?]
        at net.minecraft.server.MinecraftServer.func_240783_a_(MinecraftServer.java:267) ~[?:?]
        at java.lang.Thread.run(Thread.java:1570) ~[?:?]
Caused by: java.lang.IllegalArgumentException: Book must be Material.WRITTEN_BOOK
        at org.apache.commons.lang.Validate.isTrue(Validate.java:136) ~[commons-lang-2.6.jar:2.6]
        at org.bukkit.craftbukkit.v1_16_R3.entity.CraftPlayer.openBook(CraftPlayer.java:1793) ~[forge:?]
        at fr.kenda.fasurvie.commands.FAManual.onCommand(FAManual.java:70) ~[?:?]
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[forge:?]
        ... 20 more

Et voici le code


Java:
@Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {

        if (!(sender instanceof Player)) {
            sender.sendMessage("§cCette commande ne peut être utilisée que par un joueur !");
            return true;
        }

        Player player = (Player) sender;

        // Créer un livre écrit
        ItemStack book = new ItemStack(Material.WRITTEN_BOOK);
        BookMeta bookMeta = (BookMeta) book.getItemMeta();

        // Définir le titre et l'auteur
        bookMeta.setTitle("§6Livre Magique");
        bookMeta.setAuthor("§bServeur");

        // Ajouter des pages au livre
        bookMeta.addPage(
                "§lBienvenue !\n\n" +
                        "§0Ceci est la première page de votre livre magique.\n\n" +
                        "§9Vous pouvez naviguer entre les pages avec les flèches."
        );

        bookMeta.addPage(
                "§lPage 2\n\n" +
                        "§0Ici vous pouvez ajouter du contenu personnalisé.\n\n" +
                        "§2Couleurs disponibles :\n" +
                        "§c- Rouge\n" +
                        "§a- Vert\n" +
                        "§9- Bleu\n" +
                        "§e- Jaune"
        );

        bookMeta.addPage(
                "§lDernière page\n\n" +
                        "§0Merci d'avoir lu ce livre !\n\n" +
                        "§5Vous pouvez fermer ce livre à tout moment."
        );

        // Appliquer les métadonnées au livre
        book.setItemMeta(bookMeta);

        // Ouvrir le livre directement au joueur
        player.openBook(book);

        // Message de confirmation (optionnel)
        player.sendMessage("§aLivre ouvert avec succès !");

        return true;
    }

j'ai beau faire des recherches, et demander aux IA, j'ai toujours ce soucis, alors que, avant ça marchait parfaitement. une aide svp ? Merci !
 
Bonsoir,

As-tu bien mis api-version: 1.16 dans ton plugin.yml ?

Cordialement,
ShE3py