31 Commits

Author SHA1 Message Date
nossr50
364d4cd6e7 spring-cleaning, update all the dependencies 2024-05-19 13:48:25 -07:00
nossr50
291effdbc8 if( -> if ( 2024-05-12 14:13:34 -07:00
nossr50
78558107b3 WIP 1.20.6 support 2024-05-02 06:28:20 -07:00
Robert Alan Chapton
2594dc1bca
Endgame Update (#4840)
General
Added Crossbows Skill, this skill is a WIP and feedback on discord is appreciated.
Added Tridents Skill, this skill is a WIP and feedback on discord is appreciated.
Added the "endgame" triple drop subskill 'Mother Lode' to Mining
Added the "endgame" triple drop subskill 'Clean Cuts' to Woodcutting
Added the "endgame" triple drop subskill 'Verdant Bounty' to Herbalism
Added /mmopower command which simply shows your power level (aliases /mmopowerlevel /powerlevel)

Config
Added 'Send_To_Console' settings to chat.yml to toggle sending party or admin chat messages to console.
Replaced 'Experience_Formula.Modifier' in experience.yml with 'Experience_Formula.Skill_Multiplier' which is easier to understand and less prone to divide by zero bugs.
child.yml config is gone now, feel free to delete it.

Tweaks
Tree Feller now drops 90% less non-wood block rewards (leaves/etc) on average from Knock on Wood.
Treasure drop rate from Shake, Fishing, Hylian, and Excavation now benefit from the Luck perk.
Updated advanced.yml with entries for the new skills

Permission nodes
Added 'mcmmo.commands.mmopower' permission node for the new /mmopower command
Added 'mcmmo.commands.crossbows' permission node
Added 'mcmmo.ability.crossbows.crossbowslimitbreak' permission node
Added 'mcmmo.ability.crossbows.trickshot' permission node
Added 'mcmmo.ability.herbalism.verdantbounty' permission node
Added 'mcmmo.ability.mining.motherlode' permission node
Added 'mcmmo.ability.woodcutting.cleancuts' permission node

Locale
Added locale entries for motherlode, cleancuts, and verdant bounty.

Codebase
Major rewrite for how random chance was handled in the code.
Many skills with RNG elements now send out a SubSkillEvent (which can be used to modify probability or cancel the results), some skills without RNG still send out this event when activated, this event is cancellable so it can be used to make a skill fail.
A lot of new unit tests were added to help keep mcMMO stable as part of this update, of course, more could always be added.

NOTES:
One feature of this update is to provide an endgame benefits to some skills that you can grind for a long time, ideally for a long while. I will likely expand upon this idea in future updates.
A few skills have these endgame-oriented subskills, these new subskills provide a small benefit at first that grows and scales up to level 10,000 (or 1,000 for Standard mode which no one uses) and does not have ranks (other than the initial rank to unlock it).
These endgame sub skills unlock at level 1000 for users with default mcMMO settings, or 100 for those using the optional Standard scaling.
You can tweak the benefits of these skills in advanced.yml, the default settings are meant to be a good starting point.

Crossbows and Tridents are WIP skills, I would like feedback on discord about them.

More info on the new Triple Drop skills (Mother Lode, Clean Cuts, Verdant Bounty):
Currently these start at about 5%  chance and can reach a maximum 50% chance if a player acquired 10,000 skill, you can adjust this in advanced.yml
These skills respect double drop settings from config.yml just like the corresponding Double Drop skills do, if a double drop is disabled for an item, then it's disabled for triple drops too.
I added a new Power Level Command, for now this just shows you your current power level. If I ever add features based on power level, this command will likely display output related to those features.

Regarding Maces, I will likely add that as a WIP skill when the next Minecraft update drops.
2024-03-30 06:09:59 -07:00
nossr50
019d22d92a Make mcMMO quieter by moving most log messages to debug only 2023-06-19 16:26:30 -07:00
nossr50
cc1b511c02 Don't look up offline players by name 2023-06-17 15:56:36 -07:00
nossr50
5ab55c1653 mcMMO will no longer use the DamageModifier API (potentially fix immortal player bug) 2022-03-17 19:58:42 -07:00
nossr50
c21a040ddb Huge changes to how config files are loaded/updated, fixes many issues
Fixes #4715
2022-01-10 22:29:22 -08:00
nossr50
16f79b9fbc Locale override now uses a specific file instead of weird name matching 2021-04-16 13:50:41 -07:00
nossr50
04459f1ea7 Fix leaderboards & fix override locale bug
Fixes #4493 Fixes #4492
2021-04-16 09:55:44 -07:00
nossr50
48de5057a4 Fix another bug where usernames can be saved as null for FlatFileDB 2021-04-15 14:43:37 -07:00
nossr50
e42eeb1dc4 Fix FlatFile leaderboards not working in certain situations + added leaderboards unit test 2021-04-15 11:53:23 -07:00
nossr50
22b24b4774 JUnit 5 time 2021-04-13 17:25:56 -07:00
nossr50
d9e195f63a Add a newUser test 2021-04-13 15:22:21 -07:00
nossr50
e6239936d2 Add lastlogin tests 2021-04-13 13:40:24 -07:00
nossr50
f7339277f8 Add more tests, fix null name bug 2021-04-13 12:41:23 -07:00
nossr50
5b4af3f9ce Add loadFromFile test 2021-04-12 16:59:35 -07:00
nossr50
85f3221a60 FlatFileDataProcessor will handle fixing and repairing the data 2021-04-12 12:55:31 -07:00
nossr50
aca1d6c0b1 Add test to find duplicate names - FlatFileDatabaseManagerTest 2021-04-12 09:02:50 -07:00
nossr50
834ccc946a FlatFileDatabaseManager refactor + adding tests part 1 2021-04-09 16:45:58 -07:00
nossr50
eec5feb2bf PrimarySkillType refactor and other refactors 2021-04-08 13:21:34 -07:00
nossr50
5080d86e44 Refactoring code part 1 to prep for adding a bunch of unit tests 2021-04-08 10:39:07 -07:00
nossr50
eea922c31f TODO: Look into double drops for berry bushes 2021-03-25 14:08:22 -07:00
nossr50
75db0af01d More console spam reduction for database operations 2021-03-12 16:37:21 -08:00
nossr50
4a048b47cb Refactor DB code a bit and fix console spam when using the Plan plugin
Fixes #4450
2021-03-12 16:25:14 -08:00
nossr50
0979ef555b More tweaks to data recovery messages 2021-03-11 14:59:11 -08:00
nossr50
91204262f5 More tweaks to handling corrupt data for flat file 2021-03-11 14:48:21 -08:00
nossr50
eb1e657af1 Simplify data validation + listen to exceptions again 2021-03-11 14:10:29 -08:00
nossr50
2203d61c10 More safety against corrupt data when loading data for FlatFile 2021-03-11 13:11:11 -08:00
nossr50
d77c8c88a3 Less spammy corrupt data reporting 2021-03-11 12:16:33 -08:00
nossr50
7755875dbf Some refactoring of FlatFileDatabaseManager 2021-03-11 12:02:21 -08:00