• IP Copiada!
    Click para copiar IP
    Cargando...
  • Como crear un plugin | Creacion de la clase principal (onLoad, onDisable, onEnable, Config, etc)

    Estubo bien ? :v

    • Si

      Votos: 5 14,7%
    • No

      Votos: 5 14,7%
    • Hermoso

      Votos: 1 2,9%
    • Horripilante (k sad)

      Votos: 4 11,8%
    • Lindo

      Votos: 1 2,9%
    • Feo

      Votos: 1 2,9%
    • Mounstrosamente horripilante :v

      Votos: 17 50,0%

    • Votantes totales
      34
    Estado
    Cerrado para nuevas respuestas.

    adri1711

    Master
    Miembro del Staff
    Master
    Registrado
    6 Oct 2014
    Mensajes
    661
    Reaction score
    829
    Puntos
    85
    Nick
    Adri1711
    Hala, no sabia que ahora la gente podía hacer tutoriales sin tener ni idea de lo que esta haciendo...

    Bueno, mi próximo tema sera como operar a una persona a corazón abierto aunque no haya abierto en mi vida ni a una rana :D

    En fin... Hasta luego
     

    ImYulyMKS

    Miembro
    Donador
    Registrado
    16 Mar 2018
    Mensajes
    36
    Reaction score
    5
    Puntos
    6
    Nick
    ImYulyMKS
    Ese vocabulario... :flushed::flushed::flushed::cerdo:
     

    ★ Pabs Mg ★

    Reconocido
    Registrado
    12 Nov 2015
    Mensajes
    718
    Reaction score
    677
    Puntos
    85
    Nick
    Unknown
    La forma en que me explico no es perfecta, sabes? A lo que me refiero es q siempre llega adri y me pone caga el post. No dijo asi como insulto, ni nada asi, me refiero a que por cualquier error es como decir "ah mira que mierda de post" literalmente. Y no, no es asi.

    La manera en la que hago plugins, no es profesional, no es que me sepa hacer un minijuego skywars en java, sabes? Tengo un amigo llamado FuriousGamer que me esta ayudando con un plugin FFA, cualquier duda se la pregunto. El problema aqui es que la gente por no explicarse bien se cree que uno no sabe hacer una determinada cosa. Tengo muchos plugins, algunos solo porque falto un permiso, pos fallo alv, otro funciono bien, otro solo tubo un error no tan grave, etc. Ya si ni te carga el plugin porque has puesto mal el "main: com.PabsGauna.example.Main" pues ya se podria decir que eres una mierda haciendo plugins, literalmente. Pero este tema solo por mala explicacion, y un poco de mal orden, pos aqui vienen los mensajes negativos etc etc. Ya se, de los errores se aprende, eso fue lo que quise decir, pero me entienden para la mierda. Soy malo explicandome, nunca fui bueno. Con respecto a lo de Cadiducho, aprendi de ese canal y con el canal de Ajneb97, se hacer itemstacks, etc etc, pero tampoco soy profesional, para un poco. En fin
     

    ★ Pabs Mg ★

    Reconocido
    Registrado
    12 Nov 2015
    Mensajes
    718
    Reaction score
    677
    Puntos
    85
    Nick
    Unknown
    Hola! Este es uno de los primeros tutoriales sobre java que hare, solo los hago por estar aburrido sinceramente. Pero bueno. Para crear un plugin de spigot/bukkit, necesitaras lo siguiente:

    - Eclipse Java IDE for Java developers (tiene que ser ese)
    - Spigot 1.8.8, y la Javadoc de Spigot/bukkit. En mi caso usare la de Spigot

    1- Crear un nuevo proyecto "Java Proyect". Ningun otro.
    2- Una vez creado, vamos a darle click derecho, propiedades, nos vamos a Javadoc Location y pegamos esto: https://hub.spigotmc.org/javadocs/spigot/overview-summary.html
    Luego, nos vamos a Java Build Path y damos donde dice "Add External JARs" o algo asi por el estilo y seleccionamos el jar de Spigot descargado.
    3- Creamos un paquete. El paquete no puede ser org.bukkit. ni nada de eso. Para hacerlo, damos click derecho en src y damos en New -> Package.
    4- Seleccionamos el nombre del paquete. Lo adecuado seria algo asi: me.pabsgauna
    5- Creamos una clase, solo que ahora esta vez debes de darle a src, le damos a el paquete q hemos creado.
    6- Ahora si. Empezamos con lo dificil. Antes, explicare algunas cosas.
    Los paquetes nunca los entendi muy bien pero yo los uso por cada clase. No me pregunten porque, pero lo que tengo en mi eclipse es un lio.
    No lo explicare muy bien. obviamente si haria un video con voz, si se entenderia mucho mejor.
    7- Lo primero que haremos sera poner alado de "public class <Nombre de la clase>" un "extends JavaPlugin". En eclipse cuando tengamos un error aparecera una cruz, en este caso, pasaremos el cursor encima y daremos en importar JavaPlugin. Con eso ya se arreglara.
    8- Empezaremos con el mensaje de onLoad, onDisable y onEnable, para todo sera lo mismo.

    public class Main extends JavaPlugin{

    public void onEnable(){

    La primera parte deberia quedar asi.
    9- Luego, presionamos TAB para poner lo siguiente:
    Bukkit.getConsoleSender().sendMessage(ChatColor.translateAlternateCodes('&', "Y el mensaje que deseas mandar."));
    En caso de que aparezca algun error, importamos. Yo dejare una lista de imports de lo que siempre uso :p

    import java.io.File;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.Reader;
    import java.io.UnsupportedEncodingException;

    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.configuration.file.FileConfiguration;
    import org.bukkit.configuration.file.YamlConfiguration;
    import org.bukkit.plugin.PluginDescriptionFile;
    import org.bukkit.plugin.java.JavaPlugin;

    Si les aparece algo con un "!" o una advertencia mejor dicho, eliminan el import.
    Para crear el onLoad y onDisable es lo mismo.

    public void onDisable(){
    Bukkit.getConsoleSender().sendMessage(ChatColor.translateAlternateColorCodes('&', "&2[&aTrollMe&2] &fTrollMe has been disabled! Enabled with version 1.1.0"));
    }

    --------------------------------------------------------

    public void onLoad(){
    Bukkit.getConsoleSender().sendMessage(ChatColor.translateAlternateColorCodes('&', "&2[&aTrollMe&2] &fTrollMe is loading with version 1.1.0"));
    }

    Asi seria eso.

    Ahora, si deseamos crear una config, daremos click derecho en el Java Proyect y daremos en New File. el nombre del archivo sera "config.yml" respetando la imprenta minuscula.
    En la clase principal, donde dice onEnable, anadiremos esto, para que el plugin lea el archivo.

    getConfig().options().copyDefaults(true);
    saveConfig();

    En caso de que no sean vagos, y que quieran hacer un archivo messages.yml y escribir mucho, o copiar y pegar o cosas asi BUENO YO QUE SE >:v. Para hacer el messages.yml yo lo hago asi, click derecho en Java Proyect, New File y messages.yml. Luego, al final de la clase principal pongo esto:

    Código:
        public FileConfiguration getMessages(){
            if(messages == null){
                reloadMessages();
            }
            return messages;
        }
    
        public void reloadMessages(){
            if(messages == null){
                messagesFile = new File(getDataFolder(),"messages.yml");
            }
            messages = YamlConfiguration.loadConfiguration(messagesFile);
            Reader defConfigStream;
            try{
                defConfigStream = new InputStreamReader(this.getResource("messages.yml"),"UTF8");
                if(defConfigStream != null){
                    YamlConfiguration defConfig = YamlConfiguration.loadConfiguration(defConfigStream);
                    messages.setDefaults(defConfig);
                }       
            }catch(UnsupportedEncodingException e){
                e.printStackTrace();
            }
        }
    
        public void saveMessages(){
            try{
                messages.save(messagesFile);         
            }catch(IOException e){
                e.printStackTrace();
            }
        }
    
        public void registerMessages(){
            messagesFile = new File(this.getDataFolder(),"messages.yml");
            if(!messagesFile.exists()){
                this.getMessages().options().copyDefaults(true);
                saveMessages();
            }
        }
    }
    Y bueno, en fin, esa seria la creacion de la clase principal. Se que me explico horrible, pero si copian y pegan, miran, analizan, piensan como esta hecho iran entendiendo. Yo aprendi asi. Tambien pueden buscar en yt si me explico para la mona gimenez :v.
     

    xman

    Miembro++
    Registrado
    16 Jul 2017
    Mensajes
    356
    Reaction score
    65
    Puntos
    19
    Nick
    xman11
    entendi perfectamente la clase :v, sin duda alguna.....
     

    Desilusiones

    Miembro+
    Registrado
    13 Ago 2017
    Mensajes
    208
    Reaction score
    58
    Puntos
    19
    Nick
    Desilusiones
    Sería mejor (Ya que me interesó el tema) que lo hicieras por Vídeo y bien explicado, aun que hay miles de tutoriales, uno más no viene nada mal!
     

    xLiga

    Moderador
    Miembro del Staff
    Moderador
    Registrado
    19 Oct 2017
    Mensajes
    468
    Reaction score
    116
    Puntos
    34
    Nick
    xLiga
    Ánimo, sigue tus sueños :abrazo: y toma todo positivamente.
    :angel:
     

    Sr. JleeS

    Miembro
    Registrado
    25 Abr 2018
    Mensajes
    25
    Reaction score
    18
    Puntos
    4
    Nick
    SrJleeS
    El éxito no está en vencer siempre sino en no desanimarse nunca. -Napoleón Bonaparte.
     

    JavoxDub

    Veterano
    Registrado
    19 Ene 2016
    Mensajes
    2.889
    Reaction score
    1.270
    Puntos
    105
    Nick
    JavoxGames
    No me dedico a hacer plugins, aunque alguna vez haya hecho alguno básico por aburrimiento. Creo que este "tutorial" estaría mejor en video, por texto no es muy aclaratorio y pienso que audiovisualmente se entendería mucho mejor, puedes basarte en Cadiducho que es muy bueno explicandolo u otros.
     

    Nazer

    Master
    Miembro del Staff
    Master
    Registrado
    6 Oct 2014
    Mensajes
    1.584
    Reaction score
    1.994
    Puntos
    105
    Nick
    TheNazer
    Este tema es un desastre.
     

    ★ Pabs Mg ★

    Reconocido
    Registrado
    12 Nov 2015
    Mensajes
    718
    Reaction score
    677
    Puntos
    85
    Nick
    Unknown
    Es uno de mis primeros posts sobre tutorial, asi que me vale.
     

    karalej

    Adicto
    Registrado
    28 May 2015
    Mensajes
    1.057
    Reaction score
    690
    Puntos
    105
    Nick
    karalej
    No entiendo nada de lo que dice por el orden, si hicieras un vídeo (aunque sea con Loquendo) creo que sería mejor para aquellos que quieran hacer un plugin simple o solo para aprender lo básico.
     

    ByDaxter_YT

    Adicto
    Registrado
    25 May 2016
    Mensajes
    1.147
    Reaction score
    583
    Puntos
    105
    Nick
    DaxterOwO
    Pense que la nomenclatura química, era dura de entender, pero ahora veo, que es más sencillo en comparación de esto :''v
     

    Desilusiones

    Miembro+
    Registrado
    13 Ago 2017
    Mensajes
    208
    Reaction score
    58
    Puntos
    19
    Nick
    Desilusiones
    Es uno de mis primeros posts sobre tutorial, asi que me vale.
    No te tendría que valer, son críticas constructivas, destructivas. A mi parecer, te dijeron todo eso para que mejores, no para que te valga y sigas haciendo estos tutoriales poco útiles a mi parecer jaja.
     

    ZJoseL_3552

    DubActivo
    Registrado
    10 Feb 2016
    Mensajes
    515
    Reaction score
    122
    Puntos
    34
    Nick
    jlara3552___TheKeyMaster1___ZjoseL3552
    No entendí nada pero aun asi... vuen post!!
     

    manuel_8080

    Miembro+
    Registrado
    25 Ago 2015
    Mensajes
    183
    Reaction score
    61
    Puntos
    19
    Para hacer un plugin desde 0 como no aprendas primero Java, dudo que lo consigas xd
     

    Nazer

    Master
    Miembro del Staff
    Master
    Registrado
    6 Oct 2014
    Mensajes
    1.584
    Reaction score
    1.994
    Puntos
    105
    Nick
    TheNazer
    Para hacer un plugin desde 0 como no aprendas primero Java, dudo que lo consigas xd
    Se pueden hacer plugins de Minecraft sin saber programar en Java. Personas como el autor de este tema son la prueba viviente de ello. Pero las posibilidades que tienes son muy nulas si no comprendes un mínimo sobre programación.
     
    Estado
    Cerrado para nuevas respuestas.