2017-09-28 5 views
1

Je suis donc en train d'éditer un plugin pour minecraft spigot.Java Plugin pour Minecraft - Modification de la commande

Dans un décompilateur/débogueur c'est ce qui apparaît pour « FlyCommand.class » sous me.twister915.ffly

https://pastebin.com/KB3jLX7S

Voici ce qui apparaît dans mon projet IntelliJ pour le même fichier.

https://pastebin.com/kqX3DzTu

Je suis en train de changer la partie pour

public FlyCommand() 
    { 
    super("fly"); 
    } 

Je suppose de IntelliJ c'est là où il doit être modifié. Mais je ne peux pas comprendre comment changer afin que les gens n'utilisent pas la commande "/ fly" ingame. Je préfère le changer à quelque chose comme "/ vfly"

Je ne suis pas sûr de savoir comment faire cela.

+1

1. Pourquoi doit-il être "vfly" 2. Êtes-vous sûr que la licence du plugin vous le permet? 3. Vous devez utiliser le code source et éditer cela (ou décompiler tout dans le code source avec un décompilateur), puis le recompiler –

+0

Je ne veux pas qu'il écrase une autre commande avec un autre plugin qui est/fly. C'est ce qu'il fait actuellement, je veux qu'il prenne la 2ème priorité. Je suppose que le meilleur moyen de le faire est de changer la commande. Aussi, j'ai décompilé avec jd-gui puis sauvegardé toutes les sources et l'ai importé dans intellij. @SocraticPhoenix – user3646954

+0

Hmm ... ce serait probablement mieux adapté aux forums bukkit ... de toute façon si vous voulez vraiment le changer, il suffit de changer le "fly" du texte en "vfly" (est l'extension de fichier .java ou .class ?) –

Répondre

0

Vous pouvez intercepter le CommandPreProcessEvent(javadocs) et traiter l'événement comme vous le souhaitez.

@EventHandler 
public void onCmdPreProcess(PlayerCommandPreprocessEvent e) { 
    if (e.getMessage().equalsIgnoreCase("/" + "command") { 
     e.setCancelled(true); //Treat command in your way 
    } 
}