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:
Et voici le code
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 !
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 !