Fenixen Core icon

Fenixen Core -----

Framework Basado en Bukkit



Fenixen Core

Introducción

Fenixen Core es un framework basado en Bukkit que facilita la creación de plugins de Minecraft de manera rápida y sencilla. Proporciona herramientas para:

  • Registro semi-automático de comandos, eventos, inventarios e items.
  • Soporte para PlaceholderAPI.
  • Conexión y gestión de bases de datos en SQLite y MySQL.
  • Manejo de archivos YAML de forma estructurada.
  • Manejo de colores personalizados en mensajes y consola.
Instalación

Para comenzar a usar Fenixen Core en tu plugin de Bukkit/Spigot, agrega la dependencia en tu proyecto:

Code (Text):
<repositories>
    <repository>
        <id>jitpack.io</id>
        <url>https://jitpack.io</url>
    </repository>
</repositories>

<dependency>
<groupId>com.github.FenixenForge</groupId>
<artifactId>FenixenCore</artifactId>
<version>2.0.1</version>
</dependency>
Requisitos:

  • Java 17 o superior.
  • Bukkit, Spigot.
  • PlaceholderAPI (si se desea usar placeholders).
Uso del Framework

Registro de Comandos

Fenixen Core permite registrar comandos de manera rápida y sencilla en tu Main.java:

import com.fenixenforge.Core.Handlers.Commands.Commands;
import org.bukkit.plugin.java.JavaPlugin;

public final class Main extends JavaPlugin {

@Override
public void onEnable() {
Commands.RegisterAll(this, "Commands", true);
}
}
Creación de un Comando

Code (Java):
import com.fenixenforge.Core.Handlers.Commands.MCBuilder ;

public class MainCommand extends MCBuilder {
    public MainCommand ( ) {
       name ( "main" )
               . permission ( "pluginname.main" )
               . aliases ( "m", "Mains" )
               . execute ( (sender, command, label, args ) -> {
                   sender. sendMessage ( "Hola Mundo 3" ) ;
                    return true ;
                } ) ;
    }
}


Creación de un SubComando

Code (Java):

import com.fenixenforge.Core.Handlers.Commands.SCBuilder ;

public class SubMainCommand extends SCBuilder {
    public SubMainCommand ( ) {
        name ( "submain" )
                . cPrincipalName ( "main" )
                . permission ( "pluginname.main.submain" )
                . execute ( (sender, command, label, args ) -> {
                    sender. sendMessage ( "SubComando ejecutado" ) ;
                    return true ;
                } ) ;
    }
}
 

Eventos

Registro de Eventos

Registra eventos en el Main.java:

Code (Java):
import com.fenixenforge.Core.Handlers.Events.Events ;

@Override
public void onEnable ( ) {
   Events. RegisterAll ( this, "Events", true ) ;
}

Creación de un Evento

Code (Java):
import com.fenixenforge.Core.Handlers.Events.EHandlerBuilder ;
import org.bukkit.event.player.PlayerJoinEvent ;
import org.bukkit.entity.Player ;

public class JoinEventHandler extends EHandlerBuilder {
    public JoinEventHandler ( ) {
       event (PlayerJoinEvent. class )
               . execute (event -> {
                   Player player = event. getPlayer ( ) ;
                   player. sendMessage ( "Bienvenido al servidor!" ) ;
                } ) ;
    }
}

Inventarios

Creación de un Inventario

Code (Java):
import com.fenixenforge.Core.Handlers.Inventory.IBuilder ;
import org.bukkit.Material ;
import org.bukkit.entity.Player ;

public class CustomInventory {
    public void openInventory (Player player ) {
       IBuilder. inventario ( )
               . name ( "menuInventario" )
               . size ( 27 )
               . title ( "&a&lMenú de Inventario" )
               . items (inv -> inv. setItem ( 13, new org. bukkit. inventory. ItemStack (Material. DIAMOND, 1 ) ) )
               . open (player ) ;
    }
}


YAML (Configuraciones)

Registro de Archivos YAML

Code (Java):
import com.fenixenforge.Core.Handlers.Yaml.YHandler ;

@Override
public void onEnable ( ) {
   YHandler. RegisterAll ( this, "Yaml" ) ;
}

Creación de Archivos YAML

Code (Java):
import com.fenixenforge.Core.Handlers.Yaml.YamlFile ;
import org.bukkit.configuration.file.FileConfiguration ;

public class Config implements YamlFile {
    private static FileConfiguration config ;

    public static void init (FileConfiguration conf ) {
       config = conf ;
    }

    public static String getMessage ( ) {
        return config. getString ( "message", "Hola Mundo" ) ;
    }
}

Placeholders

Registro de Placeholders

Code (Java):
import com.fenixenforge.Core.Handlers.Placeholders.PlaceholderBuilder ;
import org.bukkit.entity.Player ;

public class MyPlaceholders {
    public void register ( ) {
       PlaceholderBuilder. placeholder ( )
                         . identificator ( "player_name" )
                         . funcion (Player ::getName )
                         . register ( ) ;
    }
}


Base de Datos

Conexión a SQLite/MySQL

Code (Java):
import com.fenixenforge.Core.Handlers.Database.DBuilder ;
import com.fenixenforge.Core.Handlers.Database.DBTypes ;
import com.fenixenforge.Core.Handlers.Database.DHandler ;

@Override
public void onEnable ( ) {
   DHandler dHandler = DBuilder. database ( )
                               . name ( "MyDB" )
                               . type (DBTypes. SQLITE )
                               . path ( "plugins/MyPlugin/db.sqlite" )
                               . connect ( ) ;
}

Creación de Tablas

Code (Java):
import com.fenixenforge.Core.Handlers.Database.TableBuilder ;

public class UserTable {
    private final String createSQL = TableBuilder. table ( )
                                                . name ( "users" )
                                                . addColumn ( "uuid", "TEXT", true, true )
                                                . addColumn ( "username", "TEXT" )
                                                . addColumn ( "coins", "INTEGER", "0" )
                                                . buildCreateTableSQL ( ) ;
}

Operaciones con Base de Datos

Code (Text):
import com.fenixenforge.Core.Handlers.Database.TableBuilder;

public class UserTable {
   private final String createSQL = TableBuilder.table()
                                                .name("users")
                                                .addColumn("uuid", "TEXT", true, true)
                                                .addColumn("username", "TEXT")
                                                .addColumn("coins", "INTEGER", "0")
                                                .buildCreateTableSQL();
}

Conclusión

Fenixen Core proporciona una estructura modular y flexible para el desarrollo de plugins en Bukkit/Spigot. Su implementación sencilla y su organización estructurada permiten a los desarrolladores centrarse en la lógica de sus plugins sin preocuparse por la configuración tediosa.

Si necesitas ayuda, revisa la documentación oficial o pregunta en la comunidad de desarrollo de Fenixen Forge.

Enlaces útiles:

Resource Information
Author:
----------
Total Downloads: 17
First Release: Mar 25, 2025
Last Update: Mar 25, 2025
Category: ---------------
All-Time Rating:
0 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings