Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added Scale Feature for Mobs with Levels #11

Merged
merged 8 commits into from
Sep 21, 2024
Merged

Conversation

Fly1337
Copy link
Contributor

@Fly1337 Fly1337 commented Sep 21, 2024

In this PR, I added the requested feature in #9 . Mobs can now have different sizes based on two valid entries:

50-100: chance: 0.5 scale: 1-2
This allows mobs between the levels 50-100 to have a 50% of being between the sizes 1 and 2. The other option is:

10-100: chance: 1.0 scale: 1, 2, 3
This allows mobs between the levels 1-100 to have the sizes 1, 2 or 3.

For the code, the functionality is handled over a new class called ScaleUtil that has a method to load the config and also apply the scale. With this, the config can easily be reloaded by the reload command and API-Access for applying the scale is also given. The class also holds a private inner class called ScaleEntry that holds all values.

Further, all entries are stored in a LinkedList, so they are stored on a linear basis which allows later entries to perhaps override entities with a smaller chance to a different size.

As discussed on Discord, the PR also contains the change for the PlaceholderAPI repo.

Lmk if there is something change

I also append screenshots of blazes using the feature as well as a spider once which naturally spawned
image
image

PS: Yes, I've messed up a commit due to debug outputs

Copy link
Owner

@Archy-X Archy-X left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For consistency in code style and to follow best practice, I've made comments mostly about removing static fields and methods.

src/main/java/dev/aurelium/auramobs/util/ScaleUtil.java Outdated Show resolved Hide resolved
src/main/java/dev/aurelium/auramobs/util/ScaleUtil.java Outdated Show resolved Hide resolved
src/main/java/dev/aurelium/auramobs/AuraMobs.java Outdated Show resolved Hide resolved
src/main/java/dev/aurelium/auramobs/util/ScaleUtil.java Outdated Show resolved Hide resolved
src/main/java/dev/aurelium/auramobs/util/ScaleUtil.java Outdated Show resolved Hide resolved
src/main/java/dev/aurelium/auramobs/util/ScaleUtil.java Outdated Show resolved Hide resolved
src/main/java/dev/aurelium/auramobs/util/ScaleUtil.java Outdated Show resolved Hide resolved
src/main/java/dev/aurelium/auramobs/util/ScaleUtil.java Outdated Show resolved Hide resolved
@Archy-X Archy-X merged commit 49a73bd into Archy-X:main Sep 21, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants