Extensions
Ouranos allows plugin owners to register their own sytems to let players use them into Ouranos
Step 1 - Softdepend 
Into your plugin.yml add this line to let Ouranos load before your plugin
softdepend: [Ouranos]Step 2 - Register your own tag system
For all of these 3 tag systems, the argument is a standard you define for server owners.
NPC tag system
You can register your own NPC tag system into Ouranos to let players use your custom NPCs :
@Override
public void onEnable() {
    if (getServer().getPluginManager().getPlugin("Ouranos") != null) {
        NPCRegistration.getInstance().registerNPCProvider("your_plugin", new NPCProvider() {
            @Override
            public boolean spawnNPC(String argument, Location location) {
                // TODO Spawn the NPC at the specified location
                return WHATEVER YOU WANT;
            }
            
        });
    }
}This method must spawn the NPC at the specified location. When done, player using Ouranos and your plugin will be able to use your NPC tags as follow :
npc_1: your_plugin:argumentThis method must return false if the argument is incorrect
Mob tag system
You can register your own mob tags to let players use them :
@Override
public void onEnable() {
    if (getServer().getPluginManager().getPlugin("Ouranos") != null) {
        MobRegistration.getInstance().registerMobProvider("your_plugin", new MobProvider() {
            @Override
            public LivingEntity spawnMob(String argument, Location location) {
                // TODO Spawn entity at the passed location
                return YOUR ENTITY;
            }
            
        });
    }
}When done, players will be able to use your tags as follow :
mob_tag: your_plugin:argumentIf the argument is incorrect, this method must return null
Item tag system
You can register your own items into Ouranos to let players use them :
@Override
public void onEnable() {
    if (getServer().getPluginManager().getPlugin("Ouranos") != null) {
        ItemRegistration.getInstance().registerItem("your_plugin", new ItemProvider() {
            @Override
            public ItemStack getItem(String argument) {
                return WHATEVER ITEM YOU WANT;
            }
        });
    }
}Then players using Ouranos and your plugin will be able to use items you defined with this method when an item tag is required :
item_tag: your_plugin:argumentIf the passed argument is invalid this method must return null
Settlement name generator
Last updated
