Aide pour plugin Minecraft

Bonjour, moi et mon ami on essaie de faire marcher un plugin Minecraft pour nous give des items custom. Malheuresement, le plugin ne marche pas et n'est pas reconnu par Minecraft Possible de nous aider?
52 Replies
Fresh!Dyno
Fresh!Dyno4d ago
package me.freshdyno.customGlassPanePlugin;

import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.NamespacedKey;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.persistence.PersistentDataType;

public class CustomGlassPanePlugin extends JavaPlugin {

@Override
public void onEnable() {
// Enregistrement de la commande
if (this.getCommand("custompane") != null) {
this.getCommand("custompane").setExecutor(new CustomPaneCommand());
}
}

public class CustomPaneCommand implements CommandExecutor {

@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if (!(sender instanceof Player)) {
sender.sendMessage("Seuls les joueurs peuvent exécuter cette commande.");
return false;
}

Player player = (Player) sender;

if (!player.hasPermission("custompane.use")) {
player.sendMessage("§cVous n'avez pas la permission d'utiliser cette commande.");
return true;
}

if (args.length != 1) {
player.sendMessage("Utilisation: /custompane <name>");
return false;
}

String paneName = args[0];

// Création d'une vitre personnalisée
ItemStack customPane = new ItemStack(Material.GLASS_PANE);
ItemMeta meta = customPane.getItemMeta();

if (meta != null) {
meta.setDisplayName(paneName);

// Ajouter des données persistantes (pour identifier cet objet)
NamespacedKey key = new NamespacedKey(CustomGlassPanePlugin.this, "custom_pane");
meta.getPersistentDataContainer().set(key, PersistentDataType.STRING, paneName);

customPane.setItemMeta(meta);
}

player.getInventory().addItem(customPane);
player.sendMessage("Vitre personnalisée ajoutée: " + paneName);

return true;
}
}
}
package me.freshdyno.customGlassPanePlugin;

import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.NamespacedKey;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.persistence.PersistentDataType;

public class CustomGlassPanePlugin extends JavaPlugin {

@Override
public void onEnable() {
// Enregistrement de la commande
if (this.getCommand("custompane") != null) {
this.getCommand("custompane").setExecutor(new CustomPaneCommand());
}
}

public class CustomPaneCommand implements CommandExecutor {

@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if (!(sender instanceof Player)) {
sender.sendMessage("Seuls les joueurs peuvent exécuter cette commande.");
return false;
}

Player player = (Player) sender;

if (!player.hasPermission("custompane.use")) {
player.sendMessage("§cVous n'avez pas la permission d'utiliser cette commande.");
return true;
}

if (args.length != 1) {
player.sendMessage("Utilisation: /custompane <name>");
return false;
}

String paneName = args[0];

// Création d'une vitre personnalisée
ItemStack customPane = new ItemStack(Material.GLASS_PANE);
ItemMeta meta = customPane.getItemMeta();

if (meta != null) {
meta.setDisplayName(paneName);

// Ajouter des données persistantes (pour identifier cet objet)
NamespacedKey key = new NamespacedKey(CustomGlassPanePlugin.this, "custom_pane");
meta.getPersistentDataContainer().set(key, PersistentDataType.STRING, paneName);

customPane.setItemMeta(meta);
}

player.getInventory().addItem(customPane);
player.sendMessage("Vitre personnalisée ajoutée: " + paneName);

return true;
}
}
}
hydrolien
hydrolien3d ago
Tu a bien également un fichier plugin.yml dans les ressources de ton projet ?
Fresh!Dyno
Fresh!Dyno3d ago
Oui.
hydrolien
hydrolien3d ago
Je ne vois pas d'erreur dans le code que tu nous a partagé
Fresh!Dyno
Fresh!Dyno3d ago
name: CustomGlassPanePlugin version: 1.0 main: me.freshdyno.customGlassPanePlugin.CustomGlassPanePlugin api-version: 1.20 commands: custompane: description: Crée un panneau de verre personnalisé. usage: /custompane <name> voici les ressources
hydrolien
hydrolien3d ago
Ton projet est-il disponible sur un répo git ?
Fresh!Dyno
Fresh!Dyno3d ago
nope, je vais le mettre si tu le souhaites
hydrolien
hydrolien3d ago
Je veux bien
hydrolien
hydrolien3d ago
J'ai eu a mettre api version en String plutot que double comme ça api-version: '1.20' Et le plugin est reconu.
[18:57:43 INFO]: [PluginInitializerManager] Paper plugins (1):
- CustomGlassPanePlugin (1.0)
[18:57:43 INFO]: [PluginInitializerManager] Paper plugins (1):
- CustomGlassPanePlugin (1.0)
@Fresh!Dyno
Fresh!Dyno
Fresh!Dyno3d ago
Merci c'est adorable pour l'aide
hydrolien
hydrolien3d ago
Pas de soucis J'ai eu le même problème il y a quelque mois. Et avec un projet maven sur Github c'est facile a tester
c2r.7s
c2r.7s3d ago
C'est moi l'ami en question, Merci beaucoup je regarde ça quand je rentre et je te tiens au courant 🙏
Fresh!Dyno
Fresh!Dyno3d ago
[17:25:32 ERROR]: Error occurred while enabling CustomGlassPanePlugin v1.0 (Is it up to date?) java.lang.NullPointerException: Cannot invoke "org.bukkit.command.PluginCommand.setExecutor(org.bukkit.command.CommandExecutor)" because the return value of "me.freshdyno.customglasspane.CustomGlassPanePlugin.getCommand(String)" is null at me.freshdyno.customglasspane.CustomGlassPanePlugin.onEnable(CustomGlassPanePlugin.java:17) ~[customglasspane-1.0-SNAPSHOT.jar:?] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:281) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?] at io.papermc.paper.plugin.manager.PaperPluginInstanceManager.enablePlugin(PaperPluginInstanceManager.java:189) ~[paper-1.20.1.jar:git-Paper-196] at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.enablePlugin(PaperPluginManagerImpl.java:104) ~[paper-1.20.1.jar:git-Paper-196] at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:507) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?] at org.bukkit.craftbukkit.v1_20_R1.CraftServer.enablePlugin(CraftServer.java:642) ~[paper-1.20.1.jar:git-Paper-196] at org.bukkit.craftbukkit.v1_20_R1.CraftServer.enablePlugins(CraftServer.java:553) ~[paper-1.20.1.jar:git-Paper-196] at net.minecraft.server.MinecraftServer.loadWorld0(MinecraftServer.java:635) ~[paper-1.20.1.jar:git-Paper-196] at net.minecraft.server.MinecraftServer.loadLevel(MinecraftServer.java:434) ~[paper-1.20.1.jar:git-Paper-196] at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:308) ~[paper-1.20.1.jar:git-Paper-196] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1100) ~[paper-1.20.1.jar:git-Paper-196] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:317) ~[paper-1.20.1.jar:git-Paper-196] at java.lang.Thread.run(Unknown Source) ~[?:?]
hydrolien
hydrolien3d ago
Je n'ai pas cette erreur
Want results from more Discord servers?
Add your server