Libraries aimed to developers with multiple functions that will make you things easier.
API
/**
* The Assistant API
*/
public interface TheAssistantAPI {
/**
* Retrieves Command Provider
*
* @return CommandProvider of {@link AssistantCommand}
*/
public CommandProvider <AssistantCommand > getCommandProvider ( ) ;
/**
* Retrieves Dependency Resolver
* @return {@link DependencyResolver}
*/
public DependencyResolver getDependencyResolver ( ) ;
/**
* Retrieves Addon Service
*
* @return {@link AddonsService}
*/
public AddonsService getAddons ( ) ;
/**
* Retrieves NMS Multi Version handler
*
* @return {@link NMS}
*/
public NMS getNms ( ) ;
/**
* Retrieves Plugin instance
*
* @return {@link Plugin} instance
*/
public Plugin getPlugin ( ) ;
}
Addons Service
Probably the most powerful feature in this assistant, the posibility to easily manage hooks.
► Economy Addon (Support Vault, PlayerPoints & TokenManager)
► Regions Addon (Support WorldGuard, Residence & UltraRegions)
► Paster Addon (Support WorldEdit)
► NPC's Addon (Support Citizens)
► Placeholders Addon (Support PlaceholderAPI & MVdW PlaceholderAPI)
CommandProvider
Register commands in real time, they need to be in plugin.yml.
1- Register the label provider
2-Register command with handler
API
Code (Java):
/**
* The Assistant API
*/
public interface TheAssistantAPI {
/**
* Retrieves Command Provider
*
* @return CommandProvider of {@link AssistantCommand}
*/
public CommandProvider <AssistantCommand > getCommandProvider ( ) ;
/**
* Retrieves Dependency Resolver
* @return {@link DependencyResolver}
*/
public DependencyResolver getDependencyResolver ( ) ;
/**
* Retrieves Addon Service
*
* @return {@link AddonsService}
*/
public AddonsService getAddons ( ) ;
/**
* Retrieves NMS Multi Version handler
*
* @return {@link NMS}
*/
public NMS getNms ( ) ;
/**
* Retrieves Plugin instance
*
* @return {@link Plugin} instance
*/
public Plugin getPlugin ( ) ;
}
Addons Service
Probably the most powerful feature in this assistant, the posibility to easily manage hooks.
► Economy Addon (Support Vault, PlayerPoints & TokenManager)
Code (Java):
/**
* Economy Addon
*/
public interface EconomyAddon extends DependencyPlugin {
/**
* Retrieves player money
*
* @param player {@link OfflinePlayer}
* @return money amount
*/
public double getMoney ( final OfflinePlayer player ) ;
/**
* Deposit money to player balance
*
* @param player {@link OfflinePlayer}
* @param amount money to add
*/
public void depositMoney ( final OfflinePlayer player, final double amount ) ;
/**
* Withdraw money from player balance
*
* @param player {@link OfflinePlayer}
* @param amount money to remove
*/
public void withdrawMoney ( final OfflinePlayer player, final double amount ) ;
}
* Economy Addon
*/
public interface EconomyAddon extends DependencyPlugin {
/**
* Retrieves player money
*
* @param player {@link OfflinePlayer}
* @return money amount
*/
public double getMoney ( final OfflinePlayer player ) ;
/**
* Deposit money to player balance
*
* @param player {@link OfflinePlayer}
* @param amount money to add
*/
public void depositMoney ( final OfflinePlayer player, final double amount ) ;
/**
* Withdraw money from player balance
*
* @param player {@link OfflinePlayer}
* @param amount money to remove
*/
public void withdrawMoney ( final OfflinePlayer player, final double amount ) ;
}
► Regions Addon (Support WorldGuard, Residence & UltraRegions)
Code (Java):
/**
* Region Addon
*/
public interface RegionAddon extends DependencyPlugin {
/**
* Retrieves if a location is inside any of given regions
*
* @param location {@link Location}
* @param regions List of regions
* @return true if location is in any region
*/
public default boolean isInAnyRegion ( final Location location, final List <String > regions ) {
if (regions. isEmpty ( ) ) {
return false ;
}
return getRegions (location )
. stream ( )
. anyMatch (regions ::contains ) ;
}
/**
* Retrieves if a location is inside given region
*
* @param location {@link Location}
* @param region region
* @return true if location is in region
*/
public default boolean isInRegion ( final Location location, final String region ) {
if (region == null ) {
return false ;
}
return getRegions (location )
. stream ( )
. anyMatch (region ::equals ) ;
}
/**
* Retrieves location's regions
*
* @param location {@link Location}
* @return Set of regions
*/
public Set <String > getRegions ( final Location location ) ;
}
* Region Addon
*/
public interface RegionAddon extends DependencyPlugin {
/**
* Retrieves if a location is inside any of given regions
*
* @param location {@link Location}
* @param regions List of regions
* @return true if location is in any region
*/
public default boolean isInAnyRegion ( final Location location, final List <String > regions ) {
if (regions. isEmpty ( ) ) {
return false ;
}
return getRegions (location )
. stream ( )
. anyMatch (regions ::contains ) ;
}
/**
* Retrieves if a location is inside given region
*
* @param location {@link Location}
* @param region region
* @return true if location is in region
*/
public default boolean isInRegion ( final Location location, final String region ) {
if (region == null ) {
return false ;
}
return getRegions (location )
. stream ( )
. anyMatch (region ::equals ) ;
}
/**
* Retrieves location's regions
*
* @param location {@link Location}
* @return Set of regions
*/
public Set <String > getRegions ( final Location location ) ;
}
Code (Java):
/**
* Paster Addon interface
*/
public interface PasterAddon extends DependencyPlugin {
/**
* Paste World edit schematic in specific location
*
* @param location {@link Location}
* @param schematic {@link Schematic}
* @return CompletableFuture of {@link PasterSession}
*/
public CompletableFuture <PasterSession > pasteSchematic ( final Location location, final Schematic schematic ) ;
}
* Paster Addon interface
*/
public interface PasterAddon extends DependencyPlugin {
/**
* Paste World edit schematic in specific location
*
* @param location {@link Location}
* @param schematic {@link Schematic}
* @return CompletableFuture of {@link PasterSession}
*/
public CompletableFuture <PasterSession > pasteSchematic ( final Location location, final Schematic schematic ) ;
}
Code (Java):
/**
* NPC Addon
*/
public interface NPCAddon extends DependencyPlugin {
/**
* Retrieves if an entity is an npc
*
* @param entity {@link Entity}
* @return true if it's npc
*/
public boolean isNPC ( final Entity entity ) ;
}
* NPC Addon
*/
public interface NPCAddon extends DependencyPlugin {
/**
* Retrieves if an entity is an npc
*
* @param entity {@link Entity}
* @return true if it's npc
*/
public boolean isNPC ( final Entity entity ) ;
}
Code (Java):
/**
* Placeholder Addon
*/
public interface PlaceholdersAddon extends DependencyPlugin {
/**
* Register a placeholder with custom placeholder replacer
*
* @param identifier placeholder key
* @param replacer {@link PlaceholderReplacer}
*/
public void registerPlaceholders ( final String identifier, final PlaceholderReplacer replacer ) ;
}
* Placeholder Addon
*/
public interface PlaceholdersAddon extends DependencyPlugin {
/**
* Register a placeholder with custom placeholder replacer
*
* @param identifier placeholder key
* @param replacer {@link PlaceholderReplacer}
*/
public void registerPlaceholders ( final String identifier, final PlaceholderReplacer replacer ) ;
}
CommandProvider
Register commands in real time, they need to be in plugin.yml.
1- Register the label provider
Code (Java):
LabelProvider.
builder
(
)
. id ( "theAssistantCommand" )
. label ( "assistant" )
. plugin (box. plugin ( ) )
. useHelpMessage ( "&cUse Help" )
. unknownCommandMessage ( "&cUnknown Command" )
. onlyForPlayersMessage ( "&cThis command can be executed only for players!" )
. noPermissionMessage ( "&cYou don't have permission to use that command!" )
. build ( )
. register ( ) ;
. id ( "theAssistantCommand" )
. label ( "assistant" )
. plugin (box. plugin ( ) )
. useHelpMessage ( "&cUse Help" )
. unknownCommandMessage ( "&cUnknown Command" )
. onlyForPlayersMessage ( "&cThis command can be executed only for players!" )
. noPermissionMessage ( "&cYou don't have permission to use that command!" )
. build ( )
. register ( ) ;
Code (Java):
/**
* Command provider implementation for the assistant
*/
public final class TheAssistantCommandProvider implements CommandProvider <AssistantCommand > {
/**
* Register a command with specific handler
*
* @param command Command to be registered
* @param handler Command handler
*/
public void registerCommand ( final AssistantCommand command, final CommandHandler <AssistantCommand > handler ) ;
}
* Command provider implementation for the assistant
*/
public final class TheAssistantCommandProvider implements CommandProvider <AssistantCommand > {
/**
* Register a command with specific handler
*
* @param command Command to be registered
* @param handler Command handler
*/
public void registerCommand ( final AssistantCommand command, final CommandHandler <AssistantCommand > handler ) ;
}
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.8, 1.9, 1.10
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
⭐The Assistant⭐ Easy To Use Dependency Injection API is a free Minecraft Java mod. Compatible with Minecraft 1.8, 1.9, 1.10, 1.11 and newer. Downloaded 5,424 times (via Spigot). Download it and open it directly in the game.