HomeJavaModsDemi's Core library (1.8.X & 1.12.X - 1.14.X)
ModsJava

Demi's Core library (1.8.X & 1.12.X - 1.14.X)

⬇ Download on Spigot
Englisch:
This API version is a simplified way to create commands, timers and GUI as well as a simplified version of a MySQL connection and administration.

This API contains a lot of data and possibilities.

The API is available in the following Spigot versions:
► 1.8.x
► 1.12.x
► 1.13.x (GUI Beta (is deprecated))
► 1.14.x (GUI Beta (is deprecated))

You can create commands without documenting them in the plugin.yml file.

Documentation: see section Document

German:
Diese API Version ist eine vereinfachte möglichkeit Befehle, Timers und GUI zu erstellen so wie auch eine Vereinfachte version einer MySQL verbindung und verwaltung.

Diese API beinhaltet eine Menge an Daten und Möglichkeiten.

Die API ist in folgenden Spigot Versionen erhältlich:
► 1.8.x
► 1.12.x
► 1.13.x (GUI Beta (ist deprecated))
► 1.14.x (GUI Beta (ist deprecated))

Du kannst befehle erstellen ohne diese in der plugin.yml datei zu dokumentieren.

Documentation: siehe bereich Dokument

Document:
Core
Spoiler: Core
Code (Java):
Core. getInstance ( ) . isDebug ( ) ; //return boolean;
Core. getInstance ( ) . registerCommand ( CoreCommand coreCommand ) ;


CorePlayer
Spoiler: CorePlayer
The CorePlayer is already available in the cache. To get the CorePlayer use: CoreCache.getCorePlayer (Player player)
Code (Java):
// online Methode

CorePlayer corePlayer = new CorePlayer ( Player player ) ;

// offline Methode
CorePlayer corePlayer = new CorePlayer ( String playerName ) ;
corePlayer. convertToOfflineUUID ( ) ; // return String

// ==========================================
getBukkitPlayer ( ) // return Player
sendMessage ( String prefix, String s )
setInvisibleForPlayer ( CorePlayer cplayer )
editVelocity ( float x, float y, float z )
teleport ( Location location )
teleport ( Entity entity )
getLocation ( ) // return Location
hasPotionEffect ( PotionEffectType type ) // return boolean
removePotionEffect ( PotionEffectType type )
addPotionEffect ( PotionEffectType type, int duration, int amplifier )
addPotionEffect ( PotionEffectType type, int amplifier )
playsound ( Sound sound, int volum, int pitch )
playsound ( Sound sound, int volum )
playsound ( Sound sound )
sendActionbar ( String msg )
sendScoreboard ( String header, String ... args )
sendTitle ( Integer fadeIn, Integer stay, Integer fadeOut, String title, String subtitle )
sendTitle ( Integer fadeIn, Integer stay, Integer fadeOut, String title )

CoreTimer ( Implements )
Spoiler: CoreTimer
Code (Java):
public interface CoreTimer {

    public void tick ( ) ;
 
}
 

CoreCommand (Implements)
Spoiler: CoreCommand
Permissions to see all Registert Commands: core.default
Command: /core

[​IMG]
here are commands with external value true. If this is false than have a prefix with /core <command>

Code (Text):
public interface CoreCommand {


    public String command();
    public String desception();
    public String permission();
    public boolean external();
    public void run(CorePlayer player, String[] args);
    public boolean runNoPerms(CorePlayer player, String[] args);
 
}

CoreCache (Static)
Spoiler: CoreCache
Code (Java):
CoreCache. regCoreTimer ( CoreTimer coreTimer ) ;
CoreCache. getCorePlayer ( Player player ) ; // return CorePlayer

CorePlayerData (Static)
Spoiler: CorePlayerData
Code (Java):
setData ( CorePlayer player, String Channels, String type, Object object ) ;
loadData ( CorePlayer player, String Channels, String type ) ; // return Object

GUI (Constructor)
Spoiler: GUI
Code (Java):
GUI ( CorePlayer cPlayer, String title ) ;
GUI ( CorePlayer cPlayer, String title, int size ) ;
GUI ( CorePlayer cPlayer, String title, InventoryType inventoryType ) ;

setButton ( int slot, GUIButton gUIButton ) ;
setButton ( HashMap < Integer , GUIButton > buttons ) ;
open ( ) ;
getInventory ( ) : // return Inverntory
 
(extends)
Spoiler: GUI Button
Code (Java):
public abstract class GUIButton {
 
    private CorePlayer cPlayer ;
 
    public abstract void onClick ( InventoryClickEvent event ) ;
    public abstract ItemStack getIcon ( ) ;
 
 
    public void setPlayer ( CorePlayer player ) {
        this . cPlayer = player ;
    }
 
    protected CorePlayer getCorePlayer ( ) {
        return cPlayer ;
    }
 
}

IDManager (Static)
Spoiler: IDManager
Code (Java):
IDManager. generateID ( int size ) ; //return String
IDManager. generateIDWithSlpit ( int size, int slpitAt ) ; //return String

ItemBuilder (Constructor)
Spoiler: ItemBuilder
Code (Java):
ItemStack item = new ItemBuilder ( Material. STONE ) . setName ( "§6TEST" ) . build ( ) ;

//And more

MySQL (Static)
Spoiler: MySQL
Code (Java):
//Static

MySQL. createTable ( String table, String clumName, ColumType type ) ;
createTable ( String table, ArrayList < String > list, ArrayList < ColumType > types ) ;
createTable ( String table, HashMap < String , ColumType > map ) ;
createTable ( String table, String [ ] list, ColumType [ ] types ) ;
getString ( String table, String where, String match, String colum ) ; // return String
getInt ( String table, String colum, String where, String match ) // return int
exsistValue ( String table, String where, String match, String colum ) ; // return boolean;
getArrayList ( String table, String where, String match, String colum ) ; //return ArrayList<String>
set ( String table, String colum, Object value ) ;
update ( String table, String colum, String value, String where, String match ) ;
deleteRowString table, String where, String match ) ;

Spoiler: ColumType
Code (Java):
        VARCHAR_128,
    VARCHAR_64,
    VARCHAR_32,
    VARCHAR_256,
    VARCHAR_512,
    VARCHAR_1024,
    VARCHAR_2048,
    INT,
    LONG,
    DOUBLE ;

YamlConfig (Constructor)
Spoiler: YamlConfig
Code (Java):
YamlConfig config = new YamlConfig ( String path, String file ) ;

config. set ( String path, Object value ) ;
config. exsistPath ( String path ) // return boolean
config. get ( String path ) ; // return Object
config. getOrDefault ( String path, Class <? extends T > clazz, T t ) //return T
config. save ( ) ;

WarpManager (Static)
Spoiler: WarpManager
Code (Text):
WarpManager.createWarp(CorePlayer player, String name);
WarpManager.getWarpLocation(String name); //return Location
WarpManager.deleteWarp(String name)// retun boolean

//==============================

WarpManager.createWarp(CorePlayer player, String dir, String name);
WarpManager.getWarpLocation(String dir, String name); // return Location
WarpManager.deleteWarp(String dir, String name); //return boolean


Some exsample
Spoiler: CoreCommand & GUI & ItemBuilder (/warp)
Code (Java):
package de.deminosa.factions.commands ;

import org.bukkit.Material ;
import org.bukkit.event.inventory.InventoryClickEvent ;
import org.bukkit.inventory.ItemStack ;

import de.deminosa.core.builders.CorePlayer ;
import de.deminosa.core.builders.command.CoreCommand ;
import de.deminosa.core.utils.gui.GUI ;
import de.deminosa.core.utils.gui.GUIButton ;
import de.deminosa.core.utils.itembuilder.ItemBuilder ;
import de.deminosa.factions.system.warp.WarpManager ;

/*
*    Class Create by Deminosa
*    YouTube:     Deminosa
*     Web:         deminosa.de
*    Create at:     11:54:50 # 11.05.2019
*
*/


public class WarpCommand implements CoreCommand {

    @Override
    public String command ( ) {
        return "warp" ;
    }

    @Override
    public String desception ( ) {
        return "Öffnet ein Warp GUI Setting" ;
    }

    @Override
    public boolean external ( ) {
        return true ;
    }

    @Override
    public String permission ( ) {
        return "system.command.warp" ;
    }

    @Override
    public void run ( CorePlayer player, String [ ] args ) {
        GUI gui = new GUI ( player, "WarpManager" , 18 ) ;
 
        gui. setButton ( 0 + 1 , new GUIButton ( ) {
            @Override
            public void onClick ( InventoryClickEvent event ) {
                WarpManager. createWarp ( player, "tutorial" ) ;
                player. getBukkitPlayer ( ) . closeInventory ( ) ;
                player. sendMessage ( "Warp" , "Warp für tutorial wurde gesetzt!" ) ;
            }
 
            @Override
            public ItemStack getIcon ( ) {
                return new ItemBuilder ( Material. ENDER_PEARL )
                        . setName ( "§6Set FirstJoin Spawn (Tutorial Spawn)" )
                        . build ( ) ;
            }
        } ) ;
 
        gui. setButton ( 9 + 1 , new GUIButton ( ) {
            @Override
            public void onClick ( InventoryClickEvent event ) {
                player. getBukkitPlayer ( ) . closeInventory ( ) ;
                player. teleport ( WarpManager. getWarpLocation ( "tutorial" ) ) ;
            }
 
            @Override
            public ItemStack getIcon ( ) {
                return new ItemBuilder ( Material. EYE_OF_ENDER )
                        . setName ( "§6Teleport to Tutorial Spawn" )
                        . build ( ) ;
            }
        } ) ;
 
        gui. setButton ( 0 + 3 , new GUIButton ( ) {
            @Override
            public void onClick ( InventoryClickEvent event ) {
                WarpManager. createWarp ( player, "elfen" ) ;
                player. getBukkitPlayer ( ) . closeInventory ( ) ;
                player. sendMessage ( "Warp" , "Warp für Elfen wurde gesetzt!" ) ;
            }
 
            @Override
            public ItemStack getIcon ( ) {
                return new ItemBuilder ( Material. BOW )
                        . setName ( "§6Set Elfen Spawn" )
                        . build ( ) ;
            }
        } ) ;
 
        gui. setButton ( 9 + 3 , new GUIButton ( ) {
            @Override
            public void onClick ( InventoryClickEvent event ) {
                player. getBukkitPlayer ( ) . closeInventory ( ) ;
                player. teleport ( WarpManager. getWarpLocation ( "elfen" ) ) ;
            }
 
            @Override
            public ItemStack getIcon ( ) {
                return new ItemBuilder ( Material. ARROW )
                        . setName ( "§6Teleport to Elfen Spawn" )
                        . build ( ) ;
            }
        } ) ;
 
        gui. setButton ( 0 + 5 , new GUIButton ( ) {
            @Override
            public void onClick ( InventoryClickEvent event ) {
                WarpManager. createWarp ( player, "zandaren" ) ;
                player. getBukkitPlayer ( ) . closeInventory ( ) ;
                player. sendMessage ( "Warp" , "Warp für Zandaren wurde gesetzt!" ) ;
            }
 
            @Override
            public ItemStack getIcon ( ) {
                return new ItemBuilder ( Material. WATER_BUCKET )
                        . setName ( "§6Set Zandaren Spawn" )
                        . build ( ) ;
            }
        } ) ;
 
        gui. setButton ( 9 + 5 , new GUIButton ( ) {
            @Override
            public void onClick ( InventoryClickEvent event ) {
                player. getBukkitPlayer ( ) . closeInventory ( ) ;
                player. teleport ( WarpManager. getWarpLocation ( "zandaren" ) ) ;
            }
 
            @Override
            public ItemStack getIcon ( ) {
                return new ItemBuilder ( Material. LAVA_BUCKET )
                        . setName ( "§6Teleport to Zandaren Spawn" )
                        . build ( ) ;
            }
        } ) ;
 
        gui. setButton ( 0 + 7 , new GUIButton ( ) {
            @Override
            public void onClick ( InventoryClickEvent event ) {
                WarpManager. createWarp ( player, "zwerge" ) ;
                player. getBukkitPlayer ( ) . closeInventory ( ) ;
                player. sendMessage ( "Warp" , "Warp für Zwerge wurde gesetzt!" ) ;
            }
 
            @Override
            public ItemStack getIcon ( ) {
                return new ItemBuilder ( Material. IRON_AXE )
                        . setName ( "§6Set Zwerge Spawn" )
                        . build ( ) ;
            }
        } ) ;
 
        gui. setButton ( 9 + 7 , new GUIButton ( ) {
            @Override
            public void onClick ( InventoryClickEvent event ) {
                player. getBukkitPlayer ( ) . closeInventory ( ) ;
                player. teleport ( WarpManager. getWarpLocation ( "zwerge" ) ) ;
            }
 
            @Override
            public ItemStack getIcon ( ) {
                return new ItemBuilder ( Material. DIAMOND_AXE )
                        . setName ( "§6Teleport to Zwerge Spawn" )
                        . build ( ) ;
            }
        } ) ;
 
 
 
        gui. open ( ) ;
 
    }

    @Override
    public boolean runNoPerms ( CorePlayer arg0 ) {
        return false ;
    }

}
 

Spoiler: CoreTimer & EXPBooster
Code (Java):
package de.deminosa.factions.utils.expbooster ;

import java.util.HashMap ;

import org.bukkit.Bukkit ;
import org.bukkit.Sound ;

import de.deminosa.core.builders.CorePlayer ;
import de.deminosa.core.builders.CoreTimer ;
import de.deminosa.core.cache.CoreCache ;

/*
*    Class Create by Deminosa
*    YouTube:     Deminosa
*     Web:         deminosa.de
*    Create at:     12:44:20 # 12.05.2019
*
*/


public class ExpBoosterTimer implements CoreTimer {
 
    int i = 0 ;
 
    @Override
    public void tick ( ) {
        i ++;
        if ( i == 20 * 60 ) {
            i = 0 ;
            Bukkit. getOnlinePlayers ( ) . forEach ( ( bukkitPlayer ) -> {
                CorePlayer player = CoreCache. getCorePlayer ( bukkitPlayer ) ;
                String player_UUID = player. getBukkitPlayer ( ) . getUniqueId ( ) . toString ( ) ;

                if ( ExpBooster. getEnableBoosters ( ) != null ) {
                    HashMap < String , Integer > list = ExpBooster. getEnableBoosters ( ) . get ( player_UUID ) ;
                    if ( list != null ) {
                        for ( String UID : list. keySet ( ) ) {
                            int time = list. get ( UID ) ;
                            time --;
                            ExpBooster. addToEnableList ( player_UUID, UID , time ) ;
                            if ( time == 1 ) {
                                player. sendMessage ( "EXP" , "Einer deiner Booster läuft bald ab!" ) ;
                                player. playsound ( Sound. AMBIENCE_CAVE ) ;
                            }
                            if ( time <= 0 ) {
                                player. sendMessage ( "EXP" , "Einer deiner Booster ist abgelaufen!" ) ;
                                player. playsound ( Sound. NOTE_PLING ) ;
                                list. remove ( UID ) ;
                                ExpBooster. delete ( UID ) ;
                            } else {
                                list. put ( UID , time ) ;
                            }
                        }
                    }
                }
            } ) ;
        }
    }
}
 
Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

Demi's Core library (1.8.X & 1.12.X - 1.14.X) is a free Minecraft Java mod. Compatible with Minecraft 1.8, 1.12, 1.13, 1.14. Downloaded 335 times (via Spigot). Download it and open it directly in the game.

Explore more