En este momento estás viendo Qué es Java aplicado a programación en Minecraft 2020

Qué es Java aplicado a programación en Minecraft 2020

Bienvenidos a todos al primer tutorial de programación de plugins. Espero que les sea útil. Cualquier duda que tengáis por favor contacten conmigo por mensaje privado o por skype.

Skype: relampagorojo93

¿Qué es Java?

Java es lo que se llama en la programación un lenguaje de programación. Los lenguajes de programación son las distintas formas de usar un código para transformarlo en lo que solemos ver hoy en día, como juegos, plugins o páginas web. Este código dice que es lo que hará cada proceso, desde a enviar un texto hasta a hacer mover un personaje y más. Existen muchos lenguajes de programación, como Python, C (el origen de la programación) o C++ (su nueva versión), Java, HTML (lenguaje utilizado para crear páginas web), etc. Los plugins están creados con Java, por lo que será el lenguaje que nosotros usaremos.

Introducción

En Java hay que saberse lo básico. Lo básico es el significado de su contenido. Se debe saber que la programación es en inglés. Aquellos que sepan hablar bien el inglés lo tendrán fácil, ya que una vez hayáis acabado el curso, todas las cosas que deberéis seguir aprendiendo serán a base de saber el significado de sus palabras, ya que lo que usareis contiene nombres que indican su función. Que os quiero decir con esto? Vosotros en estos tutoriales aprenderéis lo básico, aprenderéis a crear plugins y a usar lo que os proporciona un servidor de Minecraft. Pero antes de eso, aprenderéis lo primero que encontrareis en Java. Qué tal si vemos un ejemplo de un código?

import org.bukkit.plugin.java.JavaPlugin;

import org.bukkit.event.Listener;

public class Main extends JavaPlugin implements Listener {

   public void onEnable() {

       int i = 0;

       String s = “Hola”;

       double num = 16.783;

       String ns = Adios(s);

   }

   public string Adios(String s) {

     s += “ y adiós”;

     return s;

   }

}

Los componentes pueden tener cualquier nombre, excepto cosas como String o double, ya que estas palabras lo que hacen es definir qué es el componente.

import: Import lo que hace es coger unos componentes del archivo que importamos dentro el plugin, estos componentes son llamados librerías. En la programación de plugins, lo que siempre usaremos sera JavaPlugin y Listener en lo que sería la clase principal.

Clase: Una clase es cada uno de los archivos, que más adelante veremos con más detalle cómo se crea, y que contienen el código de nuestro plugin.

Función: Una función es una acción a la cual se llama y hace una cierta acción. una función en este caso es “public void onEnable()”. Public significa que cualquier otro archivo puede verlo. Si no es public, solo pueden acceder los componentes de la misma clase. void es vacío en inglés. En este apartado, se pone si un comando al ser ejecutado, a parte de ejecutar una serie de comandos, también le da un dato al componente que lo ha ejecutado. Si una función se llamase “public string Adios(String s)”, que string es un texto y entre paréntesis se ponen los componentes que va a coger al ser ejecutado el comando, al final de la función se escribe “return”. Return lo que hace es que cada vez que se ejecute el comando, este comando se puede introducir en otro String, como el caso de la primera función, que decimos que ns es igual que Adios(s). Al decir esto, “s” en la primera función es “Hola”, por lo que decimos que ejecutamos el comando y que el dato que proporcionamos es ese texto. La operación que sale es “s += “ y adiós;” (Dato adicional: una vez que un componente está definido, como cuando decimos “String s”, más adelante si usamos el mismo componente para cualquier otra cosa, no hace falta poner de nuevo “String” ya que hemos definido desde su creación que es un texto). En la programación, como con las mates, tu puedes sumar textos. Si dijéramos “Hola” + “ y adiós”, lo que nos saldría sería “Hola y adiós”. Cuando vemos +=, decimos que cogemos el número o el texto del componente, y le añadimos lo que va después. Podríamos decir también que “s = s + “ y adiós”. Usar el += es una forma de acortarlo.El texto de una función (excepto del caso del onEnable() y del onDisable(), ya que cuando iniciamos el servidor, el servidor busca en el plugin una función con ese nombre) puede ser cualquier nombre, pero los programadores usamos nombres concretos para definir la acción de la función. Y como dije previamente, entre los paréntesis se ponen los componentes que necesita para poder funcionar. Cuando una función necesita unos ciertos componentes, si queremos ejecutarlo debemos proporcionarle la información que necesita. Dependiendo de cómo hagáis los plugins, podéis decir que un componente es null. Null significa nada, y cuando le decimos a la función eso, decimos que no existe. Muchas veces cuando comprobamos un componente, le decimos si es igual a algo. Para saltar pasos del código si no existe tal información, le decimos a la función que compruebe si un componente es null o no (Más adelante se verán sus aplicaciones).

Objetos: Los objetos es lo que definiríamos como textos, números, bloques, etc. Cualquier componente definido, una String o un Int, es un objeto. También hay componentes que se puede transformar su definición. Ese es el caso del Double y el Integer, que más adelante veréis como funciona.

Integer (int para definir un componente): Un Integer es un número sin decimales. Como con cualquier componente, cuando definimos un objeto, usamos int, pero en caso de ciertos componentes, no piden un objeto, sino los tipos de objetos que se introducen. En ese caso, no decimos int, sino que decimos Integer.

String: Como ya se ha dicho previamente, un String es un texto. En la programación, todo lo que esté entre comillas es un texto. Podríamos escribir Adiós(s), pero si lo pusieramos entre comillas, en vez de ser una función, se convertiría en un texto. Si quisieras enviar a la consola un texto, Adiós(s) te enviaría lo que es la suma del “Hola” y el “ y adiós”. Pero si lo escribiéramos entre comillas, lo que veríamos en la consola seria “Adiós(s)” ya que no lo ejecuta como función, porque en este caso, nosotros hemos dicho que sería un texto. También, cuando usamos String como comando, se puede usar para transformar cualquier cosa en un texto (un número, los datos de un objeto, etc). Cuando tu escribes el objeto, si por ejemplo cogemos el i, nosotros depende de qué componente y su definición, podríamos escribir “String s = i.toString();”. Cuando escribimos esto, decimos que convierta en un texto, por lo que el número i dejaría de ser un 0 para ser un “0” en forma de texto.

Double (double para definir un componente): Un Double es como un Integer. La diferencia entre Double y Integer es que el Double se usa con decimales, cosa que el Integer no puede aceptar.

Boolean (boolean para definir un componente): un Boolean, lo que diríamos booleana en español, es un sí o no. Cuando creamos una booleana, esto define cierto o falso. Podríamos decir “boolean t = true;” donde diríamos que t es igual a cierto, o false si quisiéramos decir que t es falso.

Lo más seguro es que muchos os hayáis quedado con cara de “¿¿¿Qué es todo esto???”. Es normal que algunos lleguen a quedarse así, ya que en tutoriales como este no se puede apreciar bien lo que hace todo. Lo mejor es ponerlo en práctica, ver que hace cada cosa si lo escribís de una forma u otra, cosa que haremos más adelante en el tutorial. Como dije, cualquier duda la podéis consultar por mensaje privado o enviándome una solicitud en Skype. Un cambio que haremos con los tutoriales es que los sábados habrá la parte teórica, osea, los sábados aprenderéis con tutoriales como este cosas de la programación, mientras que los domingos haré formularios con ejercicios para comprobar todo lo que habéis entendido. Nos vemos ^^

Deja una respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

DarkPanda73

Programador independiente de 20 años buscando una salida hacia el mundo profesional. Llevo varios años programando en Spigot hasta obtener los conocimientos que tengo actualmente. Busco aprender nuevos lenguajes y darle una nueva vida a muchos de mis antiguos plugins. Este es mi servidor de Discord: https://discord.gg/bt8EgmZ