Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
415 commits
Select commit Hold shift + click to select a range
b5951c3
Update README.md
MagmaGuy Dec 16, 2020
9882d98
Version 7.2.14
Dec 18, 2020
3323da6
Merge remote-tracking branch 'origin/master'
Dec 18, 2020
e4e40c4
Version 7.2.17
Jan 1, 2021
6f72e5a
Version 7.2.18
Jan 4, 2021
7f5f242
Version 7.2.19
Jan 4, 2021
4407438
Version 7.2.20
Jan 5, 2021
7467065
Version 7.2.22
Jan 16, 2021
358476e
Version 7.2.23
Jan 26, 2021
d22dbfa
Version 7.2.24
Jan 27, 2021
f7bd316
Version 7.2.25
Jan 30, 2021
02eb977
Version 7.2.26
Jan 31, 2021
c4ab50e
Version 7.2.27
Feb 1, 2021
d6c8f8f
Version 7.2.27
Feb 1, 2021
7c27dc0
Version 7.2.28
Feb 1, 2021
7457e5b
Version 7.2.29
Feb 1, 2021
f6e6ac9
Version 7.2.30
Feb 1, 2021
f779c7c
Version 7.2.31
Feb 2, 2021
545ec7a
Version 7.2.32
Feb 2, 2021
25ea3c3
Version 7.2.33
Feb 3, 2021
dcf840f
EliteMobs 7.2.34
Feb 8, 2021
8a4a588
EliteMobs 7.2.35
Feb 9, 2021
75ade02
EliteMobs 7.2.36
Feb 14, 2021
f45f589
EliteMobs 7.2.37
Feb 15, 2021
7fcaa46
EliteMobs 7.2.38
Feb 21, 2021
8ae063d
EliteMobs 7.2.39
Feb 23, 2021
d729a8c
EliteMobs 7.2.40-SNAPSHOT-1
Feb 24, 2021
fc4f19c
EliteMobs 7.2.40-SNAPSHOT-1
Feb 24, 2021
bfae01d
EliteMobs 7.2.40-SNAPSHOT-2
Feb 26, 2021
a1d80e0
EliteMobs 7.2.41
Feb 28, 2021
adaba3e
EliteMobs 7.3.0-SNAPSHOT-1
Feb 28, 2021
84b789f
EliteMobs 7.3.0-SNAPSHOT-2
Mar 28, 2021
4a5cc4f
EliteMobs 7.3.0-SNAPSHOT-3
Mar 28, 2021
c329a65
EliteMobs 7.3.0-SNAPSHOT-
Mar 29, 2021
f5fd556
EliteMobs 7.3.0-SNAPSHOT-5
Mar 31, 2021
c81ff15
EliteMobs 7.3.0-SNAPSHOT-6
Mar 31, 2021
f1cc450
EliteMobs 7.3.0-SNAPSHOT-7
Apr 9, 2021
62ba4f9
EliteMobs 7.3.0-SNAPSHOT-8
Apr 10, 2021
d171be0
EliteMobs 7.3.0-SNAPSHOT-9
Apr 19, 2021
cef2d14
EliteMobs 7.3.0-SNAPSHOT-9
Apr 28, 2021
0ea28da
EliteMobs 7.3.1-SNAPSHOT-1
May 25, 2021
05edb7e
EliteMobs 7.3.1-SNAPSHOT-2
May 26, 2021
8dc608c
EliteMobs 7.3.1-SNAPSHOT-4
Jun 9, 2021
b53d545
EliteMobs 7.3.1-SNAPSHOT-5
Jun 12, 2021
9f017e8
EliteMobs 7.3.1-SNAPSHOT-6
Jun 15, 2021
5b5e88b
EliteMobs 7.3.1-SNAPSHOT-7
Jun 16, 2021
e873307
EliteMobs 7.3.1-SNAPSHOT-8
Jun 17, 2021
3677dca
EliteMobs 7.3.3
Jun 30, 2021
b439ea4
EliteMobs 7.3.4-SNAPSHOT-1
Jun 30, 2021
ca343d3
EliteMobs 7.3.4-SNAPSHOT-2
Jul 4, 2021
91fe7d0
EliteMobs 7.3.4-SNAPSHOT-3
Jul 12, 2021
63dd456
EliteMobs 7.3.4-SNAPSHOT-4
Jul 16, 2021
63df08a
EliteMobs 7.3.5-SNAPSHOT-1
Aug 2, 2021
3c0aad2
EliteMobs 7.3.5-SNAPSHOT-2
Aug 3, 2021
1ace092
EliteMobs 7.3.5-SNAPSHOT-3
Aug 3, 2021
13902ae
EliteMobs 7.3.5-SNAPSHOT-4
Aug 3, 2021
7b8b0aa
EliteMobs 7.3.5-SNAPSHOT-5
Aug 4, 2021
99fc219
EliteMobs 7.3.5-SNAPSHOT-7
Aug 4, 2021
500b548
EliteMobs 7.3.5-SNAPSHOT-8
Aug 6, 2021
bf515b1
EliteMobs 7.3.5-SNAPSHOT-9
Aug 7, 2021
139e2d3
EliteMobs 7.3.5-SNAPSHOT-11
Aug 9, 2021
72d6da7
EliteMobs 7.3.5-SNAPSHOT-12
Aug 9, 2021
5e15110
EliteMobs 7.3.5-SNAPSHOT-13
Aug 12, 2021
d6f3960
EliteMobs 7.3.5-SNAPSHOT-14
Aug 13, 2021
1f9743c
EliteMobs 7.3.5-SNAPSHOT-15
Aug 17, 2021
a1f9a79
EliteMobs 7.3.5-SNAPSHOT-16
Aug 20, 2021
72414f4
EliteMobs 7.3.5-SNAPSHOT-18
Aug 24, 2021
a02b0b6
EliteMobs 7.3.5-SNAPSHOT-17
Aug 25, 2021
fbe5a4d
EliteMobs 7.3.5-SNAPSHOT-20
Aug 26, 2021
8b79b7d
Version 7.3.5-SNAPSHOT-1
Aug 31, 2021
bf55eb6
EliteMobs 7.3.6-SNAPSHOT-1
Sep 4, 2021
8a31abc
EliteMobs 7.3.6-SNAPSHOT-2
Sep 5, 2021
a9ac850
EliteMobs 7.3.7
Sep 5, 2021
1a17948
EliteMobs 7.3.8-SNAPSHOT-1
Sep 11, 2021
f545e54
EliteMobs 7.3.8-SNAPSHOT-2
Sep 15, 2021
02d53b2
EliteMobs 7.3.8-SNAPSHOT-4
Sep 21, 2021
0b48173
EliteMobs 7.3.8-SNAPSHOT-5
Sep 22, 2021
a042f6d
EliteMobs 7.3.8
Sep 24, 2021
b7f11b3
EliteMobs 7.3.9-SNAPSHOT-1
Oct 4, 2021
46c56f7
EliteMobs 7.3.9-SNAPSHOT-2
Oct 7, 2021
3242cf1
EliteMobs 7.3.9-SNAPSHOT-3
Oct 10, 2021
1775c83
EliteMobs 7.3.9-SNAPSHOT-5
Oct 25, 2021
0ba0734
EliteMobs 7.3.9-SNAPSHOT-5
Oct 26, 2021
7f35ed9
EliteMobs 7.3.9-SNAPSHOT-6
Oct 29, 2021
6ba6665
EliteMobs 7.3.9-SNAPSHOT-7
Oct 31, 2021
d972c17
EliteMobs 7.3.10-SNAPSHOT-1
Nov 6, 2021
7107d63
EliteMobs 7.3.10-SNAPSHOT-2
Nov 9, 2021
3237775
EliteMobs 7.3.10-SNAPSHOT-3
Nov 17, 2021
9957ef9
EliteMobs 7.3.10-SNAPSHOT-4
Nov 23, 2021
c33955c
EliteMobs 7.3.10-SNAPSHOT-5
Nov 24, 2021
b2f6f96
EliteMobs 7.3.10-SNAPSHOT-6
Nov 30, 2021
3bfb68e
EliteMobs 7.3.11-SNAPSHOT-1
Dec 5, 2021
4a611b5
EliteMobs 7.3.11-SNAPSHOT-2
Dec 5, 2021
17b8d71
EliteMobs 7.3.11-SNAPSHOT-3
Dec 6, 2021
5befffc
EliteMobs 7.3.11-SNAPSHOT-4
Dec 18, 2021
13de4fb
EliteMobs 7.3.11-SNAPSHOT-5
Dec 19, 2021
e82aa3f
EliteMobs 7.3.11-SNAPSHOT-6
Dec 22, 2021
e1b756d
EliteMobs 7.3.12-SNAPSHOT-1
Dec 25, 2021
a2a225a
EliteMobs 7.3.12-SNAPSHOT-2
Dec 27, 2021
a9c87dc
EliteMobs 7.3.12-SNAPSHOT-3
Dec 28, 2021
de48aee
EliteMobs 7.3.12-SNAPSHOT-4
Dec 29, 2021
c713efa
EliteMobs 7.3.12-SNAPSHOT-5
Dec 30, 2021
4231110
EliteMobs 7.3.12-SNAPSHOT-6
Dec 31, 2021
1d1e20f
EliteMobs 7.3.12-SNAPSHOT-6
Jan 1, 2022
ca9f601
EliteMobs 7.3.12-SNAPSHOT-8
Jan 8, 2022
265eaed
EliteMobs 7.3.12-SNAPSHOT-8
Jan 10, 2022
e4c7c2f
EliteMobs 7.3.12-SNAPSHOT-10
Jan 10, 2022
64919c4
EliteMobs 7.3.12-SNAPSHOT-12
Jan 12, 2022
af7236b
EliteMobs 7.3.12-SNAPSHOT-12
Jan 13, 2022
32ceee6
EliteMobs 7.3.12-SNAPSHOT-13
Jan 15, 2022
aa87348
EliteMobs 7.3.12-SNAPSHOT-14
Jan 20, 2022
e5f5765
EliteMobs 7.3.12-SNAPSHOT-15
Jan 25, 2022
3a20af1
EliteMobs 7.3.12-SNAPSHOT-16
Jan 27, 2022
d01a519
EliteMobs 7.3.12
Jan 28, 2022
3f64c19
EliteMobs 7.3.13-SNAPSHOT-1
Feb 12, 2022
ea342b6
EliteMobs 7.3.13-SNAPSHOT-2
Feb 22, 2022
f6c953d
EliteMobs 7.3.13
Feb 24, 2022
9c36057
EliteMobs 7.3.14-SNAPSHOT-1
Feb 26, 2022
b38bcab
EliteMobs 7.3.14-SNAPSHOT-2
Mar 11, 2022
5e48461
EliteMobs 7.3.14-SNAPSHOT-3
Mar 20, 2022
7d4947f
EliteMobs 7.3.14-SNAPSHOT-4
Mar 23, 2022
2d7cc33
EliteMobs 7.3.14-SNAPSHOT-4
Mar 28, 2022
37d06bc
EliteMobs 7.3.14-SNAPSHOT-6
Mar 31, 2022
c65b54c
EliteMobs 7.3.14-SNAPSHOT-6
Apr 3, 2022
248a942
EliteMobs 7.3.14-SNAPSHOT-8
Apr 9, 2022
e40fdbe
EliteMobs 7.3.14-SNAPSHOT-9
Apr 14, 2022
f442bf4
EliteMobs 7.3.14
Apr 23, 2022
27ba6e5
EliteMobs 7.3.14-SNAPSHOT-1
May 1, 2022
cf41bad
EliteMobs 7.3.15-SNAPSHOT-2
May 3, 2022
6040e0d
EliteMobs 7.3.15-SNAPSHOT-3
May 8, 2022
384ad3a
EliteMobs 7.3.15-SNAPSHOT-5
Jun 1, 2022
4bd1f15
EliteMobs 7.3.15
Jun 6, 2022
8f7481f
EliteMobs 7.3.16
Jun 8, 2022
c2f5381
EliteMobs 7.3.17-SNAPSHOT-1
Jun 9, 2022
319b2c5
EliteMobs 7.3.17-SNAPSHOT-2
Jun 9, 2022
55aec33
EliteMobs 7.3.17-SNAPSHOT-3
Jun 10, 2022
441bac4
EliteMobs 7.3.17-SNAPSHOT-4
Jun 10, 2022
24cf0e8
EliteMobs 7.3.17-SNAPSHOT-5
Jun 15, 2022
dd3c509
EliteMobs 7.3.17-SNAPSHOT-6
Jun 21, 2022
9b63111
EliteMobs 7.3.17-SNAPSHOT-7
Jun 22, 2022
6693c20
EliteMobs 7.3.17-SNAPSHOT-8
Jun 25, 2022
8d2c214
EliteMobs 7.3.17-SNAPSHOT-8
Jun 25, 2022
8b904d0
EliteMobs 7.3.17-SNAPSHOT-9
Jun 26, 2022
a334996
EliteMobs 7.3.17-SNAPSHOT-10
Jul 1, 2022
272d7b1
EliteMobs 7.3.17
Jul 1, 2022
f3c5e50
EliteMobs 7.3.18-SNAPSHOT-1
Jul 11, 2022
292578f
EliteMobs 7.3.18-SNAPSHOT-2
Jul 16, 2022
b24adbc
EliteMobs 8.0.0-SNAPSHOT-1
Aug 7, 2022
361edf8
EliteMobs 8.0.0-SNAPSHOT-2
Aug 8, 2022
4a05e8f
EliteMobs 8.0.0-SNAPSHOT-3
Aug 9, 2022
d4cd954
EliteMobs 8.0.0-SNAPSHOT-4
Aug 11, 2022
b278032
EliteMobs 8.0.0-SNAPSHOT-5
Aug 14, 2022
47d890c
EliteMobs 8.0.0-SNAPSHOT-6
Aug 18, 2022
67d1982
EliteMobs 8.0.0-SNAPSHOT-7
Aug 18, 2022
6b6db4e
EliteMobs 8.0.0-SNAPSHOT-8
Aug 19, 2022
4464a34
EliteMobs 8.0.0-SNAPSHOT-9
Aug 19, 2022
3adc1f4
EliteMobs 8.0.0-SNAPSHOT-10
Aug 20, 2022
cff95fe
EliteMobs 8.0.0-SNAPSHOT-11
Aug 22, 2022
5a5eedd
EliteMobs 8.0.0-SNAPSHOT-12
Aug 22, 2022
a896cd9
EliteMobs 8.0.0-SNAPSHOT-13
Aug 22, 2022
c802fba
EliteMobs 8.0.0-SNAPSHOT-14
Aug 23, 2022
67f4144
EliteMobs 8.0.1
Aug 24, 2022
c303ecc
EliteMobs 8.0.2
Aug 25, 2022
6b0c244
EliteMobs 8.0.3
Aug 30, 2022
346cb02
EliteMobs 8.0.4
Sep 7, 2022
7e14f12
EliteMobs 8.0.4
Sep 8, 2022
1bf3e7b
Update README.md
MagmaGuy Sep 8, 2022
f7db70f
Update README.md
MagmaGuy Sep 8, 2022
7af4934
EliteMobs 8.0.5
Sep 11, 2022
e6fabd3
Merge remote-tracking branch 'origin/master'
Sep 11, 2022
2d6a96c
EliteMobs 8.1.0
Sep 15, 2022
d82f84d
EliteMobs 8.1.1
Sep 18, 2022
726ee2c
EliteMobs 8.2.0-SNAPSHOT-1
Sep 22, 2022
b2d22bc
EliteMobs 8.2.0-SNAPSHOT-2
Sep 26, 2022
f2891ef
EliteMobs 8.2.0-SNAPSHOT-3
Sep 27, 2022
002d336
EliteMobs 8.2.0-SNAPSHOT-4
Oct 2, 2022
c87017d
EliteMobs 8.2.0-SNAPSHOT-5
Oct 3, 2022
6c2309f
EliteMobs 8.2.1
Oct 4, 2022
bff649a
EliteMobs 8.2.2
Oct 7, 2022
8c1106b
EliteMobs 8.2.4
Oct 9, 2022
7e2dddf
EliteMobs 8.2.5
Oct 16, 2022
06e03cf
EliteMobs 8.2.6
Oct 24, 2022
4fcb4ff
EliteMobs 8.2.7
Nov 6, 2022
92353a5
EliteMobs 8.3.1
Nov 19, 2022
3da0d1c
EliteMobs 8.3.4
Dec 1, 2022
218648d
EliteMobs 8.3.4
Dec 6, 2022
f9d0334
EliteMobs 8.3.5
Dec 31, 2022
fc329c4
EliteMobs 8.3.6
Jan 1, 2023
04bae83
EliteMobs 8.3.7
Jan 4, 2023
921e929
EliteMobs 8.3.8
Jan 8, 2023
d85b212
EliteMobs 8.3.9
Jan 8, 2023
1d25872
EliteMobs 8.3.9
Jan 14, 2023
1beae6f
EliteMobs 8.3.10
Jan 19, 2023
6277a3c
EliteMobs 8.3.11
Jan 22, 2023
3bc7c1b
EliteMobs 8.3.12
Jan 27, 2023
beaf414
EliteMobs 8.3.12
Jan 29, 2023
d8aedab
EliteMobs 8.4.0-SNAPSHOT-1
Feb 17, 2023
b4b2c8e
EliteMobs 8.4.0-SNAPSHOT-2
Feb 26, 2023
1b8b071
EliteMobs 8.4.0-SNAPSHOT-3
Mar 5, 2023
39b8f66
EliteMobs 8.4.0-SNAPSHOT-4
Mar 5, 2023
dbf2339
EliteMobs 8.4.0-SNAPSHOT-5
Mar 5, 2023
f868fa1
EliteMobs 8.4.1
Mar 6, 2023
db49f5d
EliteMobs 8.4.2
Mar 9, 2023
eec311c
EliteMobs 8.4.3
Mar 13, 2023
a00f1b3
EliteMobs 8.4.3-SNAPSHOT-2
Mar 16, 2023
d2d27a2
EliteMobs 8.4.3-SNAPSHOT-3
Mar 17, 2023
6020522
EliteMobs 8.4.3-SNAPSHOT-4
Mar 18, 2023
769b9c2
EliteMobs 8.4.3-SNAPSHOT-5
Mar 19, 2023
e0bb928
EliteMobs 8.4.3-SNAPSHOT-5
Mar 19, 2023
965c0e6
EliteMobs 8.4.3
Mar 19, 2023
e20be47
EliteMobs 8.4.4
Mar 20, 2023
05e08d4
EliteMobs 8.4.6
Mar 23, 2023
8eeff1d
EliteMobs 8.4.5-SNAPSHOT-2
Mar 28, 2023
0dabde1
EliteMobs 8.4.5-SNAPSHOT-3
Mar 31, 2023
a9d4537
EliteMobs 8.4.5-SNAPSHOT-4
Apr 2, 2023
b6a68c4
EliteMobs 8.4.5-SNAPSHOT-5
Apr 8, 2023
6ed587d
EliteMobs 8.4.5-SNAPSHOT-6
Apr 13, 2023
b497d5e
EliteMobs 8.4.5-SNAPSHOT-7
Apr 18, 2023
4010753
EliteMobs 8.4.5-SNAPSHOT-7
Apr 18, 2023
621182a
EliteMobs 8.5.1-SNAPSHOT-1
Apr 20, 2023
57b66c7
EliteMobs 8.5.2
Apr 27, 2023
fceb09e
EliteMobs 8.5.3
Apr 28, 2023
aae4a56
EliteMobs 8.5.4
May 9, 2023
02aedfd
EliteMobs 8.6.0-SNAPSHOT-1
Aug 3, 2023
9ee7d59
- [New] Added minimum damage threshold contribution for arena rewards
invalid-email-address Aug 6, 2023
1919685
EliteMobs 8.6.0-SNAPSHOT-1
Aug 8, 2023
b312c02
- Cleared debug messages
Aug 8, 2023
24e76dd
EliteMobs 8.6.0-SNAPSHOT-2
Aug 21, 2023
0050c0c
EliteMobs 8.6.0
Aug 21, 2023
39d1b2a
EliteMobs 8.6.1-SNAPSHOT-1
Aug 29, 2023
fca3173
EliteMobs 8.6.1-SNAPSHOT-2
Sep 11, 2023
ee16090
EliteMobs 8.6.1-SNAPSHOT-3
Sep 11, 2023
7a9b7bf
EliteMobs 8.6.1-SNAPSHOT-4
Sep 14, 2023
8f0ad6f
EliteMobs 8.6.1
Sep 14, 2023
beb9328
EliteMobs 8.6.2
Oct 8, 2023
3cc1e5f
EliteMobs 8.7.0
Nov 27, 2023
20dea14
EliteMobs 8.7.1 changelog:
Dec 12, 2023
4b1c93a
EliteMobs 8.7.2 changelog:
Jan 2, 2024
b203047
EliteMobs 8.7.3 changelog:
Jan 8, 2024
6634fde
EliteMobs 8.7.4 changelog:
Jan 18, 2024
c4af3ac
EliteMobs 8.7.5 changelog:
Jan 21, 2024
7beabc1
Update EliteMobs to 8.7.5 with new features and fixes
Feb 9, 2024
19f8d12
Add Match events and interfaces for player instances
invalid-email-address Feb 11, 2024
a721801
- Removed now unused settings from antiexploit
Feb 17, 2024
c08e95b
- Optimized player scanning
Mar 17, 2024
fc33607
EliteMobs 8.7.7
Mar 20, 2024
2afd74d
EliteMobs 8.7.8
Apr 13, 2024
c59385d
EliteMobs 8.7.9
Apr 22, 2024
15972c5
EliteMobs 8.7.10
Apr 23, 2024
ad11c24
Update Simplified Chinese translation.
QwQ-dev May 24, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
/.idea/
/.gradle/
/testbed/
/build/
gradle.properties
13 changes: 0 additions & 13 deletions .idea/libraries/Maven__org_bukkit_bukkit_1_12_2_R0_1_SNAPSHOT.xml

This file was deleted.

This file was deleted.

13 changes: 0 additions & 13 deletions .idea/libraries/Maven__org_yaml_snakeyaml_1_19.xml

This file was deleted.

674 changes: 674 additions & 0 deletions LICENSE

Large diffs are not rendered by default.

318 changes: 311 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,317 @@
# EliteMobs
[![Crowdin](https://badges.crowdin.net/elitemobs/localized.svg)](https://crowdin.com/project/elitemobs)

This is the GitHub project for the Minecraft plugin EliteMobs (Spigot page can be seen here: https://www.spigotmc.org/resources/elitemobs.40090/)
[![BStats](https://bstats.org/signatures/bukkit/EliteMobs.svg)](https://bstats.org/plugin/bukkit/EliteMobs/1081)

Feel free to check the source code and do any edits you might deem necessary for your own servers.
EliteMobs is a Spigot plugin focused around the creation of bosses. It also adds several other features, such as quests,
arenas, items, an extension to in-game progression and dungeons, to name a few.

At this time, I am not interested in accepting contributions to the code. This is my first project of this dimension, and I'd like to have all components of it be written by me.
Feature and configuration documentation: https://github.com/MagmaGuy/EliteMobs/wiki

That being said, I am deeply interested in any suggestions, be they for improving existing features or creating new ones.
Discord support channel: https://discord.gg/QSA2wgh

# There's a wiki, it has a few entries, if you want more info maybe try reading it.
Webapp where you can create content: https://magmaguy.com/webapp/webapp.html

# //TODO: add description of features and how they work, some day, maybe
# Dev notes:

## Repository

---

Maven repository:

Maven:
```
<repository>
<id>elitemobs-repo/id>
<url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
</repository>

<dependency>
<groupId>com.magmaguy</groupId>
<artifactId>EliteMobs</artifactId>
<version>8.7.4-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
```

Gradle:
```kotlin
repositories {
//EliteMobs
maven { url = 'https://s01.oss.sonatype.org/content/repositories/snapshots' }
}

dependencies{
//EliteMobs
compileOnly group: 'com.magmaguy', name: 'EliteMobs', version: '8.7.4-SNAPSHOT'
}

```

---

## Important classes

The following is a list of key classes for the plugin:

### EliteItemManager:

`com.magmaguy.elitemobs.api.utils.EliteItemManager`

This class is specifically made to be the easiest way to interface with Elite Items.

### EliteEntity, CustomBossEntity, RegionalBossEntity

These are the key classes for the boss system. RegionalBossEntity extends CustomBossEntity which extends EliteEntity.

### EntityTracker

This is used to check if an entity is from EliteMobs and to get the specific instance of that entity.

---

`Note: This documentation is updated as requested. If you feel like it is incomplete and should further expand on some aspects, request it and it will be updated.`

---

## API Events

EliteMobs has a few basic APIs to interface with in the `com.magmaguy.elitemobs.api` package. Here's the breakdown:

### ArenaCompleteEvent

Fires when an arena is successfully beaten by players.

### CustomEventStartEvent

Fires when a Custom Event starts. Note that in this instance Custom Events refers to the mechanic in which bosses
randomly spawn in the Overworld.

- Can be cancelled

### DungeonInstallEvent

Fires when a dungeon is installed by an admin.

- Can be cancelled

### DungeonUninstallEvent

Fires when a dungeon is uninstalled by an admin.

- Can be cancelled

### EliteExplosionEvent

Fires when an Elite Explosion happens. Note that elite explosions have a custom visual effect and regenerate the damage
done to terrain after 2 minutes.

- Can be cancelled

### EliteMobDamagedByEliteMobEvent

Used for listening to moments when one Elite damages another Elite. Uses:

- Same as Bukkit's EntityDamagedByEntity event but for elites specifically
- Cancelling it might not work. Report if it doesn't.

### EliteMobDamagedByPlayerAntiExploitEvent

Used for listening to events which trigger an antiexploit **check** - doesn't necessarily mean that it detected an
exploit. Uses:

- Same as Bukkit's EntityDamagedByEntity event but for elites specifically
- Can be cancelled

### EliteMobDamagedByPlayerEvent:

Used for listening to moments when a player damages an Elite. Uses:

- Same as Bukkit's EntityDamagedByEntity event but for players damaging elites specifically
- ***Important:*** can't be cancelled as it only fires after applying the damage

### EliteMobDamagedEvent:

Used for listening to moments when an elite is damaged in general. Uses:

- Same as Bukkit's EntityDamageEvent
- ***Important*** Cancelling this event might not 100% work, report if it doesn't

### EliteMobDeathEvent:

Used to listening to moments when an elite is killed. Uses:

- Same as Bukkit's EntityDeathEvent.

### EliteMobEnterCombatEvent:

Used for listening to moments when an elite enters combat against a player. Note that bosses only enter combat after
either striking a player or being struck, and not at the moment of targetting. Uses:

- Get the target (player only) of the Elite
- Get the elite which entered in combat

### EliteMobExitCombatEvent:

Used for listening to moments when an elite leaves combat against a player. Uses:

- Get the elite which just let combat.

### EliteMobHealEvent:

Used when an elite gets healed.

- Can be cancelled.

### EliteMobRemoveEvent:

Used when an elite mob gets removed. Please note that not all removals are permanent as bosses can be removed because
the chunks unload while still being persistent.

### EliteMobsItemDetector: //todo: remove

Used for detecting whether an ItemStack is an EliteMobs ItemStack (like a custom item or a procedurally generated item).
Uses:

- Detect if an ItemStack is an EliteMobs custom or dynamic item.

### EliteMobSpawnEvent:

Used for detecting when an Elite spawns. Uses:

- Detect when an Elite spawns.
- Detect which Elite spawned.

### EliteMobTargetPlayerEvent:

Used for detecting when an Elite has targetted a player. Uses:

- Detect when an Elite targets a player.
- Cancel an Elite's detection of a player.

### GenericAntiExploitEvent:

Used for listening to moments when the antiexploit runs a check but no players damaged it. Uses:

- Detect when the antiexploit is doing a non-player based exploit check.
- Cancel an antiexploit check.

### NPCEntityRemoveEvent:

Used when an npc gets removed. This removal may not be permanent, as it might just be a chunk unload.

### NPCEntitySpawnEvent:

Used when an npc gets spawned.

### PlayerDamagedByEliteMobEvent:

Used for listening to moments when players are damaged by an Elite. Uses:

- Same as Bukkit's EntityDamageEvent.

### PlayerPreTeleportEvent:

Used when a player starts teleporting through EliteMobs features. There is a 3 second timer before the teleportation
actually happens.

- Can be cancelled.

### PlayerTeleportEvent:

Used when a player actually teleports through EliteMobs features.

- Can be cancelled.

### QuestAcceptEvent:

Used when a player accepts a quest.

- Can be cancelled.

### QuestCompleteEvent:

Used when a player completes a quest.

- Can be cancelled.

### QuestLeaveEvent:

Used when a player leaves a quest.

### QuestObjectivesCompletedEvent:

Used when all quest objectives for a quest are completed.

### QuestProgressionEvent:

Used when a player progresses in a quest, such as by killing a quest mob or collecting a quest item.

### QuestRewardEvent:

Used when a player gets the reward from a quest.

### SuperMobDamageEvent:

Used when a Super Mob gets damaged.

- Can be cancelled.

### SuperMobDeathEvent:

Used when a Super Mob dies.

### SuperMobRemoveEvent:

Used when a Super Mob gets removed. Note that removals might be temporary due to chunk unloads.

### SuperMobSpawnEvent:

Used when a Super Mob spawns.

- Can be cancelled.

---

## To add new item enchantments:

1) Add new enchantment class to the `com.magmaguy.elitemobs.config.enchantments.premade` **
extending** `EnchantmentsConfigFields` to initialize create its config file (naming convention: [EnchantmentName]
Config)
2) Initialize enchantment in `CustomEnchantment` to initialize the config file
3) Add enchantment class to `com.magmaguy.elitemobs.items.customenchantments` **extending** `CustomEnchantment` to write
the logic for the enchantment (naming convention [EnchantmentName]Enchantment)
4) Add a public static String called "key" to register using the ItemTagger class for persistent enchantment tracking
5) Add an entry to the parseEnchantments() method in `CustomItem` so custom items detect it correctly
6) (Alternative) Add an entry to `generateCustomEnchantments()` method in `EnchantmentGenerator` if the enchantment
should appear in procedurally generated items

Note:

- Don't forget to register events in `EventsRegistrer` if the part with logic in it requires events.
- Don't forget to use the damage bypass if the power is supposed to deal custom damage. Damage dealt by the player to an
elite can be overwritten in `CombatSystem` through the static "bypass" boolean field - it makes the next damage dealt
to the elite use the raw damage value. For correctly assigning damage, use
Bukkit's `Damageable#damage(double amount, Entity source)` and assign the source to your player.

## To add new powers to elites:

to be documented

## To add new events:

to be documented

## To add new default NPCs:

to be documented

## To add new mob types:

to be documented

## Special thanks:

Special Thanks to Illusion for spending a few hours proselytizing enums that are also have anonymous method
implementations on their constructor.

Loading