Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Description and Installation

EpicBosses allows you to create powerful Bosses; mobs with customizable stats and abilities. You can change the health, damage, speed, etc. of the bosses to make them difficult to defeat. Even custom skills are a possibility!

Download EpicBosses on our Marketplace.

Stop your server, drag and drop the EpicBosses.jar into your plugins folder, then start the server. The plugin should now load in and create all of the necessary files.

EpicBosses requires Vault and an economy manager to utilize all of its features.

 

Plugin Features

  • Custom Bosses: Completely customize and create your uniquely made Bosses.
  • Custom Skills: Create your own skills for the Bosses to use.
  • Rewards: Customize what each boss drops as a reward for slaying them.
  • GUI Editor: Customize the plugin with an in-depth GUI system.
  • Auto-Spawning: Customize where bosses spawn in the world, and whether or not they automatically spawn randomly.

Supported Plugins

  • EssentialsX
  • CMI
  • UltimateStacker

Expand
titleIMPORTANT: I want to use CMI instead of Essentials
  1. Turn off your server.
  2. Download and install the custom Vault version from this link which contains a hook for CMI: [Temporarily removed]
  3. Go to the config.yml within your CMI folder, and scroll down till you reach the Economy section and make sure that Enabled is set to true.
  4. Turn on your server, and your custom Vault plugin will now hook in to the CMI therefore allowing Bosses to be run.


Section




Commands + Permissions

Expand


CommandsPermissionsDescription
/boss help <page>boss.helpDisplay the help menu of EpicBosses.
/boss create [name] [entity]boss.createStart the creation of a boss.
/boss edit [name]boss.editEdit a specified boss.
/boss info [name]boss.adminDisplays the info of the specified boss.
/boss nearby <radius>boss.nearbyDisplays all nearby bosses within the specified radius.
/boss reloadboss.reloadReloads EpicBosses and its configurations.
/boss killall <world>boss.adminRemoves all current bosses in the specified world.
/boss spawn [name] <location>boss.adminSpawns a specific boss at the defined location. Example: /boss spawn BossBrianna world,0,100,0
/boss time <section>boss.timeShows the time left till next auto spawn.
/boss droptableboss.adminShows the current droptable
/boss itemsboss.adminShows all current items.
/boss skillsboss.adminShows all current configured skills.
/boss debugboss.debugGives you the spawn item for a boss.
/boss giveeggboss.giveGives you the spawn egg of a boss.
/boss listboss.adminShows all the list of current boss entities.
/boss menuboss.adminOpens up the menu to edit all current created bosses.
/boss shopboss.shopOpens the shop for a player to purchase boss eggs themselves.
/boss new skill [name] [type] [mods]boss.adminCreate a new skill section.
/boss new droptable [name] [type]boss.adminCreate a new droptable section.
/boss new command [name] [commands]boss.adminCreate a new command section.
/boss new message [name] [messages]boss.adminCreate a new message section.



Section



  

Plugin Files

Code Block
languageyml
firstline1
titleconfig.yml
linenumberstrue
collapsetrue
Settings:
  debug: true
  bossTargetRange: 50.0
  defaultNearbyRadius: 250.0
  nearbyFormat: '{name} ({distance}m)'

  BlockedWorlds:
    enabled: false
    worlds:
    - 'world_the_end'
    - 'world_nether'
Toggles:
  bossShop: true
  endermanTeleporting: true
  potionsAffectingBoss: true
Limits:
  maxNearbyRadius: 500.0
Hooks:
  ASkyBlock:
    enabled: false
    onOwnIsland: false
  Factions:
    enabled: false
    useWarzoneSpawnRegion: false
  HolographicDisplays:
    enabled: false
  StackMob:
    enabled: false
  WorldGuard:
    enabled: true
    spawnRegions:
    - 'spawn_region1'
    - 'spawn_region2'
    blockedRegions:
    - 'blocked_region1'
    - 'blocked_region2'
Display:
  Boss:
    Text:
      menuName: '&b&l{name} Editor'
      selectedName: '&bMessage: &f{name} &a&l** Selected **'
      name: '&bMessage: &f{name}'
      lore:
      - '&fStrings within this section:'
      - '{message}'
    Commands:
      menuName: '&b&l{name} Editor'
      selectedName: '&bCommand: &f{name} &a&l** Selected **'
      name: '&bCommand: &f{name}'
      lore:
      - '&fCommands within this section:'
      - '{commands}'
    Taunts:
      menuName: '&b&l{name} Editor'
    Drops:
      name: '&bDropTable: &f{name}'
      lore:
      - '&3Type: &7{type}'
      - '&7'
      - '&7Click here to select this drop'
      - '&7table as the current one.'
    Equipment:
      name: '{name} &a&l** Selected **'
    EntityType:
      menuName: '&b&l{name} Editor'
      selectedName: '&f{name} Entity &a&l** Selected **'
      name: '&f{name} Entity'
    List:
      name: '&3{position} Entity'
      lore:
      - '&3Left Click &8»'
      - '&7Edit the {targetType} for this'
      - '&7entity in the section.'
      - '&7'
      - '&3Right Click &8»'
      - '&7Remove this section, can be done'
      - '&7to anything above the first one.'
    Skills:
      menuName: '&b&l{name} Editor'
      selectedName: '&b&l{name} Skill &a&l** Selected **'
      name: '&b&l{name} Skill'
      lore:
      - '&3Type: &7{type}'
      - '&3Display Name: &7{displayName}'
      - '&3Custom Message: &7{customMessage}'
      - '&3Radius: &7{radius}'
      - '&7'
      - '&7Click to add/remove the skill to'
      - '&7or from the boss skill list.'
  AutoSpawns:
    Main:
      menuName: '&b&lEpicBosses &3&lAutoSpawns'
      name: '&bAuto Spawn: &f{name}'
      lore:
      - '&3Editing: &f{enabled}'
      - '&7'
      - '&3Spawn Type: &f{type}'
      - '&3Entities: &f{entities}'
      - '&7'
      - '&3Max Alive: &f{maxAlive}'
      - '&3Amount per Spawn: &f{amountPerSpawn}'
      - '&3When Chunk Isnt Loaded: &f{chunkIsntLoaded}'
      - '&3Override Spawn Messages: &f{overrideSpawnMessages}'
      - '&3Shuffle Entities: &f{shuffleEntities}'
      - '&3Custom Spawn Message: &f{customSpawnMessage}'
    Entities:
      selectedName: '&bBoss: &f{name} &a** Selected **'
      name: '&bBoss: &f{name}'
      lore:
      - '&3Editing: &f{editing}'
      - '&3Targeting: &f{targeting}'
      - '&3Drop Table: &f{dropTable}'
      - '&7'
      - '&7Click to select or deselect this boss.'
    CustomSettings:
      name: '&bCustom Setting: &f{name}'
      lore:
      - '&3Currently: &f{currently}'
      - '{extraInformation}'
    SpawnMessage:
      menuName: '&b&l{name} AutoSpawn'
      selectedName: '&bMessage: &f{name} &a** Selected **'
      name: '&bMessage: &f{name}'
      lore:
      - '&fStrings within this section:'
      - '{message}'
  Bosses:
    menuName: '&b&lEpicBosses &3&lBosses'
    name: '&b&l{name}'
    lore:
    - '&3Editing: &f{enabled}'
    - '&7'
    - '&3Left Click &8»'
    - '&7Get spawn item for custom'
    - '&7boss.'
    - '&7'
    - '&3Right Click &8»'
    - '&7Edit the custom boss.'
  DropTable:
    Main:
      menuName: '&b&lEpicBosses &3&lDropTables'
      name: '&b&l{name} Drop Table'
      lore:
      - '&3Type: &7{type}'
      - '&7'
      - '&7Click to edit the drop table.'
    RewardList:
      name: '&bReward Section'
      lore:
      - '&3Selected Item: &f{itemName}'
      - '&3Chance: &f{chance}%'
      - '&7'
      - '&7Click to modify this reward.'
    CommandRewardList:
      name: '&bReward Section'
      lore:
      - '&3Selected Command: &f{commandName}'
      - '&3Chance: &f{chance}%'
      - '&7'
      - '&7Click to modify this reward.'
    GivePositionList:
      name: '&bReward Section'
      lore:
      - '&3Position: &f{position}'
      - '&3Drops: &f{dropAmount}'
      - '&7'
      - '&7Shift Right-Click to remove.'
      - '&7Left-Click to edit.'
    GiveRewardsList:
      name: '&bReward Section'
      lore:
      - '&3Position: &f{position}'
      - '&3Required Percentage: &f{percentage}%'
      - '&7'
      - '&3Item Drops: &f{items}'
      - '&3Max Drops: &f{maxDrops}'
      - '&3Random Drops: &f{randomDrops}'
      - '&7'
      - '&3Command Drops: &f{commands}'
      - '&3Max Commands: &f{maxCommands}'
      - '&3Random Commands: &f{randomCommands}'
      - '&7'
      - '&7Shift Right-Click to remove.'
      - '&7Left-Click to edit.'
  Shop:
    name: '&b&lBuy {name}''s Egg'
    lore:
    - '&3Cost: &a$&f{price}'
  Skills:
    Main:
      menuName: '&b&lEpicBosses &3&lSkills'
      name: '&b&l{name} Skill'
      lore:
      - '&3Type: &7{type}'
      - '&3Display Name: &7{displayName}'
      - '&3Custom Message: &7{customMessage}'
      - '&3Radius: &7{radius}'
      - '&7'
      - '&7Click to edit the custom skill.'
    MainEdit:
      menuName: '&b&l{name} Skill Editor'
    Potions:
      name: '&b&l{effect} Potion Effect'
      lore:
      - '&3Duration: &7{duration}'
      - '&3Level: &7{level}'
      - '&7'
      - '&7Click to remove potion effect.'
    CreatePotion:
      menuName: '&b&lSelect Potion Effect Type'
      name: '&bEffect: &f{effect}'
      selectedName: '&bEffect: &f{effect} &a&l** Selected **'
    Commands:
      name: '&b&lCommand Section'
      lore:
      - '&3Chance &8» &f{chance}%'
      - '&7'
      - '&3Commands &8»'
      - '&f{commands}'
      - '&7'
      - '&7Click to edit command section.'
    CommandList:
      menuName: '&b&l{name} Skill Editor'
      selectedName: '&bCommand: &f{name} &a&l** Selected **'
      name: '&bCommand: &f{name}'
      lore:
      - '&fCommands within this section:'
      - '{commands}'
    Group:
      menuName: '&b&l{name} Skill Editor'
      selectedName: '&bSkill: &f{name} &a&l** Selected **'
      name: '&bSkill: &f{name}'
      lore:
      - '&3Mode: &7{mode}'
      - '&3Type: &7{type}'
      - '&3Display Name: &7{displayName}'
      - '&3Custom Message: &7{customMessage}'
      - '&3Radius: &7{radius}'
    CustomType:
      selectedName: '&bCustom Skill: &f{name} &a** Selected **'
      name: '&bCustom Skill: &f{name}'
      lore:
      - '&3Uses Multiplier: &7{multiplier}'
      - '&3Has Custom Data: &7{customData}'
    Material:
      menuName: '&b&lSelect Material'
      selectedName: '&bMaterial: &f{type} &a** Selected **'
      name: '&bMaterial: &f{type}'
    MinionList:
      menuName: '&b&lSelect Minion For Skill'
      selectedName: '&bMinion: &f{name} &a** Selected **'
      name: '&bMinion: &f{name}'
      lore:
      - '&3Editing: &7{editing}'
      - '&3Targeting: &7{targeting}'
    CustomSetting:
      name: '&bSetting: &f{setting}'
      lore:
      - '&3Currently: &7{currently}'




Frequently Asked Questions


Expand
titleWhat are the YAML files for?

config.yml: This is where you can configure everything. Please shut down your server before editing this file to avoid issues.

editor.yml: This file contains all panel configurations for every in-game editor that can be accessed. Please shut down your server before editing this file to avoid issues.

lang.yml: This file is where all the default configuration for the plugin messages is held, this does not include the messages that can be selected by the boss sections, and can be loaded in to the server once you are finished editing the file and save it via the command /boss reload.


Expand
titleDifference between Legacy and 1.13+?

Some of the files in the EpicBosses plugin are different depending on the version you run, so make sure you grab the correct one for your server.

The following files are different:

  • editor.yml
  • items.json

If you want to upgrade from 1.12 to 1.13, or vise versa, then these files will have to be regenerated!


Expand
titleHow to handle custom items?

To handle CustomItems from the CustomItems Panel you can do the following things:

  • Left/Shift-Left Click to obtain the Item in your Inventory
  • Right/Shift-Right Click to remove the item from the EpicBosses Item Database
  • Middle Click to duplicate the item in to another item in the Database


Expand
titleHow to setup custom skills?

To set up a custom skill and connect it in to the EpicBosses plugin you must do the following steps:

  1. Create a java file that extends CustomSkillHandler. Below is a description of each of the methods that it will give you when you extend this class.
    • doesUseMultiplier - This method is used to tell the plugin if this skill uses the default custom skill multiplier value.
    • getOtherSkillData - Returns a new element class that implements IOtherSkillDataElement if your custom skill has custom settings of it's own. Make sure that you add the Expose annotation from google gson infront of each field that is a data value so that the plugin knows which ones are the data values.
    • getOtherSkillDataActions - returns a list of buttons to add to the CustomSettings Panel under the skill in-game editing.
    • castSkill - Primary skill for each custom skill, which is used to cast the skill when the skill is called.
  2. Once you have fully set up your Custom Skill you then need to register it in to the plugin which can be done by using the method BossAPI.registerCustomSkill(yourCustomSkillHandler); and that is that is needed to add your own custom skills.

NOTE: Your class name is the name of the skill unless you Override the method getSkillNamein your CustomSkillHandler class. A good example of how to set up a custom skill is by looking at the pre-set custom skills, here is a link to one of them: https://gitlab.com/Songoda/EpicBosses/blob/master/plugin-modules/Core/src/com/songoda/epicbosses/skills/custom/Lightning.java


Expand
titleHow to disable debug messages in console

To disable debug messages in console, you can go in to the config.yml and set the debug setting to false.


Expand
titleWhat are the drop types?
  1. Spray: Releases the drop(s) in a big range.  Sprays them, literally. 
  2. Drop: Drops it where it dies or predefined location
  3. Give: Upon death, sends items directly into player(s) inventories.




Section




Still need help?

Couldn't find what you're looking for? Feel free to contact us on our Discord or Service Desk!