Description and Installation

Finding Minecraft too easy? Want more challenge? Look no further! EpicBosses allows you to create bosses, mobs with different stats than their regular counterpart. You can change the health, damage, speed, etc. of the bosses to make it as hard as you prefer. Even custom skills are a possibility!

Download EpicBosses on our Marketplace. Make sure to select the correct download for your server version.

Stop your server, drag and drop EpicBosses.jar in your plugins folder and restart the server. The plugin should now be loaded and the files should have been created.

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

Features

  • Custom Bosses: You are able to customise every boss completely.
  • Custom Skills - You are able to create your own skills for every boss.
  • Rewards: Customize what each boss drops as a reward for slaying them!
  • GUI Editor: Customise  90% of the plugin through a easy to use GUI system.
  • Auto Spawning: Customise where bosses spawn in the world and whether or not they automatically spawn randomly.

Supported Plugins

  • EssentialsX
  • CMI
  • UltimateStacker

 IMPORTANT: 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.

Mob 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 directly into player(s) inventories.

Commands + Permissions

 Click here to 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 it's 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.

Plugin files

config.yml
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}'

Important file info and Frequently asked questions

 YAML Files

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.

 Difference between legacy and 1.13.2

As we have multiple versions of EpicBosses it's important to state that some files are different in the legacy and 1.13 version of the plugin.

The following files are different:

  • editor.yml
  • items.json

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

 How 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
 How 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

 How to disable debug messages in console

To disable debug messages in console you can go in to the config.yml and then set this setting to false and then reload the server with /boss reload

Still need help?

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

Plugin tutorial

Coming soon!

  • No labels